prev
Issue 67
15th July 2007
by Danny Allen
next


This Week...
Much work in Amarok, with the implementation of a CoverFlow-esque OpenGL album art visualisation, codenamed "CoverBling", and Service Framework and Plasmification efforts. Sample OpenGL-based applets added to Plasma, with Plasmoids to watch for changes to files, for browsing files, and to monitor network interfaces. General progress in the 2d projection and KML in Marble, OpenPrinting, and KOrganizer Theming Summer of Code projects. KWallet support in KRDC. KMines essentially rewritten with a QGraphicsView base, with support for multiple background SVG themes in KGoldRunner. More manipulation and view work in Kreative3d. Implementation of Kubelka-Munk paint mixing research in Krita. Internet integration in Kaider, with a WebQuery view and example script to use Google Translate. okular becomes usable as a print preview component. KTrace, a "strace" interface for KDE 4 added to playground/sysadmin. Beginnings of support for ComunIP, a Brazilian IM protocol in Kopete. More progress in the porting of Digikam and KTorrent to KDE 4. The start of a rewrite of the Oxygen widget style. KBFX, an alternate K menu, moves to kdereview.

Mark Kretschmann introduces the work in Amarok this week, implementing a CoverFlow-esque OpenGL album art visualisation, "CoverBling":
Everyone loves iCandy! Our loyal Amarok users are no exception to this rule, so we're trying to make Amarok 2.0 especially pretty. Since the day Apple released a new version of iTunes with the CoverFlow feature, users have been asking us to implement a similar feature in Amarok. Being a bit of a graphics nerd, I had been toying with the idea for some time. Two weeks ago I decided to give it a try, and although I hadn't been coding graphics stuff for a few years, the initial results were encouraging enough to sparkle my motivation.

Starting with a simple textured rectangle zooming around, I've quickly added reflection effects, proper perspective projection and the ability to show multiple cover images and move them in interesting ways. We're using multisampling (full screen anti-aliasing) by default, which creates a very pleasant image quality without jaggies.

Yesterday I implemented object selection, which means that we can detect over which image the mouse cursor hovers, and react accordingly. Then I had a brainstorming session with Seb Ruiz about the design and mechanisms of CoverBling (that's the working title I have chosen for this feature). We definitely do not want to simply copy CoverFlow, as I think that would be really lame, and potentially also trademark infringing. Instead we want to come up with something cool (or ideally even cooler) on our own. So far we've had some interesting ideas, and I've started to implement one of Seb's ideas, and we'll see how that pans out. If you have some good ideas, we'll be very happy to hear them.


In other Amarok-related news, we have been considering moving to Plasma for the context view (the big display in the middle) in Amarok. This move was initiated by Leo Franchi, who is working on the context view as his SoC project. Leo started an experimental branch in SVN for the Plasmification, and I'm extremely looking forward to see the results. On the downside, the move to Plasma means that we have to trash most of the existing code for the context view; almost a complete rewrite is required. On the positive side though there are the great possibilities that Plasma offers us: Ability to include scriptable Plasmoids, fancy SVG rendering, and theming. Also we don't have to reinvent the wheel (or "invent a bike", as we like to say), but we can combine our efforts with the Plasma dudes. The move is technically not without problems though; libplasma requires a few modifications to be useful for Amarok. Leo has prepared a patch for libplasma, and we would be happy to get this patch in. At this point I'm calling out to Aaron: Please contact us, we've been trying to get hold of you ;)

To sum it up, I think there are some very exciting times ahead for Amarok 2.0. And the best thing for me is that the OpenGL hacking has really brought back my motivation to hack on new features. In the end it's all about motivation, isn't it? :)

Boudewijn Rempt provides an update on recent happenings in Krita:
Emanuele Tamponi's recent work is really utterly impressively cool - here we have someone who goes through all academic papers, reads and digests them and produces unique software that's simply the first generally-available anywhere.

Emanuele's current work, on mixing colors using the Kubelka-Munk research into the reflectivity of pigments will make painting so much more natural and easy.

On the other hand, Sven Langkamp is working on selections, which is less glamorous, but when suddenly everything everything starts working the way users feel it should, it is a hugely important advancement. When software changes from "it works, but it also kind of naggingly sucks" to "oops, I've done the job I fired up Krita, too", that last oops isn't often conscious - but it does make a huge difference to the experience of the user.

On the less pleasant side of things, we've had a kerfuffle this week about our metadata implementations, but that's been resolved and we've found a way forward. Krita will rock, metadata-wise in the end. Cyrille Berger, one of our most prolific and versatile coders, has decided that he didn't want to saddle me with the task of implementing metadata - including EXIF and XMP support - and has already restored the code. He is going to continue working on it - but he will only discuss his work with people who know something about the subject. Sometimes, a developer needs some peace to develop great software.

Personally, I think Cyrille is very qualified to work in this area, and since he has said that he had already mutually fruitful and conclusive discussions with the Strigi and NEPOMUK people I completely trust him with this task.

Recently, Krita was reviewed in Linux Journal. This article gave a highly-positive review of Krita, especially in light of his quibbles, namely with the text tool and LDR-to-HDR bracketing, both problems which are solved in trunk - thanks to Thomas Zander and Cyrille Berger, respectively.

Richard J. Moore proposes to remove KJSEmbed from kdelibs:
After discussions at akademy, I'd like to propose the removal of KJSEmbed from kdelibs prior to the KDE 4.0 release. The functionality of KJSEmbed is basically duplicated by QtScript, and it seems pointless for us to maintain KJSEmbed when we have a solution provided by Trolltech that can do the job just as well. In order to do this, we need to do a couple of things:
  1. Remove KJSEmbed and the KJSEmbed support from Kross.

    This can certainly be done by the 25 July deadline.
  2. Add support for QtScript to Kross (I've looked at the KJSEmbed plugin and writing a QtScript equivalent should be pretty simple).

    This can probably be done by the 25 July deadline.

  3. Include some plugins in kdelibs that extend QtScript in order to replace the functionality it is missing.

    This is harder to do by the 25 July deadline but could be omitted (or released separately if necessary).
I've already implemented the basics of the plugins, so that scripts will be able to create dialogs etc. using UI files, though I think the API I currently offer to scripts needs a little more thought.

I covered the details behind the reasoning for these changes in my Akademy presentation.


Statistics
Commits: 2950 by 227 developers, 6287 lines modified, 1791 new files.
Open Bugs: 14165
Open Wishes: 12843
Bugs Opened: 180 in the last 7 days.
Bugs Closed: 131 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
883
/trunk/l10n-kde4
534
/trunk/extragear
376
/trunk/playground
255
/branches/work
208
/trunk/koffice
194
/trunk/www
104
/branches/stable
87
/trunk/l10n-kde3
81
/branches/extragear
68
Lines Developer Commits
650
Gilles Caulier
296
339
Laurent Montel
160
230
Pino Toscano
99
202
Clarence Dang
77
138
Andreas Pakulat
58
63
Frank Osterfeld
44
157
Stefan Nikolaus
44
106
Allen Winter
43
85
Dirk Mueller
39
85
Henrique Pinto
36

Internationalisation (i18n) Status
Language Percentage Complete
Swedish
99.51%
Japanese
93.61%
Greek
92.48%
Portuguese
92.26%
Chinese Traditional
89.68%
Spanish
86.24%
German
82.28%
Dutch
77.42%
Italian
76.56%
Farsi/Persian
76.03%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Daniel Gollub
26
Thomas McGuire
25
Robert Knight
14
Tommi Tervo
11
Bram Schoenmakers
8
Joris Guisson
8
Marek Laane
5
Pino Toscano
5
Oswald Buddenhagen
5
Gilles Caulier
5

Program Buzz
Amarok
  5225
K3B
  3800
Kopete
  3700
KMail
  3390
Kate
  3350
KDevelop
  2520
digiKam
  1689
Kaffeine
  1674
Kontact
  1672
Kicker
  1576


Person Buzz
David Faure
  832
Adriaan de Groot
  697
Stephan Kulow
  634
Allen Winter
  600
Aaron J. Seigo
  526
Waldo Bastian
  468
George Staikos
  316
Boudewijn Rempt
  313
Jeff Mitchell
  296
Jonathan Riddell
  271
Commit Countries

Commit Demographics
Sex
97.7 %       Male
3.46 %       (unknown)
1.08 %       Female
Motivation
49.1 %       Volunteer
42.3 %       (unknown)
10.8 %       Commercial
 
Ages
79.5 %       (unknown)
9.15 %       18 to 24
8.50 %       25 to 34
2.82 %       35 to 44
2.25 %       45 to 54
0.080 %       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-PIM
Allen Winter committed a change to /branches/KDE/3.5/kdepim/kmail/kmcommands.cpp:
fix templates for forwarding do not work with inline mails
Thanks to vondom for providing the patch, and thanks to everyone who tested.

We very few KDEPIM developers are currently swamped with KDE4 and "real life" so the extra help really is appreciated.
Bug 140549: templates for forwarding do not work with inline mails
Diff Revision 685749

Tobias Koenig committed changes in /branches/kdepim/scalix:
Fixed IMAP parser to execute extended custom commands correctly, so the dead lock in retrieving freebusy lists is gone! :)
Diffs: 1, 2, 3, 4 Revision 686065

Mart Kelder committed changes in /trunk/KDE/kdepim/korn:
- Fixed the Subject and Sender parsing. Thanks to Alexis Papadopoulos for the patch.
- Fixed fetching the password of a kmail account from kmailrc. Thanks to Alexis Papadopoulos for the patch.
- Fixed using pop3-mailboxes from the kmail configuration.
Diffs: 1, 2, 3, 4, 5, 6 Revision 686191

Multimedia
Koos Vriezen committed changes in /branches/extragear/kde3/multimedia/kmplayer/src:
Handle redirection in urls, fixes the various youtube embed's outside the youtube domain (my last big showstopper)

Don't send back bytes for javascript: urls that have a target (still not right though)
Diffs: 1, 2, 3 Revision 685846

Networking Tools
Joris Guisson committed changes in /branches/extragear/kde3/network/ktorrent: