A new battle is playing out in the Linux desktop arena.  See why Jack Wallen believes that today’s GNOME has pulled ahead of today’s KDE in terms of design, stability, and usability.

It seems like only yesterday that I was reading thread after thread of “emacs vs. vi” flame wars. Those were the good old days. Now the “emacs/vi” wars are pretty much over (with no decisive winner ever declared) and with it, most infighting among Linux devotees. Well — almost. A renewed war is brewing that should promise to bring with it as much sharp tongue and wit as did emacs/vi. This new battle? GNOME vs. KDE.

I realize that many of you are shaking your heads thinking either that battle never got off the ground or it was won long ago. That was then, this is now. The “then” was when KDE completely trounced GNOME in the desktop war. The “now” is GNOME — and GNOME is slowly but surely pulling ahead of KDE.

How could this happen? Well, read on to find out exactly why today’s GNOME (>= 2.22) is better than today’s KDE (>=4.1).

Note: This article is also available as a PDF download.

1: KDE 4

This reason (nay, the entire article) could end with three letters and a number “KDE 4.” The backlash from KDE 4 has been pretty severe. When KDE 4 was first released, it simply wasn’t ready. KDE 4 was a complete redesign, from the ground up, of KDE — and it showed. KDE took a solid desktop and pulled the rug out from under it. What replaced the ever-popular KDE 3.5 was something unstable, hardly usable, and as configurable as Windows Vista. Gone were the days of configuring KDE to your exact specifications. KDE was (and is) the first-ever “Microsofting” of the Linux desktop. The developers released something that was painfully worthless and refused to listen to the users when the users gave feedback. On the other side of the battlefront, you have GNOME, which is steadfastly moving forward — the same direction it has been moving for years.

2: Start menu

With GNOME, there are three simple menus from the main panel: Applications, Places, and Administration. It should be pretty obvious what you can find from each one. It should also be fairly obvious that navigating these menus is efficient and as simple as it is elegant. KDE 4, on the other hand, has an incredibly clumsy menu. If you click on the K menu, you will initially see five tabs: Favorites, Applications, Computer, Recently Used, and Leave. By default, the Favorites menu contains System Settings and File Manager. To open an application, you then must click on the Applications tab, navigate to the category the target application will belong to, find the application entry, and click on it.

This can be made irrelevant by adding an application launcher widget to the panel. But if you’re like me and you use numerous applications, you will quickly have a panel full of launchers. This KDE menu system needs some serious streamlining before it can be considered an efficient use of a desktop.

What’s worse, at least for the new user, is that finding the menu editor tool is not intuitive. There’s no entry in any configuration control panel. To edit the main menu, you have to right-click the K button and select Menu Editor. But even then, you can edit only entries within the Applications tab. You will also notice another entry in the K button right-click: Switch To Classic Menu Style. This menu style is more in line with what most users are accustomed to, But again, what new user is going to know to right-mouse click the K button to find this?

3: Nautilus vs. Dolphin

With KDE 4 came the new file manager, Dolphin. Prior to this change, KDE had the best graphical file manager available on ANY operating system — Konqueror. But now, KDE uses Dolphin, which is similar to Nautilus minus the stability. Nautilus is a no-frills file manager. It does one thing and it does it well: It manages files. It has add-ons for Dropbox (and integrates with that system seamlessly) and is very stable.

Dolphin, on the other hand, was an attempt to get away from what was considered the bloatware of Konqueror and to adopt a more simple, streamlined file manager. What they have created is a file manager that has features most will find worthless. Take for instance a file/directory rating and comment system. If you are the only user on a machine, what use is a file/rating system for your files and directories? I can maybe understand this if you are on a multiuser system, where users depend upon files being rated. I would like to think that Dolphin would lend file/directory tags to the KDE search engine, but it does not. So honestly, I can’t think of a justifiable reason for adding bloat to an application that was supposed to be free from bloat.

4: Foundations

When KDE 4 was built, it was created on Qt 4 in the hopes that KDE could (and would) be ported to other platforms (such as Windows and OS X). This was a huge change from the previous Qt 3. With this change, KDE had to be completely rebuilt. GNOME 2.24 continues to use GTK+ 2 but includes flags in the code to enforce stricter compatibility with the upcoming GTK+ 3.These flags are included so that when GTK+ 3 is put in production use, the transition for developers will be seamless. When you install GNOME 2.24, you’ll be using is the newest release with many new additions, but the underpinnings are effectively the same. Because of this, the latest GNOME is still stable (even while containing flags for the migration to a new foundation.) vs. KDE 4’s instability. Yes, this instability is due to the immaturity of the code base, and I fully understand and appreciate that. I have to admit it would be cool to have a Windows port of KDE. But to port KDE 4 (and its huge code base) to Windows would take a great deal of resources. Considering how far KDE 4 has to go before it is truly production ready, I think redirecting any viable resource away from the main project would be a mistake.

5: Resources

One issue where KDE 4 has bragging rights over its predecessor is memory management. According to the developers, KDE 4 uses approximately 39% less memory than KDE 3.5 does. GNOME 2.24, on the other hand, uses less memory than KDE 4. On my running system, from a fresh log in, KDE reveals 1268876 K memory usage in GNOME vs. 1279348 K memory usage in KDE 4. That is a change of 10472 K. Granted, this is not a huge difference. But it does show that GNOME requires less hardware to run. And when you’re running the desktop, you can certainly tell the difference between a default GNOME 2.24 and a KDE 4.1 desktop. You will also find that KDE 4 is a bit flakier with video cards. Even NVidia cards, which typically “just work” with Linux, can have some issues with KDE 4. NVdia suggests several performance tweaks to get KDE 4 working with its cards older than GeForce 8.

6: Clutter

With the advent of KDE 4 came the widgets. With the widgets came clutter. KDE 4 emulated the OS X dashboard with its plethora of widgets and tiny applications that can do various and sundry tricks, all the while making your desktop a veritable junkyard. I am currently staring at a KDE 4 desktop with a single widget, Desktop, that is doing nothing. What is it? It is a simple file manager for a single directory — ~/Desktop. This widget is on the KDE 4 desktop by default. Why? I have no idea. When I can open up the file manager and see what is in my ~/Desktop folder without having extra clutter on my desktop, why would I need a widget to do that for me?

The widgets included with KDE are fairly useless. Naturally, developers are going to leap onto this and create some pretty nifty widgets that might actually add some worth to the whole dashboard metaphor. But as it stands, I prefer to keep them off my desktop. Of course my desktop is not everyone’s desktop. I do understand that there are plenty of people out there (like my wife with OS X) who like to have all those bells and whistles on their desktop. KDE 4 will give those people plenty to play with. But those of us who prefer a workspace that is efficient and clean will want to stay clear of KDE 4.

7: Customization

You would think that KDE 4 would allow for nearly infinite customization. What KDE 4 does allow for is the addition of tons of “things” (widgets, panels, etc). You can change the size of your panel and reposition it. But that’s really where it ends. Unless you add a theme to KDE 4 you can’t change the look of your panel. Not so with GNOME. With GNOME, you can pretty much do whatever you want with your desktop. That is the Linux way. KDE 4 has gone the way of Windows, locking the user down to limited configuration options with regard to the look and feel of their desktop.

Now you might think this is counterintuitive to the whole “efficient workspace” argument I frequently make. Not so. One of the nice things about the typical Linux desktop is that it lends itself to customizations that can fit almost any need. To make up for lesser configuration, KDE 4 glazes over the desktop with the addition of, yet again, more widgets. Take this, for instance: With KDE 4, you have one mouse menu, the left mouse menu, which offers Konsole, Run Command, Desktop Settings, Unlock Widgets, Lock Screen, and Leave. Gone is the Winlist desktop menu, where you click a mouse button to see what applications are running (and select a particular program to get focus). KDE 4 has also removed the ability to add mouse menus. Without mouse menus, the desktop has become even less efficient.

8: System Tray overkill

You know how it seems like a never-ending lineup of System Tray applets will load and load and load and load with Windows?. By default (on a Fedora 10 KDE installation), the following applets are in the System Tray: Sound, Wifi, Klipper, Power, Beagle, Knotify, Battery Monitor, and Clock. GNOME? Power, Wifi, User Switcher, Clock, and Sound. The biggest difference is that the GNOME System Tray loads instantly (allowing Power and Wifi to come up as detected), whereas KDE’s System Tray loads up one after another.

But load time of a System Tray isn’t so much the issue — it’s space. If you tend to have a lot of application launchers on your panel, an already full System Tray could make for a very cluttered panel. It is my opinion that Beagle could be folded into the K menu, and that the Battery and Power applets could easily be one. This is typical bloat in the KDE 4 desktop that isn’t limited to just the System Tray, but the System Tray is a perfect example.

9: Default applications

As stated earlier, the default file manager in KDE 4 is not good. The original default file manager, Konqueror, was moved over to act as the default Web browser. Don’t get me wrong, I think Konqueror is a fine Web browser. But when you are trying to win over users, and show everyone that yes, Linux is just as easy to use as Windows, the last thing you want to do is give them something completely foreign as a Web browser. That’s the tool they will use more than any other tool. When you have a Web browser available that is giving Internet Explorer a serious run for its money, AND is one of the best browsers available, why not make that the default? On top of this, they made KOffice the default office suite. This is a serious problem because KOffice isn’t even compatible with Microsoft Office. Try opening up .ppt files in KOffice and see what happens. At least GNOME has the intelligence to make Firefox the default Web browser and OpenOffice the default office suite. Of course, you can change the KDE 4 defaults. But the new user doesn’t want to have to install and set a default application right off the bat. These things should be done correctly upon installation.

10: KDE = Vista?

Ask anyone about Vista, and you’re sure to get a negative reaction. Vista has been nothing more than a failure for Microsoft, and KDE 4 seems bent on emulating Vista. You can even add Emerald and theme KDE 4 to give it the glass feeling of Aero. But why? Linux is Linux, and one of the things that makes it Linux is that it doesn’t look or feel like Windows. The OS X interface doesn’t share much with Windows, and neither should a Linux desktop. It seems that KDE opted to take the route more often traveled. I get that, I do. But even in the name of new users, it seems counterintuitive to the Linux way. Don’t get me wrong, I am not advocating that the Linux desktop be different just to be different. But I am advocating that the Linux desktop be true to its core. Linux is about stability and flexibility. KDE 4 (at least in its current state) goes very much against that, whereas GNOME (in its current state) holds true to those values.

The battle continues…

This battle isn’t over and will be waged for a long, long time. But while competition will continue to breed innovation, that innovation needs to be forward leaning. Prior to 4, I would have picked KDE over GNOME any day. But with the advent of 4, I have to say GNOME is far ahead of KDE in terms of design, stability, and usability. What’s your pick?