KDE Commit-Digest for 15th February 2009

In this week's KDE Commit-Digest: An example Phonon-based video player in 5 lines of javascript code. Beginnings of a D-Bus interface for the Plasma "System Tray" daemon. Start of support for retrieving contacts from Akonadi through the Plasma DataEngine. Improvements in the "Converter" and "System Monitor" Plasmoids. Continued development of multi-language spellchecking support in Sonnet. Support for "hybrid suspension" in Solid. Continued development of Amarok 2, including filtering by date. Further work on LinTV. Support for recordings added to Kaffeine. A new puzzle table texture selector in Palapeli. Consistent keyboard shortcuts added to all KIPI import/export plugins (used by Digikam, Gwenview, etc). Hover buttons to rotate left and right added to KRuler. Foundations for a microblog resource for Twitter and Identi.ca. Initial 7z plugin added to Ark. Various SVG import improvements in Karbon. Get Hot New Stuff (linked to kde-look.org) support added to deKorator. Various polishing in KWin-Composite. Search capabilities (matching System Settings) added to the KDE 4 port of KControl. The "Calendar" Plasma DataEngine moves to kdebase. KTron moves from playground/games to kdereview. Import of KALEngine to playground/games. Initial import of Blazer, a "simple desktop shell for use with thin clients and virtualized remote desktops", and "a KIO-slave listing the network from a device centric point of view" to KDE SVN.

Also in this Digest, Seb Ruiz writes about the reception of Amarok 2 and current and future developments. Read the rest of the Digest here.

Dot Categories: 


5 lines of Javascript! That is AMAZING!
Just imagine: web developers creating fully-functional software/"webware" with little or no learning curve. I've yet to see anyone else achieve this. Well done KDE devs!

"Write <amazing thing> in <very few> lines of code!!" claims are always pointless. They always boil down to something like:

#include <web_browser.h>

int main()
  Browser b;
  return 0;

OMG! I just wrote a web browser in 2 lines of code!!!

in this case, however, it's not just a proof of concept that's useless but something that allows people do something both useful and commonly desired: embed media (audio, video..) into a widget with extreme ease. it's not at all, therefore, like your web browser example which is, indeed, typically what these sorts of things are. this is an actually useful step that lowers the bar to creating actually useful things. :)

As a developer - consultant myself, I would love such feature. But I am still waiting.... please hurry up -:)
worldclass for models clothes shopping hong kong fashion garments tops.

Currently I'm using Dolphin and Gwenview and lots of folders for most of my image management in KDE, but after a visit to a friend I noticed Digikam is much more powerful and easy to use. Last time I tried (some years ago) it was unreliable and crash prone and I somehow never got around to test it again. Back home I instantly tried it and it is almost exactly what I need. However I have trouble with photos which are managed by PicStor, a commercial photo management program I need for my work and use via wine. PicStor creates a ridiculously large tif index file in each folder which makes Digikam take a very long time to scan this folder and use up a lot of memory. I had to raise the values in limits.conf to prevent it from getting killed. And Digikam ignores all photos which are tagged or edited in PicStor. PicStor adds .0000 to the files and .0001 etc. for each edited version. I inserted the 0000 on the config page but Digikam only shows the original photo. In Dolphin and Gwenview I can see all photos and their versions.
How can I make Digikam to show all subsequent photos too? And how can I prevent it from reading the index file?

This is one of the best examples of use case which should by submitted to Digikam's bugzilla.
Maybe Digikam developers do not know anything about this issue. So let them now on bugzilla.


I haven't yet received my bugs.kde.org login details. It is possible and sadly very probable my providers filter again might have dropped it. This wouldn't be the first time.
Why is there no unified kde login? Except the svn maybe...
On the Digikam note i found a workaround to keep the memory consumption reasonable: I simply let a script traverse all folders and set the index files to 000. I have added to the script to start PicStor to restore them to 600. But I have not yet found a way to tell Digikam to accept non raw photos which have extensions other than jpg or 0000. This is rather confusing as Dolphin and Gwenview display and do accept them. Maybe pebkac but more i suspect the factory 4.2 rpms may be the reason. I'll try to build rc2 0.10 myself to see if works better.

Just can't wait for KDE4.3!

Edit: I'll read the Digest _before_ asking questions next time *blushing*

From the post
... and also some for usability reasons (such as the tabular playlist design - remember, we're the experts!).

Oh please don't try to convince that everybody are fools and just don't get it. There are 2 features that Amarok users mostly hate in 2.x series:
1. Large central area with context information.
2. New play list.

I remember history of both these new "features". Initial motivation of placing context info at the center was that Amarok developers believe that this context related stuff is really a central thing that distinguishes Amarok from other player. But all users ask is to place playlist next to the collection browser so that it was easier to drag items to playlist.

The mock up for new playlist was introduced long time before any real usability expert worked on Amarok 2. And current playlist is almost exact copy of that mockup. A lot of usability experts say that it is more natural for people to understand information if it is in the table. All usability experts say that that it is easier for human eyes to accept information by lines. There is no real usability reason to have current playlist. Not even saying about having some "context" space between collection and play list.

In free software world developers make all decisions because they really write code. That's fair. And that's the only reason for current Amarok 2.x UI. There are no real usability reasons for this.

I am ok with statement that "We write Amarok so we decide how it looks". Why can't you just say this. But I really don't like when 10 people say to few hundreds of people that "we are the experts and we know better". To say this you need to be a real expert. If someone don't write any code for Amarok it doesn't means he is not an expert. Or he doesn't know what he is talking about. I am senior software developer. But I don't want to start writing code for Amarok only for purpose so my voice as well as voice of large number of other people was heard.

How many times amarok users must say something so that amarok developers at last started to listen???

perhaps it was more ment like a joke...

Besides, like the guy said, the ones who do like the new playlist are the ones who don't complain. Plus, you can get the old view if you want, so I don't really see the problem.

In free software world developers make all decisions because they really write code.

There is an interesting article in the current (03/2009 P.24) Communications of the ACM that asks the big question: Is Software Engineering [really] Engineering?

Whether or not it is really engineering, developers need to realize that software development is a lot more than writing the code. Writing the actual code should be only a small part of software development. If it is engineering, then analyzing the problem and designing the solution are the important parts of the project. Writing the code is only implementing the solution.

To make my point clear: design is what is important. You need to develop a good design before you write the code.

This mantra of FOSS has come to mean that those that write the code do the system analysis and project design. Why should it be that way? Does knowing a programing language automatically make someone good at analysis and design? I don't think so.

To make my point clear: design is what is important. You need to develop a good design before you write the code.

You should really read up on agile software development. It's really big in the general softwre development world now, and is basically based on the observation that big up-front designs seldom are any good. We've been doing Big Up-Front Designs for a few decades now, and if there is anything software projects are generally know for, it's failing. They're very often delivered late, above budget and non-working.

Agile development tries to correct this by producing functioning code early, and improving and extending the code base over several iterations, all in close cooperation with the user/customer. Notice how this sounds like the "release early, release often" mantra of open source.

One cornerstone of agile methods is to constantly asking the user "does this work? is this what you want?". Whether or not the amarok project is doing that, I have no idea... ;)

Of course that design is what is important, and developers are not designers by itself. But users are not designers either. Especially advanced FLOSS users which are the vocal minority in FLOSS world. Pro users have a bad tendency of adding (or suggesting this) more and more widgets, buttons and checboxes without thinking about overall design ;)

So in this perspective developers are the ones which have more to say about their application. They know what they want to achieve. AFAIR Amarok developers during 2.0 development clearly stated what is their vision, and 2.0 is really good implementation of this vision.

Not agreeing to this vision is completely different topic.

Also lack of usability experts willing to work with both developers and end users is completely different topic.

"Also lack of usability experts willing to work with both developers and end users is completely different topic."

Just FYI: We have _two_ notable usability people working closely with us: Dan Leinir Turthra Jensen, and Celeste Lyn Paul. The names might ring a bell.

We take usability very seriously, better believe that. We've made mistakes in the past, and we don't plan to repeat them. And we are continuously working very hard on improving in this area; it's a "priority thing" for us.

Mark, when writing last sentence I was thinking generally about FLOSS world. I could write it more clearly...

I'm really glad that usability people are working with amarok devs :)

as an amarok 1.4 user, i still feel that dragging from collection to playlist is unnecessary more complex and unintuitive in v2.
would be interesting to see percentage of users who would choose to put playlist besides collection if that was possible ;)

I feel that too. Thought that maybe it was just a "bad habit" from using amarok 1.4 and have been giving it a chance but it stills feel kind of weird.

Part of it is simply how the distance makes it more weird in my mind. We are doing something on the far left to affect what's on the far right, with that big whole in the middle. Where should I focus my attention.

But then there is the dragging itself too. Sure if you just want to append you got alternatives. But what if you want to put songs from your collection in a particular place in your playlist. How do you do that without dragging it all the way from one side to the other?

(yes, 0.4, not 1.4)
... I can say that I really DO like Amarok 2 more than 1.x. The UI is simpler, clearer and more focused on one thing: the context. What's the point in having a giant playlist occuping a width of ~1200px? When you're listening to music, probably you have amarok minimized and you're doing another task. When Amarok is maximezed and focussing your attention, what's the point in staring at a giant playlist? Are you messing up the playlist every moment? Or perhaps you just create it once (when starting your listening session) and maybe modify something here and there from time to time?

I mean, the context view is not perfect (layouting could be enhanced/fixed for example.. yes arrows that control the "activities", I'm pointing my finger at you!) but it without ANY doubt the way to go.

Amarok 1.4 is dead. Hurray for Amarok 1.4

Thank you for this thoughtful and constructive comment. As for the context view - you are right with your criticism - and we have been working hard to improve it for the upcoming Amarok 2.1.

Please check out this informative blog for an overview of Amarok 2.1 features.

Ok, I'm not saying that a good design isn't important (it IS important) but as others already said.. do you know agile dvelopment? Release early, release often has proven to be quite successful in the FLOSS world (do you know that software called "Linux"?). Moreover freesoftware has always and always will have a clear hacker attitude. To do boring software development there are old school companies which pay their employees to do just that: lot of boring development overhead.

I know about eXtreme Programing and I think that it is a good idea. "Agile Software Development" appears to be similar. XP requires that you "Release early, release often"

However, these good ideas are not an excuse for writing code without designing it first (hacking) and the poor design that is the usual result. XP and ASD do not mean that we should discard the traditional engineering cycle (analyze, design, implement), rather they require that the cycle is done many times on a small part of the project rather than the inefficient old school method of doing it once for the whole project.

Is the KDE project actually meeting the goals stated in the ASD manifesto?


Working software?

Customer collaboration?

If not, perhaps we need to refine our development methods.

I'm using a regularly compiled SVN snapshot of KDE and extragear, and for about two months now, My playlists in Amarok are quite broken : showing me lots of weird new playlists that seem to point to some m3u files in my music dirs, not allowing to save new playlists, I even cannot create dirs anymore.
Is that something normal considering the development state of Amarok or is that something should be reported?

if it shows up as a new user (or after removing config files and database - back them up first!) you should report it as an bug...