Test driving KDE 4.0
[[http://kde.org|KDE 4.0]] has [[http://kde.org/announcements/4.0/|been released]]. Since I have been using KDE as my primary desktop environment for well over 5 years now, this is certainly something I am very interested in. In the past few months, I did try out the previews and the RC releases, but mostly just to play around with them, never really considering them for serious daily usage. And it was real easy to start a KDE 4 session inside my KDE 3 session (as described [[http://kubuntu.org/announcements/kde4-rc2.php|here]], for example). I used this small script (save it as ”start-kde4.sh”):
export LD_LIBRARY_PATH=/usr/lib/kde4/lib
export KDEDIRS=/usr/lib/kde4
export PATH=/usr/lib/kde4/bin/:$PATH
export KDEHOME=~/.kde4
Xephyr -dpi 96 -screen 1024x768 :1 &
DISPLAY=:1 /usr/lib/kde4/bin/startkde
But now that KDE 4.0 has been officially released, I wanted to take it for a serious test drive. So I updated all the packages, logged out, deleted ”~/.kde4” (so I could get a clean start), took a deep breath, and logged in.
=== Oxygen looks good ===
I like the icons as well as the theme itself — its very slick, the window decorations are subtle yet stylish, over all I really like what the Oxygen folk have accomplished. Great job! The only sore point just sticks out for me is the look and feel of the current panel. Its too big, hardly configurable, the fonts are large and generally feels weird. Of course, this is all very much still in evolution and with user feedback, I’m sure it will develop into something totally kick ass.
=== KickOff mostly works ===
The new menu/launcher (Kickoff) is nice. I have used Kickoff in earlier incarnations of KDE so this wasn’t something totally revolutionary. Some things don’t work as advertised, however, but it might be due to my system configuration (still investigating). For instance, the KDE 3 applications are supposed to show up with a (KDE 3) next to them. However, when I search for say Kopete (for which I have both the KDE 3 and the KDE 4 versions installed), only the KDE 4 version gets listed.
=== KWin is smooth, not quite ready to replace Compiz-Fusion yet ===
With KDE 4.0, KWin gets native compositing support. The good thing is that it works nicely with the rest of the desktop (unlike Compiz Fusion, which still has some quirks when running in KDE). Things that work great: //Present Windows// (essentially Expose), //Desktop Grid//, Thumbnail previews, Shadows, Transparency etc.
Things I miss from Compiz Fusion: Desktop Cube, better keyboard bindings, plugin to easily take screenshots, and Shift switcher (like the Apple CoverFlow effect).
=== Phonon is sweet ===
Worked out of the box for me, using the Xine backend, which in turn automagically used ESD (well PulseAudio actually). It falls back to using the hardware directly if the ESD option fails for some reason. The sounds scheme is also subtle and fresh, I like it so far. In my regular KDE desktop I hardly have sounds enabled for any action or notification, but now I’m thinking maybe it is not such a bad idea after all. Sound can offer important cues without being intrusive like a visual bell or notification.
=== KRunner: a long way to go ===
I envision the new KRunner to become a universal search and action mechanism for KDE, just like Quicksilver is for Mac. I have written about Quicksilver alternatives for Linux before, but KRunner is nowhere even close. I have recently started using GNOME Do and it is shaping up rather nicely. In its current state, KRunner is just an application launcher with some goodies (like a Calculator, ability to launch web pages, web searches etc). Of course, under the hood a lot of the mechanism to build on top of it is already in place, but the functionality still needs to get to a point where it is useful to the user.
Even the application launching has quirks right now. For example, I open KRunner with ”Alt+F2” and start typing “Fire”. It gives me several options for Firefox, but the key bindings are not intuitive. If I press the arrow key (say I want to select the third option), it doesn’t let me. I first need to press Tab to get to the options listing and then the arrow keys work. There is a “Show Options” button that gets enabled if I click on an option, but it is not clear to me exact what it does.
I’m eager to see a proper plugin framework around KRunner so that people can start building actions to all kinds of services (both on the web and the desktop). A few example: amarok, kopete, kontact, beagle, strigi, google, remember the milk, twitter etc.
=== KDE 3 Apps work fine ===
I’m running Amarok, Kontact and Kopete and all seem to work fine. Oxygen integrates nicely with KDE 3 apps as well.
==== Overall: Exciting, stable but not ready for most users ====
Most of this is already well known. I do think distributions should be pro-active in advertising KDE 4.0 as a “Technology Preview” release. I really don’t think it is ready to be used by most people yet. The problem is not stability — it is very stable, and very fast. It is feature completeness: a lot of applications have not been ported yet, SystemSettings is missing a lot of modules, many things that users will expect are simply not there yet (configuring key bindings).
I’m expecting to see some quick point releases in the coming few months as the community pushes to bring KDE 4.x to a state where it is fit for consumption by the masses. As other pieces of the puzzle start to fit in (Akonadi, Strigi, Nepumuk etc), KDE 4 should evolve into a really fantastic platform. I’m excited! But for now, I might end up going back to KDE 3 :-)
> I’m eager to see a proper plugin framework around KRunner so
> that people can start building actions to all kinds of services
that already exists: Plasma::AbstractRunner. 4.1 will see extensions to it as well, such as scripting support and verbs-for-the-nouns.
note that runners that can be trained, etc, are not far off at all as the current classes can already accommodate that. there’s quite a bit of interesting stuff that can be done with it, but plasma is also taking my time. not enough chefs in this kitchen ;)
i agree that the UI has a long ways to go. i made the mistake of letting others who probably weren’t up to the task take two different runs at it and fail both times instead of just doing it myself. i’m not happy about it either.
the presentation, keybinding and all the rest of those issues stem from the UI which is actually the “i need something to show results right now, so put something together in an hour” UI i did probably 8 months ago now.
but beyond the UI, the krunner infrastructure is a lot further along than is user visible.
*@aaron*: First off, kudos to you and everyone else who has been working so hard to bring KDE 4 out, thanks a lot!
Have you looked at GNOME Do? I think its going in the right direction. Its written in Mono, and is a little GNOME centric. I’m not sure if it is feasible to have any kind of compatibility between the KRunner architecture and Do plugins, but its definitely something to think about. Looking forward to rapid improvements in KRunner as well! :-)
> Things I miss from Compiz Fusion: Desktop Cube,
When somebody does it. I personally don’t find it very usable (I get motion sickness from it), so I don’t consider it to be of a very high priority.
> better keyboard bindings,
???
> plugin to easily take screenshots,
Hit PrintScreen? Or together with Alt or Ctrl and then paste somewhere.
*@lubos*: Desktop Cube is certainly not high priority. However, the thing is that most people writing reviews or experiences KDE 4 will only get exposed to the immediate visual aspects of the desktop. While having the desktop cube is certainly not a requirement, KWin will inevitably be pitched against Compiz Fusion, Mac OS X’s cube etc, so its just something nice to have.
Regarding keyboard bindings, in KDE 3 there is a LOT (perhaps too much) of flexibility in how and where key bindings are defined: each application has its preferences (though I think “Shortcuts” vs “Global Shortcuts” is too confusing and should go away); then there are global bindings for the Desktop and applications in KControl; finally there is KHotkeys. A lot of these are missing in KDE4. Againt, nothing critical, but nonetheless extremely important from a daily use perspective: when personalized the right way, key bindings can be a HUGE time saver.
Of course I can take screenshots with print screen or KSnapShot, thats not the point. What I meant was something like what Compiz provides: I can press Super and click and drag the mouse anywhere on the screen and the marked area on screen is instantly captured. I can not tell you how valuable this is, because more often than not you don’t really need to capture the entire window. For instance, I end up taking pictures of parts of web pages, or specific parts of the desktop or the application window. You can always take a screen grab and crop it, but again, it is all about making useful things extremely easy to do.