prev
Issue 100
2nd March 2008
by Danny Allen
next


This Week...
Work on WebKit integration, the ability to access Plasma data engines in Plasmoids rendered through WebKit, and a HDDtemp daemon data engine are added to Plasma, plus work on Plasmoid packaging and KRunner. Items can now be dragged from the Kickoff menu to the desktop or the panel. More work on syncing Akregator with online reader services. A GUI for declinations in Parley. Support for DGML tags in Marble. Genuine progress in the KTankBattle game. General improvements and the removal of the Helix engine in Amarok 2. A visual redesign of the KGet "Web Interface", with added translation capabilities. Continued work on KPresenter slide transitions, and KCron. Work on importing and exporting shortcut configurations in KControl. The "three stars per character" password mode returns to KDE 4 (from the KDE 3 series). Various speed optimisations across KDE applications. Ligature moves to "unmaintained" status. KDE 4.0.2 is tagged for release.

Nikolaj Hald Nielsen reports on recent work on Amarok 2 (with the upcoming approach of the first Alpha):
Its been little while since I wrote a nice long update about the state of Amarok 2, and we have been getting a few complaints that there is not enough ews being posted, so I will try to remedy that here. And I have a nice pile of screenshots ready for you! :-)

First up though, we have decided to put a feature freeze in effect starting at the end of this month. This is the first small step towards an eventual release of Amarok 2.0, and hopefully it will help us get it ready sooner rather than later. This also means that we are at the point where bug reports actually start to become useful. More on this in the coming weeks I am sure!

So, whats new in the land of Amarok 2. Lots actually. First of all, I have tried my hand at some small but quite visible modifications to our svg theme, and I personally thinks the results are very promising. I just need to figure out what do do about the volume slider...


And of course, the theme still adjusts itself to the system color theme:


At Magnatune.com, we have been adding free OGG streams along side the existing MP3 streams. Of course Amarok should also benefit from this, so I finally got around to implementing a stream selection GUI. This also allows people with slow or unstable internet connections to select the lo-fi MP3 streams:


I think I can reveal, that as an added bonus, people who decide to purchase one of Magnatune.com's upcoming memberships will be able to enjoy OGG streams in a really nice quality :-)

A lot of work has gone into the Last.fm service and integration. The bulk of the Amarok 2 Last.fm service was originally done by Shane King, but this week there has almost been a competition about who could do the most cool things with the Last.fm service. This however also led to a slight case of "interface wars" as we currently cannot decide between buttons and tree views for the different streams, but I am sure we will figure something out eventually :-) Right now the Last.fm service looks (I am warning you, it is not pretty...) like this:


A really nice feature that was implemented by Dan Meltzer (aka. Hydrogen) is the ability to right click any artist in your local collection and add a Last.fm stream of simmilar artists directly to the playlist:


I have spent some time adding capabilities that will allow any track or stream with special actions that only makes sense when that track or stream is playing to make these actions available throughout the interface. Most notably, when listening to a Last.fm stream it adds the "love", "skip" and "ban" actions to a small sub toolbar next to the play controls:


This small toolbar and the background is completely invisible when playing tracks that do not have any special "now playing" actions. The same actions are also added to the tray menu (and when right clicking the currently playing track in the playlist):


Last.fm is becoming really well integrated, but the great thing about the way it is done is that there is almost no Last.fm specific code anywhere but in the Last.fm plugin, which can be completely disabled. This means that any other service can use the same interface elements to achieve simmilar results. Last.fm is simply the first one to use these capabilities. It also means that Amarok 2 is in no way dependent on Last.fm being available. I think that this independence is very important. It allows us to work with many different services and companies without anyone getting control over the core of Amarok.

And this is personally what I see as the main strong point of Amarok 2. We are positioning ourselves to be able to work with and integrate content and services from a multitude of sources without the fear of what happens if one of these services stops existing, turns horrendously evil, or tries to assert undue influence over the direction of Amarok. And with reports coming in from our crew at CeBIT about the huge interest in Amarok, it looks to be a really interesting future.

Now, if we can just get this 2.0 out the door soon... :-)

Tom Albers writes about various usability improvements in Mailody 4:
In case you wonder what I've done this week, I will show you some screenshots of the progress of Mailody this week.

One important thing preventing me to switch Mailody4 was the fact that I could not use attachments yet. In KDE3 times we used KFileIconView to display the attached attachments in the composer. After a rename to K3FileIconView, in the end it needed to be removed from the KDE repository, so I had to comment out the functionality in Mailody. To refresh your mind, this is how it looked in Mailody3:


I requested on IRC what I could use to let it look the same and some advised me to use a QListView with a Flow LeftToRight. I tried that, and after an evening fiddling with settings and adding the needed context menu (open / delete) and hooking it into the composer, it resulted in:


It's almost the same, so the average user will not see the difference, but still it was a couple of hours work. But as it is a proper Model/View, there is now the option to make it all different without much work in the future. I like the column based layout from the old one more then the fuzzy positioning of the new one, but for now this will do. At this stage I'm not prepared to spent hours on it, if I'm even capable of doing that ;-)

The next point was that the pulldown menu's for the identity and mailtransport selection was taking up too much screen estate in the composer. So I made those comboboxes optional. But then you don't have any indication about which identity is being used and you can not change it easily. And then I saw an empty StatusBar ;-). So I added it to the statusbar and made it clickable to be able to switch to another identity or mailtransport. And best of all, it's close to the 'send' button of the composer, so it's natural as well. Here is how it looks:


I know clicking on statusbar items is not really intuitive, but we also have it when viewing messages in the mainwindow, so Mailody users might be familiar. Also that doesn't hide functionality, as the combo boxes are still available. I also know it does not look as slick as the usual Plasma widget, but then again I'm not born for that, so if anyone wants to pimp Mailody, I'm happy to talk to you. Final remark is that the statusbar does not look like a statusbar anymore, no line above it, slightly smaller font, etc. I'll just blame the used style. ;-)

The last feature I implemented this week was a long standing feature request from myself and a co-worker. Simply save all incoming attachments in a certain folder. It's a great feature (first implemented by Eudora as far as I remember), because you don't have to save the attachments from a mail to a certain folder when you need it, it is simply there in a folder (which you can open with your favorite shortcut). Also you might remember after a few months something about a pdf you have received a couple months back. It's simply still there in that folder, while you might not find that e-mail back. I know that folder can grow rapidly in size, but hard-disks are cheap and it is deactivated by default.


The checkbox is really a QGroupBox which is checkable.

Anyhow, that was what I did this week. I'm almost ready to start Mailody4 now, it is going to be the best Mailody release ever for me.

Kévin Ottens writes a summary of the KDE student projects at the IUP ISI of the Paul Sabatier University:
Kapman
This year we experimented with a project starting from scratch, and apparently we had some demand for a copy of an old famous game... hence why we now have Kapman! It's alive and kicking and in a pretty good shape already, so maybe it'll be able to enter the kdegames module for KDE 4.1. Of course, it's all SVG-based, so you can freely resize it (artists wanted!).



KsCD
We also poked the good old KsCD, and our team made quite a lot of improvements. In particular, it is now fully themable using SVG (artists wanted!), and uses MusicBrainz to identify discs. Of course it also got the expected KDE4 refactoring, with porting to Phonon and Solid.



KSirK
KSirK is one of those games we have in playground for quite some time. One of our team has been working on it to improve it up to release quality. It's definitely getting there. The team mainly worked on improving its usability, with visible improvements in my opinion. At least now I feel like I could play with it for hours. :-)



Kopete
Last but not least, this year we got a team working on Kopete. They did an awesome job: it is harder to demo or to make a screenshot for it, but they mainly focused on integrating support for Universal Plug and Play (UPnP) and for the new Windows Live Messenger protocol. On the UI front it looks less impressive, but I'm very proud of this team: they definitely had the hardest project to work on and learned a lot. Since I have no screenshot to offer, here is a picture of today's "Kopete Gang of Four" who attended the hacking session:

From left to right: Maximilien Verdier, Michel Saliba, Romain Castan, Kevin Kin-Foo.


A few words on the hacking sessions...
Of course, after the projects of last year, we kept the good habit of having "KDE Hacking Sessions" in Toulouse, and we now have a few people who attend regularly... the community is definitely growing here. And during the student projects we have an unusual amount of my students showing up. ;-)

All of the above features are taken from blog entries syndicated on Planet KDE (Digest-exclusive content will return next week). Despite the slight blog-related community controversies of the past week, this shows the current strength of our developer community and their free expression of the work which personally excites them. And that excites me.

This is a special issue of the KDE Commit-Digest - not so much for the alternative approach to content, but because the week counter has finally reached triple digits. This is issue 100!

To the few people who have complained that the Digest has recently been "late": I am committed to producing the Digest every week (and have not missed an issue yet, out of 100 consecutive weeks), but I never promised or guaranteed that the Digest would come out on any specific day.

I try to produce the Digest as early as possible, but there are often things (sometimes beyond my control) that prevent this. I will work to my own schedule, which can sometimes be busy. And yes, my exams went fine.


Statistics
Commits: 2537 by 238 developers, 7153 lines modified, 1740 new files.
Open Bugs: 16151
Open Wishes: 13728
Bugs Opened: 262 in the last 7 days.
Bugs Closed: 255 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
622
/trunk/l10n-kde4
502
/trunk/extragear
350
/branches/stable
234
/trunk/playground
158
/branches/extragear
109
/branches/KDE
102
/trunk/koffice
95
/branches/work
84
/trunk/www
49
Lines Developer Commits
287
Gilles Caulier
133
8
Pradeepto Bhattacharya
92
123
Volker Krause
85
161
Laurent Montel
79
196
Pino Toscano
74
184
Aaron J. Seigo
73
641
Laurentiu Buzdugan
71
47
Yiwen Mao
47
87
Dan Meltzer
40
40
Chusslove Illich
40

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
100%
Greek
99%
Swedish
94%
Japanese
93%
Low Saxon
87%
Polish
86%
Dutch
86%
German
86%
Estonian
86%
Brazilian Portuguese
85%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Leonardo Finetti
50
David Faure
35
Luboš Luňák
24
George Goldberg
17
Pino Toscano
13
Urs Wolfer
11
Thomas McGuire
11
Peter Rockai
11
Peter Penz
9
Nicolas Ternisien
9

Program Buzz
Amarok
  9815
K3B
  4875
KMail
  4840
Kopete
  3320
KDevelop
  2595
Plasma
  2489
Kaffeine
  2037
Kate
  2001
Solid
  1873
Kontact
  1790


Person Buzz
David Faure
  2110
Stephan Kulow
  1749
Aaron Seigo
  1390
Torsten Rahn
  1367
Jonathan Riddell
  1132
Laurent Montel
  1030
Stephan Binner
  782
Thiago Macieira
  668
Zack Rusin
  638
Adriaan de Groot
  631
Commit Countries

Commit Demographics
Sex
94.7 %       Male
7.25 %       (unknown)
1.72 %       Female
Motivation
50.5 %       Volunteer
40.3 %       (unknown)
12.7 %       Commercial
 
Ages
60.7 %       (unknown)
23.8 %       25 to 34
7.90 %       18 to 24
7.37 %       35 to 44
3.35 %       45 to 54
0.491 %       Under 18


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools
Educational [*]
Graphics [*] [*]
KDE-Base [*] [*] [*] [*]
KDE-PIM [*] [*] [*]
Office [*] [*]
Konqueror
Multimedia [*] [*] [*] [*]
Networking Tools [*] [*]
User Interface
Utilities [*] [*]
Games [*] [*] [*]
Other [*]


Bug Fixes
KDE-Base
Vincenzo Di Massa committed a change to /trunk/KDE/kdebase/workspace/libs/plasma/widgets/tooltip.cpp:
Delete the property on the parent widget :-)

My first bugfix, yay!
Bug 157816: Hovering any icon on the panel shows the thumbnail of latest show...
Diff Revision 779541

Daniel Teske committed a change to /trunk/KDE/kdelibs/kio/bookmarks/kbookmarkimporter_ns.cc:
Fix importing of Firefox bookmarks. Does the minimal changes.

The importing code is dead ugly, but it at least now it works again for a simple file.
Bug 155134: import bookmarks doesn't work
Diff Revision 780085

KDE-PIM
Allen Winter committed a change to