KDE 3.4: The Good, the Bad, and the oh so purdy

Submitted by Larry on 24 May 2005 - 10:06pm

So I finally bit the bullet and switched to KDE 3.4. Those who know me will know that I am a big fan of the KDE team's work, and every version has some compelling reason to make me upgrade. There are a couple of them this time around, although as always there's a few places that need some work.

My main desktop runs Debian Sid, the "Unstable" variant. Of course, in practice it's still fairly reliable despite the name. Things do get weird on occasion, but so far nothing show stopping. It's also reasonably up to date (usually more so than Gentoo stable but less so than Gentoo unstable, or masked, or whatever they call it), but KDE 3.4 has been delayed because Sarge, the current Testing version of Debian, is soon to go stable, and the fewer big changes there are in Debian right now the easier that will go. Fair enough, I suppose. Fortunately, the Debian-KDE team has made pre-release packages available for impatient folks like me. Thanks guys! Installation was fairly smooth, except that the kdelibs-data package wanted to overwrite a file owned by kplayer (a video player based on the mplayer engine, for those not familiar with it) and kplayer wouldn't uninstall until kdelibs-data was done installing. A quick Force Overwrite (a useful Jedi power) solved that, and I was soon staring at the new and improved KDE 3.4.

For the impatient: Two thumbs way up. I like it. Great job guys!

For those who want details: The full list of KDE 3.4's improvements is available online, and is too extensive to cover in detail. Instead, I'd split the big ones into three categories: KIOSlaves, KDE-PIM, and Enhancements.

The Enhancements are the most general and easiest to cover. Everything feels faster. KHTML (the browser engine) has had many bug fixes and now supports CSS and bad code better. (if you're writing bad HTML code, though, shame on you!) On the down side, it still doesn't handle Google Maps and still defaults to the non-RIA version of GMail. Come on, guys, RIA's are the in thing these days, for better or worse. It does supports WordPress' JavaScript-heavy message posting form, though, which is quite nice to see.

Another new feature is the replacement of the IDEAl interface with the Konqueror-tab interface. In KDE 3.3, many applications offered two types of tabbed toolbars: Either traditional top tabs that are always visible or tabs down the left side that pop out their control panel over the main window when selected, then slide back after you push a button. The latter is also used by programs like Microsoft's Visual Studio. In contrast, Konqueror was alone in having side-mounted buttons that, when clicked, expanded their toolbar next to the main window and then remained open until another button was pressed. Selecting the currently open tab hid it and expanded the main area again. In KDE 3.4, most applications including Kate (KDE Advanced Text Editor, great programmers-editor) and Quanta Plus (web-centric editor) have dropped the IDEAl (Visual Studio) style interface and instead work like Konqueror now. I don't know who made that decision or why, but they deserve a big round of applause and a big kiss from the gender of their choice. Bless you! The Konqueror-tab style interface is the best use of tabs/dockable toolbars I've ever seen, and the more exposure it gets the better.

There are various other tweaks in places, including in the KControlCenter. Curiously, there is now a control panel specifically for the Logitech MX Duo wireless mouse/keyboard combo (great setup, I have the older edition and love it), but the keyboard itself (and its many extra buttons) are not directly supported by the Keyboard Layout applet. Strange.

The wider use of KIOSlaves is another area where KDE 3.4 shines. KIOSlaves, for those not familiar with it, is based on the idea of treating everything as a URL. That makes all of the following perfectly valid file names:

See where this is going? As far as a program opening a file is concerned, those are all transparently the same and equally accessible. KIOSlaves have been around for a while, although it was in the KDE 3.x series that they've really taken off. They make remote and local files and resources effectively identical, meaning you can drag and drop and edit files to your heart's content without caring where they are. It all "just works".

In KDE 3.4, several new KIOSlaves have been added to the dozens already included.

  • Instead of a trash directory, there's now a trash:/ KIOSlave that supports recovery, deleting multiple files of the same name, and drag-and-drop to a Kicker (toolbar) applet.
  • The new remote:/ KIOslave is a collection of slaved links to remote directories and file shares via SFTP, SMB/Samba (Windows shares), FTP, or even WebDAV. While all of those were available before, having them centralized with a simple wizard and a Kicker menu of their own makes accessing remote resources a breeze. The only downsides are that it doesn't store ssh terminal sessions and for some reason the SMB KIOSlave still doesn't save my password properly. Grrr.
  • The settings:/ KIOSlave offers a Windows Control Panel-like access to KDE's assorted control panels as an alternative to the centralized KControlCenter. Great idea. Unfortunately by default on my system, the actual panel applets themselves seem to default to opening in KWrite instead of executing. Oops. Still need to see how to fix that.
  • The media:/ KIOSlave, though, is probably the coolest. It provides a My Computer-esque listing of all storage devices on the system (hard drives, floppies, CDs, ZIP drives, etc.) with decent auto-detection as well automatic transparent mounting on use. Unmounting is available through a right-click option. While that may not seem like much, it's the first time I've had decent, useful access to my USB card reader in Linux without a hassle. It also integrates the old audiocd:/ KIOSlave, which allows for file-like browsing of audio CDs and drag-and-drop ripping to a variety of audio formats. Why rip CDs any other way when KDE will automatically fill in all the metadata and let you drag and drop them freely? Now if I can just figure out how to have it hide the fixed HDD partitions so that I can't click them accidentally...

There are other KIOSlave improvements, but I think you get the idea. An amazingly cool idea has gotten even better and really proved itself as a viable system architecture. KIOSlaves really need to be separated from KDE into a separate component and pushed all the way down the stack, since the kernel folks still haven't figured out how to handle devices in a way that makes sense to non-command line Unix junkies. They're just that cool.

But wait, there's more!

The final big change in KDE relates to KDE-PIM, the KDE Personal Information Management suite. KDE-PIM is a series of complementary programs for e-mail (KMail), contacts (KAddressBook), and so on that can run independently or dovetail into Kontact, the integrated application that was spawned by the German government and the Kolab groupware project. New in KDE 3.4 is the inclusion of aKregator, an RSS client. More than just a standalone app, though, aKregator ties into the Konqueror web browser as well to allow users to add an RSS feed with a single click. Firefox has that too, but doesn't have a real RSS reader. RSS feeds are a sort of magic bookmark. In Kontact, they're a module of their own with built-in mail-like previewing and the ability to view the full original story in an embedded Konqueror tab. The integration is truly wonderful, and means that I don't need to sit and reload a few news sites periodically to see if I can waste time reading them. They'll come to me to waste my time, with less waste time wasted waiting for an ad-heavy index page to load. Awesome!

Also new is improvement in KMail's IMAP support so that, at least on Disconnected IMAP, client-side mail filters actually work. While not as good as client-side editing of server-side filters ("sieve" is supposed to do that, if I could find any actually useful information on it), it is enough for me to migrate completely from Thunderbird to Kontact for all of my mail needs instead of using KMail for some and Thunderbird for others. Besides being an easier interface with just one program to have to remember, it means fewer resources needed by Thunderbird since it's not running. Not that Thunderbird is a bad program, mind you, it has some great features, but the suite integration of KDE-PIM is my deal-maker. Now I just need to get my address book moved over and get my Palm syncing to it. Hm, maybe I should look into LDAP... :-)

Unfortunately it's not all good news. The bizarrely-pronounced Kopete, KDE's answer to Gaim, is still not up to where it needs to be. Dropping Gaim and switching to Kopete, Kopete proceeded to load several of my contacts twice, once with their IM name in all caps and once not. Strike one. There is still, as far as I can tell, no way to automatically group all private chats into one tabbed window and all group chats/channels into another. That's one of the nicest features of Gaim for people like me, who have far too many people who won't stop talking to them. :-) Strike two. Speaking of tabs, where there are default keys for next and previous tab there's still no "go to tab #X" keybinding the way that Gaim, Konqueror, Firefox, and Opera (read: every other major tabbed application) have. Konqueror doesn't have keys bound by default, but at least the option is there. Kopete doesn't even have that. Strike Three. Still speaking of tabs, in Gaim each tab is named with a person's name and a small icon indicating the network they're on with little padding. I can easily get 4-5 tabs in a single small window. In Kopete, still, there is much more padding and the name includes the person's status, often as long as the person's name. I'm lucky if I get two tabs in the same sized window. Remember what I said about getting lots and lots of IMs? Strike Four. Oh yes, and all of these problems were present in KDE 3.3, and still haven't been addressed. Strike Five.

Enough with the Douglas Adams references, but I think you get the idea. Back to Gaim it is for now. I really wish I could go all-KDE, but for now Kopete is still the weakest link in an otherwise increasingly solid application suite. On the plus side, there's now a built-in gtk-themer so that Gaim looks less like a gtk app and more like a gtk app with rather bizarre KDE makeup applied. Kinda weird, but I like it. :-)

There are a lot of other new features and improvements, as well as some minor bugs, but I think you get the idea. KDE 3.4 is a significant step forward for The Linux Desktop(tm). Although not perfect, it shows off the excellent work that the KDE folks are able to do with the excellent infrastructure that they've spent the last half decade plus building. KParts and KIOSlaves are remarkable technologies. I look forward to seeing what the KDE folks are able to pull off for KDE 4.0 (coming next year or later to a computer near you). The temptation to teach myself KDE's API and help out is strong. Maybe I'll do just that. :-)

kartik (not verified)

2 March 2006 - 9:30am

ya i completely agree regarding kopete
i tried to use it but i prefered gaim instead
it is far behing than gaim