Monday, January 26, 2009

KDE 4.2: I'm tired of Pundits, Here's MY Take

So I am writing this rant on the eve of the release of KDE 4.2, and in the face of interviews from Linus Torvalds stating that he abandoned KDE after the 4.0 release, and partially in response to Steven Vaugh-Nichols negatively equating 4.2 to Windows 7. My bottom line: I've been using KDE since around the time version 2 came out, and while KDE 4.2 is not perfection, it is better than the 3.5 series, and as of right now 4.2 is easily my favorite Linux desktop... and this rant will address some complaints I've seen and to dissect which complaints are warranted and which are not.

Before going any further, some nomenclature for those who have never dealt with KDE 4.2, please skip this paragraph if you are well versed in the KDE 4 series. The biggest new interface component of KDE 4 is the plasma display engine, and the new "plasmoids" that now compose the KDE 4 desktop. Everything you see on your desktop that is not a normal running program is a plasmoid. This includes the menu bar, the application launchers, the task bar, as well as anything occupying the background of the KDE desktop. For those familiar with Mac OS X widgets, plasmoids that exist on the desktop may serve the same purpose as OS X widgets (for example, see the weather plasmoids above). However, plasmoids go way beyond just widgets to encompass all the elements you interact with on a desktop other than actual windowed programs. Want to add a quicklauncher to the menu bar? That's a plasmoid. Want to run a program via alt+F2? Another plasmoid used to run programs. Plasma has replaced kicker, kmenu, superkaramba, and Kdesktop, but it has born the brunt of criticism about how KDE 4 is inferior to 3.5.

Let's see a picture of my KDE 4.2 RC 1 desktop that is running on Kubuntu 8.10 to give a baseline of what my desktop looks like:

The Usual Suspects

In rapid fire succession, here are the typical complaints I've seen trotted out against KDE 4. Some were never actually true, some were true in the early days of 4.0 but are no longer true today:

  • There are no icons on the Desktop!!

    It is true that in most configurations KDE 4 does not put icons directly onto the desktop. However, even since the first betas of 4.0 came out it has been possible to do the exact same thing... simply put a folder view plasmoid onto the desktop, and resize it to take up all the space on the desktop, and BAM, icons on the desktop. In fact, this plasmoid is included in the default KDE 4.2 configuration, so you don't even have to do any work to activate it. As you can see in the picture above, I have icons on my desktop... along with a bunch of other useful stuff, which I'll address below.

    Vaughn-Nichols mentioned that he had to right-click in order to add icons to his desktop... I'm not sure what he meant by that. The folder view allows one to add a new file or folder via right-click menus, but I opened up Dolphin and did a drag & drop of an existing file just fine without any right-clicks... which makes me wonder a bit about what Mr. Vaughn-Nichols was doing with his desktop.

  • The Cashew Haunts My Waking Nightmares!

    "The Cashew" is at the top-right of the screen by default, and serves as an access point for configuring plasmoids. If you really hate the cashew THAT much... there's a plasmoid that will get rid of it. I admit that I'm not convinced The Cashew is the optimal way to access plasmoid configuration, but at the same time it is pretty innocuous. If you move or maximize a desktop window, The Cashew will be covered over by it and life continues on as normal. I think The Cashew is symptomatic of some users who perceive any change as the apocalypse instead of realizing that while The Cashew might not be your favorite nut, it won't give you food poisoning.

  • You can't hide the menu bar!

    True in the earlier releases of KDE 4, but as of 4.2 you can both set the menu bar to autohide, AND you can resize it to be thicker or thinner than the default. I personally thinned my taskbar out, but kept it visible on my desktop, but the option is there to hide it completely. See screenshots below:

    Hell, if you want to, you can COMPLETELY REMOVE the panel (the taskbar is simply one plasmoid sitting on that panel). The flexibility of plasmoids allows you to move the plasmoids that traditionally sit on the panel, and put them out on the desktop itself! KDE 4 allows for customization in ways that other Linux environments do not even imagine.

  • The default window decorations are UGLY!

    While this is an aesthetic judgment, I actually agree with this complaint. So why is it in the section of invalid criticisms? Because you have plenty of choices when it comes to window decorations! For those of you who miss KDE 3, guess what: the Plastik theme is still there so you can get some KDE 3 look & feel back right away. For a more adventurous look I recommend Bespin (named after Lando's pad) which has a smooth look and a plethora of configuration options. If you think KDE's themes are bloated, there is the Skulpture theme that is very minimalistic, can be configured to use very little screen real estate, and is my personal choice for KDE on my laptop. Below is a screenshot of Konqueror doing file browsing with Bespin: (Note the tree view: yes, another complaint knocked out because there IS tree-view file browsing in KDE 4!!)

    If you want to argue that the defaults in KDE should be better chosen, be my guest, although there will be plenty of people who disagree with my choices too. The exact same argument can be made about 3.5 so don't hold it against the 4.X series. The bottom line is that KDE 4 can be made to look the way YOU want it to. I haven't even gotten into the plasma themes which give you a great deal of choice in how your plasmoids and taskbar appear. I a using the "Naked" theme because it is very clean & minimalistic in appearance (see desktop screenshot above).

  • The compositing is slow & bloated! It isn't Compiz!!

    OK, this is subjective, but the compositing is smooth enough for me even on the crappy Intel x4500 integrated graphics on my laptop... not as smooth as I'd like, but definitely useable. I can say from my experiences with Compiz + XFCE on the exact same notebook that Kwin is the smoother of the two. If you think compositing is useless bloat... turn it off (easy: ALT+F12 if you don't like using the GUI configuration). For all of you about to complain about Nvidia + KDE 4: Get an updated driver, preferably one in the 180 series like 180.22, the bugs with plasma and Nvidia cards have largely been solved. I know because the desktop I'm writing this from has an 8800GT and is extremely smooth & stable.

    For all of you addicted to compiz bling, well: kwin4 does NOT have all the "features" of compiz, although it has the ones I personally care about most like the desktop wall for managing virtual desktops (yes the cube and even a sphere are options too). The scale plugins for Mac OS X expose-like functions also work fine. If that is STILL not enough for you guess what... KDE 4 allows you to use compiz instead of Kwin (although I don't guarantee everything being bug free) Just go to: System Settings -> Default Applications -> Window Manager. Personally I think Kwin is better because it is smoothly integrated with KDE, and is actually quite fast at doing a few things right instead of being obsessed with bling, but the choice is yours.

  • Application X is broken!!!

    Everybody is a little bit different, but I'll go through some major applications at this stage. Konqueror is probably better in 4.2 that it is in the 3.5 series, both as a web browser and as a file manager. The KIO components still exist, I personally love using the sftp:// component which is fully operational, as is browsing of samba shares, and regular file management. Konqueror as a web browser will REALLY move forward in KDE 4.3 as the Webkit integration in Qt 4.5 will make for a major improvement... but then again, I've used Firefox in both KDE 3 and KDE 4 as my primary browser anyway. Konsole is working fine with the only features I'd like to see reintroduced being the "send input of this terminal to all terminals" option, but that's not an absolute must-have. Amarok: The betas for 2.0 were not so great, but I will say that 2.0.1 is both stable and has the core features I need to manage my music... having said that extra work on equalizers and bling plugins is still to come. Koffice: Well, I hate to say this but I didn't use Koffice with KDE 3, but I've heard the next version of Koffice is in the late-beta stage right now and is apparently shaping up well. The biggest "missing-link" right now is definitely K3B which is still currently a KDE 3 app right now (although they are developing the next major release for KDE 4).

    Of course, just because you are running a KDE 4 desktop this does NOT mean you can no longer run KDE3 applications... in fact as proof I have a screen shot of K3B running on my KDE 4 desktop for all of you who might not believe. Additionally, KDE 4 can be configured to use Firefox as the default web browser, so the RSS plasmoid you see on my desktop will open up a new tab in Firefox when I click on a story... KDE 4.2 is playing nice with non-KDE 4 applications!


    OK THEN CHANGE IT! Sorry for yelling, but seriously. Look, I'm more of a power user, I either put commonly used programs in the quicklaunch plasmoid on the dock (see my screenshot above at the lower left) or I just use the ALT+F2 combo to run a program (BTW the krunner in KDE 4 is badass and gives quicksilver a run for its money, try it out!) However, I will concede that the new "K" program launcher is different and this may cause consternation to some users. Well guess what... there are two alternative program launchers for you to choose from. First, is the "traditional" launcher that keeps the same app structure from KDE 3.5, and the other is the Lancelot launcher that many people are very positive on (Lancelot may become the default in future releases). The bottom line is this: If you don't want to take the 5 minutes it takes to learn a new launcher, you can restore the functionality of the old one. You ARE missing out on the new advanced search features that make using the new launcher much easier, but don't accuse the KDE 4 developers of depriving you of your old techniques either.

  • You can't configure anything anymore!

    Uh... see above for all different choices you have in configuring KDE. If anything, the old complaint about KDE having too many configuration options is still true in KDE 4.2, although that is one reason I've always liked KDE. As you've seen from my screenshots, my KDE desktop ain't looking like a fresh outta da box KDE 4 install your distro will give you by a long shot... and that's (mostly) due to me configuring it using the standard KDE System Settings panel.

    Here's a quick fire list of things you can still do even if some anonymous poster said you couldn't:

    • Configure window behavior (focus on click, focus follows mouse, auto raise, etc.)

    • Configure background wallpaper (duh.. but if you are adventurous you can manually configure per-desktop wallpaper, a feature that will be fully supported in 4.3)

    • Configure keyboard shortcuts for applications & for the desktop in general. I use it to tweak keyboard shortcuts for compositing functions

    • Install fonts easily & tweak all the fonts on your desktop

    • Use a special style to make GTK apps blend in better with the rest of the desktop

    • Install new color themes, and have minutely detailed configuration options to change widget colors to your own liking. (I personally stick with the preconfigured themes)

    • Adjust the default applications that will open given file types. For those of you who passionately hate Dolphin: You can set Konqueror as the default file browser too! I will give Dolphin credit as an app that has vastly improved since 4.0, but I still prefer Konqueror for heavy-duty work.

    • Notifications: The "feature" here is that you can turn off the bouncy icons & other annoyances... KDE 3 == KDE 4 in that respect.

    • Ripping from audio CDs: the kio slave for that works too, although MP3 support is still an option (just like it was in KDE 3, no better no worse)

    • LOTS of other stuff... if you think you can't configure it in KDE 4.2, please post how you would configure it in 3.5 below and I'll try to figure out if the option is actually missing from 4.2, or if it is just done in a slightly different way.

OK so there are features.. how is it BETTER than KDE 3.5?

Vaughn-Nichols seems to think that all the new features in KDE 4.2 are getting in the way of actually getting work done. I could not disagree more with this assessment, both because KDE 4.2 is still using the basic KDE paradigms, but also because it adds new & better ways to access information. The following is an incomplete list of ways that KDE 4.2 actually makes it easier to get work done.

First, the plasmoids I have configured give me quick and condensed information at a glance that would require much more work to achieve via a normal web browser or file browser interface. The fact that plasmoids are now first-class citizens in KDE 4 means that they will gain much more functionality than what superkaramba applets ever had in 3.5. Secondly, the "bling" of kwin's composite puts every window on my desktop a mere keystroke away at any time, much faster than even the ALT+TAB switching of older KDE versions. Third is the new krun interface. As a power user, I find krunner's powerful search & complete options to be a big improvement over KDE 3.5. However, krunner does not stop there, it can act as a simple calculator, unit converter, and spell checker as well. Fourth, the data indexing and semantic services Nepomuk and PIM database Akonadi are just now starting to come into their own as powerful tools that make it easy to search both the desktop and web for information. These data engines are integrated into KDE 4 in ways that are much more organic than any search options for 3.5. Finally, KDE4's newer applications like Okular and Gwenview are excellent programs for dealing with PDF files and viewing raster and SVG images. The new and improved KDE4 and Qt4 frameworks are just now being exploited to provide new and exciting software applications that improve productivity beyond what KDE 3.5 could offer.

So what are MY complaints about KDE 4.2?

I like KDE 4.2 a lot, but like anything else, there's room for improvement, and I'm not afraid
to point out where there is an actual need to improve things.

First, I'd like to see some third-party code integrated into the more "official" releases of KDE. I know that some of this work is actually the responsibility of the distro and that after KDE 4.2 is out the distros can smooth this process, but here are a few suggestions. First, my favorite plasmoid of all time is the Yet Another Weather Plasmoid which does an excellent job of showing weather predictions, including smooth-scaling radar maps. I'd like to see the main KDE developers show more interest in including popular third-party plasmoids into the main distribution. The Bespin & Skulpture themes could also be brought into the main tree as well. This would also encourage more third-party activity, as it would be a great way to gain some fame by getting your plasmoid into the official KDE build tree. Additionally, good plasmoids would make for great Google Summer of Code projects assuming Google doshes out the cash this year.

Second, yeah: KDE 4.2 still has bugs (but then so does GNOME, XFCE, KDE 3.5, etc. etc.). The system tray needs some work. It is functional, but the icons don't scale & refresh properly as of RC 1. This is mostly polish, but needs to be done. Amarok 2 is not bug free, but at least it doesn't crash on me in normal operation, keep at it! Finally, things are relatively smooth, but can be made faster. My personal vote is for making Konsole as fast to display & scroll as an old-school xterm is, which would be a great way to show off how a KDE environment does not have to be "bloated".

Third: There are still some things to get ported to KDE 4. Aside from K3B mentioned above, the big one for laptop users is the network manager applet. THe KDE 3 version does work (I'm using it now) but my wireless will be much happier with a proper KDE 4 network plasmoid. Fortunately, work is already underway on a KDE 4 plasmoid that will deliver this needed functionality.

Fourth: Artwork! KDE 4.2 has a surprising number of themes already, but more wallpapers, color schemes, and artwork are always welcome. High resolution wallpapers at 1920x1200 or 2560x1600 would help, as would nice SVG wallpapers. Slick looking SVG icons don't hurt either!

Finally, the whole issue of what went wrong with the earlier releases of KDE 4 needs to be put to rest... everybody involved deserves a little blame. Was KDE 4.0 ready for general consumption? Clearly no. The developers did try to warn us that 4.0 was really only in place to provide infrastructure to get application developers to migrate over, but no disclaimer is going to stop the lemmings from being attracted to a nice round number. The distros are also partially to blame in that some of them pushed KDE 4 way too early, and made the problem worse by dumping 3.5 too quickly (WHY can't you have a .kde3 and .kde4 directory coexisting??!?!). Finally, the users themselves are partially to blame. We got used to a very mature platform in 3.5, and expected a major re-write to be feature complete and bug free almost immediately. Instead of properly filing bug reports and feature requests (or even trying to help out with actual code) far too many users started venting about how KDE 4 was a "disaster" and that KDE was dying etc. etc. None of this was helping the actual developers to improve KDE 4 any faster.

To all You Playa Haters Out There

First of all, to all you Gnome guys: I got nuthin' but love for ya. If you hated what KDE was before KDE 4 came out, I'm not on some religious mission to convert you. However, I hope this rant and attached screenshots did help to dispel some of the things you may have heard second-hand about what a "disaster" KDE 4 is. Just remember that the talk about what will go into Gnome 3.0 is bordering on the same level as what KDE 4 has already gone through. As Aaron Seigo pointed out in his blog, there was pain, but in my not so humble opinion, I think the pain of creating KDE 4 is already starting to pay dividends and that KDE 4's development is ready for rapid expansion. If the Gnome team is prepared to endure what the KDE devs have, they can make some big improvements to Gnome too. Also, I did note that the KDE 4 dev process has not been flawless, and the Gnome devs can learn from what the KDE guys have been through too. After all, we're just one big happy family bound together by D-Bus interfaces right?

Now on to the rest of you who either jumped on KDE 4 too early without having the right expectations, are trying out Beta KDE 4.2 builds right now with an expectation that everything will be just like 3.5, or haven't even tried KDE 4.2 at all but have "heard it on the street" that KDE 4 was hopelessly broken. KDE 4.2 is not "broken" and has reached a state where it is a solid replacement for KDE 3.5 for me at least. If you are not as adventurous as I am, then PLEASE do not use KDE 4.2 before it has been officially added to your distro of choice. For example, even though my version is from Kubuntu's repositories, the support is not 100% and that could be the source of some bugs that might not even be KDE's fault.

Finally, some people REALLY hate change. Oh they say they love change, they wear "Change We Can Believe In" buttons, but deep down they don't want to have to change their ways. To you guys, especially the ones who constantly post useless flames about KDE 4, I say: put up or shut up. I've been using computers since I had a Trash-80 back when I was a kid. I remember screwing with my autoexec.bat and config.sys files to squeeze out extra low memory in DOS, and I started in with Linux in 2000 right when the 2.4 kernel & KDE 2.0 were both bleeding edge... so get off my lawn!! No seriously, the point is that things change, and as I've pointed out above, many things have seriously changed for the better in KDE 4.2. If you don't want to learn something new that's great, but you lose your right to complain when people with more vision than you see that the old ways are not cutting it anymore and that change is necessary. This is doubly true in the world of FOSS. I've seen plenty of ignorant forum posters bitch about "forking" KDE 3.5 based on Qt4, but I haven't seen a single line of new code. In the meantime, I've seen the KDE 4 devs bring KDE 4 from a toy project to a desktop that I'm happy to use fulltime. Was it always pretty? No. Is it perfect right now? No. BUT: KDE 3.5 wasn't perfect either, and it took both bravery and perseverance to get KDE 4.2 to where it is today.

For those who say that they cannot deal with a new desktop, get over yourselves. KDE 4 is not really that radically different in the big picture. I mean, you run programs on a desktop! Sure things are being done a little differently than KDE 3.5, but get a grip for a second, the KDE 4 series is definitely still KDE at its core. It is not rocket science to learn KDE 4.2 if you really knew what you were doing in 3.5, and the payoff will be a very refined desktop that is both visually pleasing as well as very functional.

So as of today I say: Viva la KDE! I think 4.2 is a major milestone, and I'm already looking forward to screwing around with the 4.3 betas in a few months. The real innovators in FOSS software are not making stupid rants like this one, but are making SVN and git commits even as I type this. To them I say thank you, and only listen to the critics if they file properly documented bug reports!