So many operating systems and so many graphical desktop environments… This article is a comparison of the UI and usability of several Desktop Environments (DEs), that have been widely used, admired and reviled: Windows XP Luna, BeOS 6 (Dano/Zeta), Mac OS X Aqua and Unix’s KDE and Gnome. Read on which one got our best score on our long term test and usage.
First of all, please let me apologize in advance for not including QNX’s Photon, OS/2’s WPS, Amiga Workbench, Solaris’ CDE, IRIX’s 4Dwm or other X11 desktop environments in our comparison. While I have used all the above during the last two years, I don’t have them readily available on my machines anymore (for example the SPARC and Octane & Fuel review boxes we received last year were returned to Sun and SGI respectively), so I decided to include in this test only operating systems that I can reboot at any time and test them more thoroughly when and if I need to.
Also note that this is a quick overview. We can’t possibly cover these environments in-depth, as that would take not five pages, but probably one hundred and five. I am sure that our readers will agree on some points while they will disagree on others. This is fine and normal, so please keep the discussion in our commenting area intelligent and calm. What we are comparing here is the overall user experience generated by these desktop environments and their underlying OSes.
I include the BeOS in this comparison not because I consider it an OS with a bright future but because it was very highly regarded in
its heyday and it still good (in other words, even after 2,5 years of the last update by Be, at least in the desktop area, not many OSes have managed to surpass it yet).
Third note: what we are testing here is not just how things look. The “eye candy” factor is just one of the many factors that makes a DE great or… sucky. Some other factors are when a DE is easier to use or more “delicate” or more speedy than another, or more consistent or more integrated. But let’s start with the looks, as it is the first thing someone will notice when first loading a graphical DE.
The Look and Feel
I recognize that this part is kind of subjective. Some like small fonts, some like bigger fonts, some like funky buttons, others like….
Nevertheless, no matter the different tastes, there is always a threshold line where the majority of people will define as “good”, while under that line would define as “bad” all in one voice. Speaking for myself, I like clear as crystal widgets, with big window manager buttons that no one can miss, and as the perfectionist I am on this subject, I want the UI I am using to be pixel-perfect.
Starting with Windows XP’s Luna interface is not the most pretty one. But it is the most logically designed one. Its widgets are well defined, while special care have been taken to the way things work in a way most people expect or are accustomed to. It is clear to me that the Windows interface is pretty mature and most issues have been ironed out since 1995. However, this all-blue default color on XP is kind of 60’s psychedelic, it gets on my eyes soon enough. On the bright side, the fonts are great, the font shadow on the desktop and window manager is great looking too, making them easier to read. By default the Windows XP interface doesn’t enable antialias on its fonts, but Windows is making use of some very high quality fonts so they don’t look bad at all, even without antialiasing. With XP, the Windows graphics interface is now more skinnable than ever, however the majority of the users that use Windows stay with the defaults.
MacOS X has probably the most in-your-face eye candy of all the DEs compared here. Some don’t like this ‘lickable’ interface while others simply love it. My opinion is that the Aqua interface has seen a clean up with the release of OSX Jaguar 10.2. The button quality is much better now, for example. I am quite happy with the way Aqua looks even if it is not skinnable without the use of some scary hacks. The metal interface seen on some Cocoa apps is an interesting idea, but it is not as easy to read text written on top of the metal surface (for example Safari’s new tabs in the latest unreleased beta are pretty much unreadable without wearing glasses). It is also great to see brand new widgets into the play, like the drawer or the animated alert window attached to the master window. All in all, an innovative and fresh look when it was introduced 3 years ago.
KDE is compared here with its new default theme, Keramik. Personally, I dislike Keramik (for the most part). I find it clunky, extremely loose on details and too much in-your-face. The Qt toolkit actually doesn’t seem to have much of a good support for what Keramik is trying to do. For example, I get Qt or KDE applications not supporting the background gradient Keramik is trying to impose on the back of toolbars, and so we get some apps having some toolbars with the intended color or gradient, and some other toolbars on the same app don’t (and that’s ugly). That might be an app bug, but it is so common (even on KDE’s KOffice) that it reflects badly on the whole experience. It doesn’t matter whose bug it is. The point is that it is there. The buttons are so overwhelming that sometimes their text goes unnoticed (at least they should either bold or shadow the text on these kinds of buttons to expose their importance). I also don’t like its window manager buttons, I find them clunky. Its tabs are so not part of the tab view, they feel alien to it. I do like other widgets offered by Keramik, but the most important widgets are either overwhelming or they lack care on their details. Have a look here for more info on my gripes on that theme (discussed on the kde-usability list a few months ago). Thankfully, KDE is fully themeable. The icons are nice on KDE and their alternatives, like the Noia icons, are great looking too. But Keramik is not.
Gnome is compared here with both its default GTK+ theme and Red Hat’s BlueCurve (Red Hat is the best selling ‘Gnome reseller’ so most of the Gnome users will be using BlueCurve, essentially making that theme virtually a “second default” for Gnome). So, Gnome is not going to get any praises on having a great looking widget theme, but overall it ain’t ugly either. Its widget set is very plain (both BlueCurve and especially the default GTK+) but it doesn’t try to be ‘something else’. The window manager looks of BlueCurve is nice and clean. Its buttons are big and easy to reach and this is a plus. The Gnome/Red Hat icons are not as good as MacOSX’s, XP’s or KDE’s though, but are definitely better than BeOS’ (the default BeOS icons were great in their time, but they have been surpassed now).
As for BeOS [6/Dano/Zeta]’s looks, it was an improvement and a step backwards compared to BeOS 5, at the same time. Today, the BeOS legacy is continued by YellowTAB‘s Zeta product, while there are still a large number of active users of the BeOS 5. Fonts are way better on the Dano/Zeta version of BeOS than before, the Interface Kit is now more themeable (but not fully), and it now supports non-rectangular windows. However, the widget set has seen great innovations and back-steps. For example the Z-Snake effect as seen in the screenshot is a great eye-candy effect (and pretty complex programming-wise), the radio buttons have this clever “switch” while combo boxes are also having animated effects and they also use the Z-Snake when enabled. On the down side, you will find terrible looking buttons, small default window manager buttons that need to be aimed with a gun and not with a mouse…
Rating: (out of 10) Windows XP 8.0, MacOSX 9.0, KDE 6.5, BeOS 7.0, Gnome 6.5.
The best usability I get is from Windows XP. This is the only reason I keep WinXP still as my main operating system. The user environment does what I expect it to do at any time. 95% of the applications carry out user-interactivity actions exactly like another Windows app would do it. There are tooltips everywhere, great keyboard navigation that will let you move everywhere in case your mouse has screwed up. It is just the ‘standard’, we like it or not. Can it be better? Possibly. But from usability/accessibility point of view, Luna is the best out there. However, it is not all sugar. The new “Start” menu found on XP is just too loaded with stuff. Programs need an extra click to get into them while it is the most common reason why would someone would click on “Start”. The Open/Save dialogs can be better as well by including a drop-down menu for recently-visited places. I hate it when I save something with Paint Shop Pro on the A directory and then I need to save something else on the B dir and I have to navigate manually each time between 5 and 8 clicks, while it can be done with only one.
On usability, MacOSX and BeOS are the second best, both at the same level I could say. They are consistent and OSX offers some new tricks on the play, like quick navigation with the help of Finder, excellent drag-n-drop support, speech recognition & hand writing recognition (not with great performance on these two features though). What Mac OS X lacks though is good keyboard navigation. For example, I get an alert window to save my text file and I can’t move fro a button to its next button with the cursor keys. Yikes! (Update: Apparently you can enable this via a pref panel, but it is not there by default) Another thing I recently realized deeply is that Macs are way more keyboard-oriented than the rest platforms, because of the lack of a second mouse button (however keyboard navigation is not as good as noted above). If it was not enough for the CNTRL and ALT buttons to do things like context menus, we also have the OPTION button… Not good for most mouse-oriented users, especially in a period where Apple is pushing their Switch campaign to Windows users. Also, I don’t like the fact that Finder doesn’t have more options on its context menus or elsewhere, like the “Open Terminal Here” option (hey, it’s a unix underneath).
BeOS has great usability. Everything is brainlessly easy on that operating system and it is one of the reasons people who have tried it, like it. The OS is extremely simplistic in its nature (even installing drivers is as easy as dropping a file on a directory – and you probably won’t need rebooting either) and its user interface is also simplistic on the way it works. Its context menus make sense and they add great functionality, like the Tracker add-ons (similar to Nautilus scripts), easy ways to copy/move/shortcut files with a single click and has even the easiest way to date on mounting other filesystems! The Deskbar is also easy to use and it does the job adequately. Drag-n-Drop works everywhere! Tracker, the integrated file manager, is awesome too. What I always needed from BeOS though was more context menu functionality when right clicking on some widgets. For example, when having an input box, a text view, or a selectable text item, I want to be able to right click on it and have a cut/copy/paste menu. I always missed that on BeOS, which I know that it never had that because of its Mac-oriented roots regarding its interface (BeOS ran first on PPCs before coming to x86). Also, having the CNTRL key as the default action key instead of ALT, wouldn’t hurt either (and I have heard of some big fights about this in the management/engineering departments at Be back in the day…)
KDE has a lot of new features and goodies with version 3.1, but Konqueror (the main KDE application) leaves a really sour taste. It tries to be everything for everyone, so we get functionality from file viewer, to image viewer, to CVS front-end etc., in addition to its two major uses as web browser and file manager. All that may sounds good, but the problem is that you get extremely long menus or context menus with options that have nothing to do with the KPart currently loaded. I find Konqueror abusing the otherwise great KPart technology; it adds extreme bloat to its interface when it is not truly needed, while configuring its toolbars is a pain in the rear (with bugs too). I have outlined my problems with KDE more detailed here, which was later discussed in the kde-usability list. Another problem with KDE is the extremely bloated default KMenu (which unfortunately many Linux distros keep), big icons for shortcut/launchers on Kicker (a default KDE screen doesn’t fit well on a 800×600 screen) which makes difficult to distinguish that the K is a menu and the other icons next to it are just shortcuts. Thankfully, work has been done on the context menus on the desktop, but when right clicking on the icons on the desktop we sometimes get options that shouldn’t be there (e.g. the Trash’s long menu, while it only needs 2-3 options – this has been fixed in the CVS from Waldo Bastian AFAIK). The main problem I have with KDE is its extreme bloat. Cut the fat and suddenly everything will be better. Second grade problems are the choices for the defaults, like the single-click action and the “hook on the other windows’ borders” of the window manager. I believe that KDE should leave-in the hook on the monitor’s border, but take out the application border hook as it creates a bad impression to the user thinking that “Xfree is slow because when I move my windows around, it is not smooth”, even if this has nothing to do with the reality. It is all about perception, UI is all about psychology, and KDE takes an F on that department.
Gnome is more simplistic than KDE in its choices. It goes straight to the point and the applications written for it tend to follow its Human Interface Guidelines (HIG). What I dislike though is the default Application menu bar on the top of the screen. It takes space for a no good reason in my opinion (not everyone adds icons to that bar all the way through the 1600th horizontal pixel, come on). I am more in agreement with Red Hat’s and Mandrake 9.1 defaults personally. Gnome also is not all that great when it comes to its Trash context menu, Nautilus is ok but I want a dialog box asking me for the root password when I am in need making a system copy/move. The functionality of the Red Hat’s Gnome taskbar is fine, but it feels a bit amateurish, icons in the notification area move by themselves and create unwanted space, the menu is ugly and looks like a potpourri. However, applications like FileRoller and Red Hat’s RPM installer application make the whole experience better. Gnome can easily become better than what it is today. Exactly because it is already simpler than KDE, the work required to clean up things, I think, would be less overall. However, I don’t understand what took the Gnome project (especially Red Hat) developers so long before they start working on the new GtkFileSelection. It is now scheduled for Gnome 2.4, which comes out at the end of the year. Also, why can’t I move the toolbars from Nautilus next to each other and save some real screen estate? Anyway, more here.
Rating: Windows XP 9, MacOSX 8.5, KDE 6.5, BeOS 8.5, Gnome 7.
The best desktop environment regarding consistency is BeOS, hands down. Because of the (double-edged) sword of not having other toolkits ported to the BeOS and because the guidelines were quite clear on the way things should work under BeOS, you get a very consistent (and simple) environment all the way through. The only other real toolkit ever created for BeOS was LibLayout, which was always very BeOS-ish anyway (except the tab look). Preference panels and even applications share a common behavior, look and feel. They do what you expect them to do (the BeOS way).
As for Windows, It is great to be able to run old Windows software under Windows XP, but that doesn’t always mean that you will get same look and feel and even behavior throughout all applications (example: PaintShopPro 5’s old Save/Open dialog). Additionally, Microsoft has introduced different behaviors on their own products, notably with MS Office offerings, toolbars are more flexible on IE than on other apps, while the .NET apps have a dual look. However, control panels, dialogs, preference panels and all “default” tools found on Windows all follow the Microsoft HIG, so that is a plus.
MacOSX has three main toolkits to play with and while there are a few small differences between Carbon and Cocoa applications, all in all, OSX is very consistent with itself. However, not everything is roses here either. Apple has decided to go “wild” regarding the metal-looking applications like Safari, iMovie, iTunes etc which do create inconsistency to the whole experience. Mac OS X users have written down their complaints about this and other issues. A lot of people though still need to run special MacOS 9 applications who have the old look, so that doesn’t help the current consistency either…
Hmm… Gnome and KDE… Well, it is impossible to say that any of the X11 environments are consistent. By definition they are not. Maybe they are consistent with themselves, but not when counting the whole experience. Even for people who run KDE and don’t want to run GTK+ apps, there are so many other toolkits under X where every now and then you have to download and use an application that only exists under another toolkit (e.g. Motif or Tcl/Tk). Also, the brand new commercial ports of Moho, TextMaker and Pepper also are using… their own toolkits in order for their port to happen easier. The most important free applications under Linux today are also not consistent with the two main DEs: OpenOffice.org and Mozilla. All that adds up to the overall inconsistency of the X11 environment. And we haven’t even mentioned the original Athena widget set, neither the different looks and interface layouts we get from important applications that are still available only as Qt 2.x (e.g. Opera) or as GTK+ 1.x (e.g. AbiWord, Gnumeric, GNUcash and many more).
Additionally, we get Qt applications that have different open/save dialogs than KDE’s… We also get big Gnome applications that don’t follow the Gnome HIGs (e.g. BlueFish 0.9). Surely, badly designed applications can be found under any operating system, but the main applications for the other DEs are HIGified and usability-tested, something that doesn’t happen often for the main third party apps of any X11 environment.
Rating: Windows XP 8.5, MacOSX 7.5, KDE 5, BeOS 10, Gnome 5.
For me, integration is one of the most important aspects of a desktop environment. The reason I use a graphical desktop environment in the first place is to hide the complex aspects of the under-the-hood system and provide me with tools to configure the system, if and when this is required.
I found that the best DE on integration (see: the DE that requires you LESS to open a terminal window) is Windows, hands down. Everything can be configured with a GUI and when there is not a preference panel for something, there is always… the registry, even when you want to enable the most weird hacks on applications found or your system.
After XP should be MacOSX. A lot can be done via the GUI and via the NetInfo Manager or other utilities found on /Applications/Utilities. Great stuff.
BeOS is very good on abstracting the complexity as well, but it doesn’t offer too many tools (though there are third party tools for such operations and also is easy to add more, as BeOS is a solid and simple system as we reported above). There are times that you will need to open a terminal to do things, like checking the integrity of the BFS, the makebootable utility, lsindex etc. Overall, this doesn’t look bad for BeOS, just because working with that system is simple. But if BeOS was a Unix, the lack of more utilities would be more glaring.
Both KDE and Gnome include some preference panels to configure their own UI aspects, but none of these X11 environments are integrated to the underlying system. Maybe because X11 itself is not integrated, but runs “on top” of whatever Unix carries it. The good thing about it is that you can have choice of different DEs and that you can restart X when something becomes screwy, but in my opinion the bad stuff overwhelms the benefits: non-optimized X11, slow window manager architecture and more. Additionally, both Gnome and KDE don’t offer tools to change the native resolution of X (this will change soon though, but it should have been here years ago already), no tools to configure internet connections, startup OS items, a GUI to load/unload/install/uninstall drivers on the fly [or by rebooting], no GUI on configuring printers/scanners/other hardware. Gnome and KDE feel more like shells, and while this is what they really are if you clearly look at them, they don’t solve the given problem (even if they never meant to, it is irrelevant here, as the overall experience is what matters). Integration is the main key for an OS to feel mature and professional, but because of the multi-platform nature of these projects, it is not possible at this time. Most Linux distributions offer their own additional tools on whatever else is needed, but I don’t get these extra tools with Solaris and Gnome, or with IRIX and KDE, and certainly not with FreeBSD or AIX. You might think (and rightly so) that this is a job for the OS provider to add more tools, but the fact remains that Gnome and KDE are far from integrated to any OS they run on and that does have an impact in the experience.
Rating: Windows XP 10, MacOSX 9, KDE 4, BeOS 8.5, Gnome 4.
I think that Mac, BeOS and Windows have roughly the same amount of flexibility in their UI. They all follow the philosophy of “less is more” and the OS provider just tries to provide the best defaults. You can change a fair amount of things, like position and size of the taskbar, but overall, the experience remains similar to the default.
Gnome is also like the bunch above, but it is more flexible in the way you can play with the way your Gnome panels look and behave. On the other hand, Gnome does not have a proper menu editor and modifying or creating new desktop shortcuts is a pain, going through all those tabs in the dialog box for such a simple operation.
KDE is the most flexible of all. Literally, every modification you can think of is possible there (expect automatically resizing kicker when more apps are sitting on its taskbar and Kicker is aligned in the center of the monitor like OSX’s Dock). However, this flexibility comes at a cost. The Kontrol Center of KDE is just bloated, plain and simple. It is impossible to easily find the most common options which are under tones of other mostly insignificant or nit-picking options. There is a huge list of options on the left of the GUI application of KCenter, and on the right you get the selected KPart application with a number of tab views which each one has a number of options to explore. Some say that this is the very strength of KDE, but for me and others, this is a plague which results into confusion, usability and bloat headaches. I give KDE an 8 (and not a 9 or 10) because of these problems created by this flexibility, not because the flexibility is not there (it is).
Rating: Windows XP 7, MacOSX 7, KDE 8, BeOS 7, Gnome 7.5.
Ah, speed… Speed here is not (just) “raw speed” but also “UI responsiveness” (BeOS users will ‘get’ that term better). Who doesn’t like responsiveness and smoothness when using a desktop environment? Everyone does, and everyone complains when they get lags between clicking a menu, or a button, or loading an app…
I have used all these DEs on new and old machines. I used MacOSX on G3s and on dual G4s. I used BeOS from a AMD K6 300 Mhz up to 1.6 Ghz machine (which is already overkill for BeOS). I’ve tried Windows XP on a dual Celeron 533 and on faster machines. And KDE/Gnome on the AthlonXP 1.6 Ghz and on my dual Celeron 533 (multiple distributions, Linux or FreeBSD). I also used Gnome on a $3000 machine SPARC and KDE on a SGI $18,000 Fuel machine last year.
BeOS clearly wins on UI responsiveness because of its extreme multi-threaded nature and its fantastic kernel scheduler (which plays very well with the app_server). Everything is just snappy. I run BeOS on a 1.6 GHz machine and it is simply overkill. No matter what I do, there is always CPU left for other things. I primarily run BeOS on a dual Celeron 533 and it is also extremely snappy. You click a window and while this application might have another window doing something else, nothing gets paused to wait for the other window to finish what it’s doing. Everything is just readily available immediately. Make no mistake, BeOS is not a fast OS when it comes to server operations (except if you have installed the BONE networking stack), or when you do heavy compilations, and despite popular belief, its SMP scaling could be much better. But being a “multimedia OS”, the engineers over at Be had special-cased a lot of things, making latency and UI a snap. BeOS “feels” fast to the user perspective, even though some under-the-hood operations are not really as fast as Linux or Windows XP. Check out this very recent YellowTAB Zeta DivX video from CeBIT, showing what BeOS can do and how fast it can do it.
Windows XP would be my second best regarding UI responsiveness. It is already very responsive, a huge (and I mean HUGE) improvement on multitasking/multithreading over the Win9x codebase, but it is not as good as in BeOS. The user can get a lot of freezing under some special cases until a window finishes what it’s doing, while when I want to save an attachment with Outlook Express and I navigate to the “Desktop” entry of the filesystem it takes up to 10 seconds to read the whole root dir and refresh that window. Or when I right click on the desktop and navigate to “New”, the submenu takes up to 3 seconds to open on the dual Celeron if it is not already in the cache. That’s slow but they seem to be special cases which can probably be optimized easily.
MacOSX is the slowest of all in my opinion. Even on the fastest dual G4, scrolling and resizing a window (or a web page on ANY browser) is jerky and imprecise. Also, when IE or some other app is doing something, the menu bar on top doesn’t respond and all I see is the spinning beach ball. There is no real responsiveness there. In fact, speed is my number one problem with the otherwise excellent OSX. As someone else said once “after you have used BeOS, anything else will never be the same and it would just seem slow” and that has proved true.
Gnome is a bit faster than KDE. While GTK+ 2.x is several times slower than GTK+ 1.x, it still manages to run adequately well (however Metacity is so slow when resizing an window it will redraw its button bitmaps in a really ugly fashion). KDE is plagued mostly of the fact that all its applications are slow to load. In fact, even the smallest Gnome application (e.g. calculator) is slower to load than the big and fat Blender because of the number of shared libraries is linked against! But KDE’s performance on loading its apps is worse. Overall, these Unix DEs are based a lot on how the kernel is configured (same goes for the other DEs too though) and I found that the default FreeBSD 4.x ran KDE much faster than a stock Linux 2.4.12 last year. I remember Gnome 2 running slowly on that brand new Sun SPARC workstation though. So, there is definitely some responsiveness to be gained depending on which platform you are running or how well optimized your X or kernel is, but on the stock Mandrake/SuSE/Red Hat distros these DEs ran from well to slow-ish. They could be better, but right now they are definitely usable.
Rating: Windows XP 9, MacOSX 6, KDE 7.5, BeOS 10, Gnome 8.
Stability and Bugs
I found Windows XP and MacOSX to be the most stable environments in this long term test usage. Sure, I have seen both Finder and Explorer crashes (which are the “desktop shells” for these DEs, as Nautilus is for Gnome and Tracker is for BeOS), but overall stability is good. I think XP has fewer bugs than MacOSX though (has anyone seen the OSX Font panel not showing the preview of the font selected? You need to manually drag that panel down..). I had a few bugs with XP’s taskbar in its first versions (it was freezing after a cold reboot for about 5-6 seconds) but they have all been ironed out now after the SP1. In fact, the most notable bugs I have to report about XP’s default apps is how sucky this Notepad application that I write this article right now is.
Gnome 2.2.0 is somewhere in the middle regarding stability (especially Nautilus which crashes easily). It has a number of bugs (especially Nautilus) but if the guys are able to iron out Nautilus more, Gnome is pretty solid overall. And the good thing is that if something is wrong, you just kill X and you reload. Update: Gnome 2.2.1 seem to have been a stability and bug fixing version mainly for Nautilus.
BeOS and KDE are the most unstable of the lot. BeOS Dano is a beta, but even on BeOS 5.x I could crash the app_server of Tracker easily (both part of the DE part of the OS). BeOS is pretty stable overall, but if you “overwork” it or do weird stuff on it can crash easily too (that doesn’t mean that the whole system will go down. If Tracker goes down is easy to reload it, but if the app_server goes down, you’ll need to reboot).
As for KDE, well, Konqueror is just not stable. Applications written or coming with KDE also tend to crash fairly easily (on a number of machines and different distros/OSes I ran it). However, the biggest problem with KDE is not stability, it is the bugs. Konqueror has more bugs than the whole BeOS does. I just can’t stand it being so inconsistent, bloated, buggy and crashy. Poof. It’s gone.
Rating: Windows XP 9.5, MacOSX 9, KDE 7, BeOS 7.5, Gnome 8.
Surely the back-ends of the DEs might or might not be part of the DEs themselves, but point is that some of the features found on the graphical servers can be used for user-visible effects and they might have an impact on speed, smoothness, features or quality of rendering. Therefore the technology used behind these DEs is an important factor on this comparison. In fact, this factor can be what allows a DE to do, or what locks a DE to not be able to do because the back-end functionality is not there or because architecture or legacy problems might prevent the creation of new cool stuff (and that’s bad for the future potential of any DE).
MacOSX takes the lead here regarding the technology used. Double buffering everywhere, non-flickered UI, vector icons (Update: someone emailed in to say that they are still bitmap icons used by OSX), good font rendering engine, “real” transparency support, PDF-based, QuartzExtreme for 3D assistance on the 2D space of the desktop and my personal favorite “smooth window dragging” (for lack of a better naming of a VSYNC’ed desktop).
BeOS Dano/Zeta is the only other desktop that supports the VSYNC’ed desktop. However, even if the Dano version of BeOS featured a newer font engine that did a better job than the BeOS 5 one, it still lacks on rendering quality. BeOS Dano also supported full double buffering and non-flicker, while regarding vector icons on the file manager and desktop is currently available via a third party patch over the Tracker codebase. However, Dano still doesn’t support bitmap icons with more than 256 colors (not sure if the YellowTAB guys fixed that for their Zeta though).
Windows and X11 don’t have many of these cool features, in fact X11 is the least powerful of all. While it is network transparent and everything, it lacks the speed and integration to the rest of the system. There is lack of proper overlay support (it just slows down everything), no true accelerated transparency or easy modification of cursors etc. In fact, up until recently many were discussing its limitations for not being able to render well fonts or the ability to not change real resolutions on the fly. These issues are slowly changing for the better with RandR and FontConfig, but X11 is still not up to speed and all that legacy code it carries might prove a stumbling block on adding more demanding features in the future. However, KDE and Gnome support vector icons, while GTK+ 2.x does a better job on non-flickering of applications than QT does (however not as good of a job that MacOSX does).
Rating: Windows XP 8, MacOSX 10, KDE 7.5, BeOS 8.5, Gnome 7.5.
The programming framework is an important part of any DE because it classifies them as “platforms” with a strong back-end that guarantees their power, flexibility and potential. My favorite here would be MacOSX and KDE. My worst would be Gnome. BeOS and Windows will be somewhere in the middle, for different reasons each.
I like the API of Cocoa on MacOSX and the API of Qt/kde_libs. They are powerful without being way too complex. Tools and documentation of Qt are excellent too.
For Windows, well, MFCs, .NET and Win32 are really powerful APIs which let you do the same thing in many different ways, but that is also what you might call bloat. I find the Windows API to have a steep learning curve, while the .NET API is certainly cleaner and easier to use overall, a step in the right direction.
BeOS has a very elegant API, really a pleasure to work with, but it is not as powerful than any of its competitors. Additionally, there are no good development tools for BeOS, no good visual GUI designers, no full-featured debuggers, no profilers… Also, under BeOS you constantly need to take care of multithreading issues and write your code around the fact that everything is so multithreaded on BeOS that could create deadlocks where you would least expect it. Writing small apps for the BeOS is a joy, writing anything more complex or serious though is a real pain.
As for Gnome, well, I dislike GTK+ and C. In my opinion, for a desktop environment is more suitable to use a real OO language and a more OO-oriented API. GTK– is there as a C++ wrapper to GTK+, but it ain’t elegant or easy to use. And CORBA is not that easy to deal with either.
Rating: Windows XP 8, MacOSX 9, KDE 8.5, BeOS 7, Gnome 6.
There are a lot of things we did not discuss in this article, but it would not be practical to write a real paper on these DEs. It would take me a month each and many-many pages. But I think this article summarizes well my view on how well these DEs they function and deliver what they are supposed to deliver to the user.
I acknowledge that there are good reasons for dealing with the negatives of Gnome and KDE, since there are other reasons for using Linux, and many people weigh the options and make that choice. However, today we live on times where everyone is pushing Linux on the desktop (or the corporate desktop by the mighty Red Hat) so including the main X11 offerings in this comparison article was appropriate.
Personally I much prefer overall the Windows XP experience with a close second the ones of MacOSX and BeOS. In fact, a DE that could have the best values found on these three operating systems, plus the power of Unix underneath, would make my utopian desktop environment. But there isn’t such a DE (in fact, there is no such thing as “the perfect desktop”, this is just a myth), so I usually reboot to them to enjoy their capabilities.
Here is the final rating, summed up from all the ratings above:
Windows XP 8.55