I recently upgraded to KDE 4.3.1 (from KDE 4.2.something). As seems to be par for the course for the KDE 4 series, I then waded through nearly a dozen bugs/crashes/regressions for the next day, filing bugs where I had the energy. This has got pretty old, and fills me with no confidence about the future of KDE — the stable desktop I’m hoping for still hasn’t materialised.

But there is one thing about KDE 4 that terrifies me, and this post is an attempt to get the KDE devs to change their approach before it’s too late.

KDE 4.2 attempted to migrate some of my data to Akonadi, the new framework for storing PIM data. There were a bunch of ways in which Akonadi did not provide the features that previously existed (can’t have multiple writable calendars in KOrganizer, Kopete address book link didn’t work…), so I had to ditch it. Thankfully this was not hard (though the whole experience would have been extremely confusing to Joe User).

I was prepared to give KDE 4.3 another shot on this front (after carefully backing up my data). I cleared out any remnants of previous Akonadi data, and the settings which told it not to do the migration.

The results were pretty disappointing:

First, there was an initial setup process. This failed. Unfortunately, the popup simply disappeared before I could note down the error message. It was something to do with creating an agent. Did the process crash, or was it supposed to just disappear like that?

Then, for individual applications, the migrations all partly failed. Again, the popups telling me what was happening, including the error, just disappeared after a short delay. The error was something about a timeout when creating an instance of an agent. Did the process crash? Did the agent instance get created eventually, so the process could continue successfully? I’ve no idea. I can’t even file an bug without the error message. Even while the popup remained, there was no indication of what I should do about the error, if anything. So I’m guessing all the migrations failed — my applications don’t seem to be migrated to using Akonadi at all.

Why does this worry me so much? Well, I can cope with an unstable desktop. It’s a pain, it means I can’t recommend KDE to anyone I know in it’s current state, but usually I can work around the pain points. Plasma restarts itself, so although it is still pretty crashy (far more than the Windows shell, for instance, has ever been in my experience), I don’t have to worry about it too much.

But Akonadi is a different matter. It is the proposed framework for handling all PIM data — all my e-mails, calendars and address book. This data is extremely important to me. Akonadi is clearly not up to the job of handling it — if their migration tool can fail like this, and fail with worrying errors about timeouts (which actually suggests the migration process is non-deterministic — it’s going to depend on how fast/busy your computer is), it’s clearly far from ready. It’s not getting better, it’s getting worse — this time the migration failed completely, and I’m not even able to check whether it’s up to feature parity with non-Akonadi methods.

Even worse than this, is that either the KDE developers:

think it’s OK to start migrating to an alpha-quality framework for handling user’s data. To me, this is appalling. Desktop eye-candy in exchange for a bit of instability is one thing, but my data is entirely different.

to start migrating to an alpha-quality framework for handling user’s data. To me, this is appalling. Desktop eye-candy in exchange for a bit of instability is one thing, but my data is entirely different. or, they are unaware that Akonadi is not there yet. This is just as worrying.

Akonadi seems like an overly ambitious project. If you look at its home page, the diagram includes the idea that other desktop apps, outside of KDE, will use Akonadi as a backend for all their data. To me, this seems extremely unlikely and is a tell-tail sign of developers getting ideas that are just too big.

So, what do I propose?

Simply this: ditch Akonadi. Yes, I mean that. KDE 4 seems to lack a BDFL who is willing to say “this is not working, time to pull the plug”. Mark Shuttleworth did that with a pet project of his when the developers got distracted with shiny geek toys. Windows Vista ditched the killer feature of Vista, their WinFS filesystem, because it just wasn’t ready. But it seems there is no-one in KDE who can make these kind of decisions. The major obstacle is egos and pride — after all that work has gone in for years, can we ditch a big feature like that? Yes, you can, and you should, for the sake of your users and the future of KDE. Of course, you can just move it to an experimental branch and come back to it for KDE 5/6/7, but please do not turn it on until it’s ready.

Akonadi is one instance of a bigger problem in KDE — grandiose ‘we’ll fix everything but it will take us five years’ schemes that are prioritised over things users actually want, and could be implemented soon.

For example, I want desktop search and fast e-mail search. After all, this is 2009, right? Is it so much to ask for a decent way of searching all the files on my computer, and fast full text search for my e-mails? If I used Mac or Vista or Google docs & Gmail, I would have had this years ago. Instead of that, KDE gives us: Nepomuk. The usefulness of Nepomuk completely escapes me. Even though it includes Strigi indexing (which indexes all your files, though it can be a big pain to get working), there is no decent interface for searching those files. (No KRunner is not a decent interface). Currently, turning Nepomuk off has exactly one consequence — it makes my computer much more responsive and saves me 3 Gb of disk space. AFAICS, there are no applications which make good use of Nepomuk. I think there is tagging in Dolphin, but:

There is no interface for searching tags! What kind of idiots do you take us for? Going round tagging files in the hope that one day we’ll be able to make use of all that effort because someone actually implemented a UI ?

? I don’t want to manually tag files anyway, I want a decent desktop search tool!

Other applications that need tagging are better off implementing their own solution, and then extracting a simple KTagging library which can be shared.

Nepomuk isn’t as bad as Akonadi at the moment — it’s useless, but I can turn it off, and it doesn’t threaten my data. But even then, all the effort that is going into Nepomuk could be directed into manageable, achievable goals of providing features that users will be able to make use of.

Please, KDE devs, stop the big grandiose schemes. Stop doing anything that would threaten my data. I’ve been a loyal fan — pushed to the limits by the KDE 4 series, I’ll admit — but if you foist Akonadi on me in anything like it’s current state, I’m taking all my data and going. I don’t yet know where I’ll go. I might go back to GNOME after a long time. It still sucks IMO, and I’m not sure how I’m going find replacements for KMail (very nice despite no fast full-text search), KOrganizer, Amarok, k3b etc. KDE currently has the lion’s share of the best Linux apps. But it doesn’t really deserve them at the moment, and it’s going to lose all but its most stubborn and loyal users at the current rate.

If you got this far, thanks for bothering to read this. I know the KDE developers have got a lot of flack for KDE 4, and I have held back for a long time, but some of the criticisms are deserved, and you do need to listen occasionally…