posted by Eugenia Loli on Mon 17th Mar 2003 22:49 UTC

"Technology, Programming Framework, Conclusion"

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.

Programming Framework

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:

Final Rating:
Windows XP 8.55
MacOSX 8.33
BeOS 8.22
KDE 6.72
Gnome 6.61

Table of contents
  1. "Intro, Look and Feel"
  2. "Usability"
  3. "Consistency, Integration, Flexibility"
  4. "Speed, Stability and Bugs"
  5. "Technology, Programming Framework, Conclusion"
e p (0)    357 Comment(s)

Technology White Papers

See More