Desktop Environments: The Past and The Future
[ Thursday, 5 June 2008, Keyto ]
Ergonomics is the scientific discipline concerned with designing according to the human needs, and the profession that applies theory, principles, data and methods to design in order to optimize human well-being and overall system performance. (Wikipedia)
The goal of ergonomics is to make the interaction of humans with machines as smooth as possible, enhancing performance, reducing error, and increasing user satisfaction through comfort and asceticism.
Even the biggest fanatics of the black console box won’t hold it against me if I say that in the respect of interacting with the computer, the future belongs to the GUI. And along comes the question: how will the desktop environments of the future look like? To envision them, we’re going to take a look at the interfaces available today, at typical and non-typical solutions given us by their creators, which finally will lead us to the question: is this still about the improvement of the comfort of work or something else?
A bit of history
While looking at modern operating systems, like: Ubuntu, Windows or Mac OS X, it’s difficult to believe that the GUI is a pretty old idea. Presumably it was invented in the PARC laboratories of Xerox, in the seventies of the previous century, that is in the times, when personal computers were created. Actually we owe to Xerox a lot more. Except the mentioned GUI, there are also: the computer mouse, local area network (LAN), the use of small images (icons) to control the computer, the WYSIWYG mechanism, a purely object-oriented programming language Smalltalk and a massive overall contribution in creating the personal computer.
At the end of the seventies the ideas of Xerox were adapted for creating the first personal computer with a graphical user interface. What may be interesting to you, in Poland there were also attempts to create a picture-like desktop — look up the the computer series Odra 1024 in Wikipedia — but Apple Inc. was the first to introduce and fix the Graphical User Interface for a personal computer sold in stores. In the perspective of time the effect seems to be a little bit awkward, but it was nearly 30 years ago, which is several generations for the information technology. This epoch-making interface was the Apple Lisa and, what’s interesting, although it worked in a black-white (not monochrome, which would give gray shades, but in a black-white only) low resolution mode, it had some elements, which can be seen in today’s Mac OS X desktops. Don’t forget, that there is a big time-gap-and-evolution(also graphical)-process between Lisa and today’s Apple UNIX systems, also according to the Mac OS system. But wait a minute - it’s about time to systematize certain terms.
![]()
Picture 1. Apple Lisa (downloaded from wikipedia.org)
Some elementary information
About the general and the details. Let’s start from the widest term, which is the Desktop Environment. The fact that we can see icons on the desktop, or that we can move the mouse pointer around doesn’t mean we’re using a desktop environment. This term stands for a whole of programs enabling to work in a graphical mode and, as it usually looks like, what we see on the screen is just a ‘tip of the iceberg’. A desktop environment, except of the obvious function of displaying application windows on the screen, contains libraries, which allow to create and run those applications. These libraries contain a full group of components used in the programming process, which ensures a uniform look of an application, better performance and a lower memory usage. The recently released KDE 4.0 is not stunning in form, but really full in content. In other words, although there’s a lack of some applications, it contains everything, what’s needed to build them.
Apart from the libraries, desktop environments contain a pretty large amount of software, which actually can’t be seen, but it’s hard to imagine working without it. A good example is the mechanism of the clipboard. The fact, that after running the command Copy in one application we can move every piece of single information to other applications, is not magic. It’s just a corresponding application, which enables such functionality. Notice that in Windows there is no such application, like Clipboard, so the most users don’t even care or think about, what in the world happens that the data between their favorite applications is transferred. But only a couple of minutes spent with a system, which doesn’t provide such a mechanism, are enough to discover, how worthy it is. But we’ll return to that in a moment.
Coming back to the desktop environments - there’s a lot of them around, so let’s recall the most important ones:
- AmigaOS - last stable release signed as 4.0 on Christmas Eve 2006. The system is dedicated to the computer series Amiga One and micro Amiga One, so as it seems, the PC users are deprived of the possibility to test it. It took a place in this listing to show that the world doesn’t end up on Linux and Windows.
- CDE - a commercial environment for professional systems of the UNIX family. Its look is, by the way, a confirmation of the stereotype that professional means simple, even aesthetic and honestly — not very good looking. CDE is used inter alia in HP-UX, Solaris and AIX (a UNIX system used in IBM supercomputers).
- EDE - Equinox Desktop Environment. A very small, less popular environment for UNIX systems, made in a MS Windows style.
- GNOME - the readers of this portal won’t probably need an explanation concerning this environment.
- KDE - an older than the above mentioned GNOME, equally popular environment for UNIX systems.
- Mac OS X - created as a superstructure of the text-based Darwin system. Darwin is a complete, free UNIX system from the BSD family, and the commercial part of the Apple product is the graphic layer.
- MS Windows NT series, which covers all systems starting with NT 3.1, through 4.0, 2000, XP, to today’s Vista.
- XFCE - a so called light environment for UNIX systems. “Light” means a limitation of widgets, which lowers the system requirements and, at the same time, improves the performance.
And this is how we come to the significant, for the next part of our article, distinction. One element of the desktop environment is a program, which controls the windows display on the screen. In the matter of fact, such program doesn’t do anything else than just this - its task is to control the location of single applications and, eventually, to make it possible for virtual desktops and other such features to work in the Linux system. It’s called a window manager
It’s pretty relevant to distinct between the terms of the desktop environment and the window manager. Because you can use the window manager without using the environment, and a past situation was also an environment, which didn’t contain a window manager. A good example is the previously mentioned GNOME. In the version 1.x there were libraries and advanced mechanisms essential for fast and effective work, but the window manager had to be installed separately. The most often used managers were: Window Maker, Sawfish or Enlightenment. Along with the version 2.2, GNOME got its own manager, which is Metacity. (Just a digression: the word Metacity doesn’t mean Meta-city, but Meta-ness. A million dollars for the first to guess what the authors had in their mind…). On the other side, any manager used in e.g. GNOME can be used separately. As the matter of fact we get rid of the whole functionality of this environment (what is actually the most of the environment), but it’s possible and sometimes it does make sense. For example the creators of a small Linux LiveCD system named Austrumi used in their distribution the Metacity manager without GNOME. Thanks to that, the system fits on a small CD of credit card size. It’s fast, and it looks familiar for every Linux user. But the problems start, when after copying a text fragment from the Internet browser, the text can’t be pasted into a text editor. It’s the price for the small size of the distribution and not the only one, actually.
Similar to GNOME, every above mentioned desktop environment has its “own” window manager. For example:
- Workbench is not, like many people think, a system nor an environment, but the default manager of AmigaOS.
- KWin (formerly KWM), is a counterpart of GNOME’s Metacity, that is the KDE manager. If somebody felt like doing funny stuff - theoretically it’s possible to run KDE with Metacity and GNOME with KWin… But what would be the purpose of that?
- Aqua is a stunning Mac OS X system manager. But Aqua alone would be nothing without what’s under the hood of Apple’s system, which are the Quartz, Carbon, Cocoa or OpenGL libraries.
- Windows Explorer. Actually the name reminds mostly of the Windows application for managing files, but the program is, as the matter of fact, the window manager of this system.
- Xfwm4 is the manager of XFCE.
- edewm - a window manager used in Equinox.
Today’s problem is the thing that the differences between extremely light environments, and some window managers aren’t that big. Honestly I admit that I considered putting EDE in the list of window managers. I decided to (however) call it an environment, because it has a separate window manager, component libraries (poor but they exist) and all the features, which make it just a little bit more that a program for managing windows on the desktop. Similar dilemmas can be applied to some other managers and there’s a bulk of those programs. A short list of examples:
- Enlightenment - a popular window manager, which maybe someday become a full desktop environment. As I mentioned before, some time ago it was pretty widely used as a manager for GNOME. It’s also one of the most eye-catching managers for UNIX systems.
- fluxbox - a small, fast and stable manager, very often used in distros run as LiveCDs.
- Window Maker - similar to Enlightenment, it was once used as a manager for GNOME. The aim of the Window Maker is to create a system, which would look similar to the desktop environment of NeXTStep, of which the main designer was the boss of Apple - Steve Jobs.
- IceWM - its looks clearly remind of Windows 98, but nonetheless the multiplicity of configurations provides a wide area for adjustments to one’s needs. Working with IceWM makes distinctly clear how a window manager differs from a complete desktop environment. The program doesn’t provide many, as it seems obvious, features. For example to be able to place some icons on the desktop, installation of a separate program is needed (Rox, Idesk).
- Sawfish, ion, LXDE, AfterStep, Blackbox, FVWM, twm, Openbox, etc…
The stars of the show business
All of previously mentioned window managers are well-known, at least that well, that information about them can be found after a couple of minutes of research on the web, but none of them has made such an astonishing career, as Compiz. The program had its premiere not that long ago, in January 2006. I’ve already written that theoretically Metacity of the GNOME environment can be replaced with a different manager. The replacement with KWin seems like a nonsense, but what if we throw out the default window manager for GNOME and replace it with something similar, but more eye-catching? Today, among those, who are interested in computers and for every day they use Lynx, there’s probably no such person, who hasn’t heard about the famous “rotating cube”, “jelly windows” or applications, which “burn down” upon exit. A simple replacement of managers is possible, because Compiz, Metacity and KWin as well, were all designed according to the ICCCM standard. Worth mentioned is that although the “rotating cube” is very often associated with the AIGLX (or XGL) architecture, it’s only a measure for running the main program, which ensures those special effects, that is the Compiz manager. This solution is analogical to those used in Apple’s Mac OS X, that is the Aqua-Quartz-OpenGL set of programs.
And here comes a doubt. Not without a reason at the beginning of this article I provided the definition of ergonomics. Try to install Compiz Fusion and the run the “cube”, “jelly windows”, “water effect” and some more GUI goodies and then work for some time on such a system. Does it have something in common with effective work at a “possibly low biological cost”? It’s a rhetorical question for everyone, even for the Compiz fans. And because we are talking of the ergonomics of work — a small curiosity for the end.
SymphonyOS and even more
One of the tasks of a window manager is the providing of virtual desktops. A deeper characteristics of this mechanism is probably not necessary - it helps to manage a too big amount of running applications. But the gentlemen Ryan Quinn and Jason Spisak had a different view on its destination. Everyone pays attention to elegant allocated windows on particular desktops - they’ve paid attention to the desktops alone and created a LiveCD system named SymphonyOS. (recently, a new version was released, almost two years after the previous one — 2006-05).
![]()
Picture 2. SymphonyOS 2006-5 - the Computer desktop
SymphonyOS uses its own desktop — Mezzo. Similar to many other environments, the user has four virtual desktops available, but in Symphony they’ve been transformed into workspaces.
![]()
Picture 3. SymphonyOS 2006-05 - the Programs desktop
In the place of the standard wallpaper has been put something in the shape of a web site, containing links to documents, applications, or displaying widgets with information downloaded dynamically from the web.
![]()
Picture 4. SymphonyOS 2007.06 (downloaded from [3])
By default we can use:
- the Computer desktop - it contains links to devices (the home directory, optical disks) and to configuration programs;
- the Programs desktop - this is, according to the name, a group of links to applications;
- the Files desktop - it’s something like the Documents or My Documents directories for storing personal files;
- the Trash directory - it’s where the deleted files and directories are placed
According to this solution they’ve removed from the taskbar. Switching desktops is done by clicking on the corresponding screen corners. (Respectively: the upper left for the Computer, bottom left for Programs, the bottom right and upper right for Files and Trash.) The user has the possibility of editing the desktop preferences and adding new features. For the latter he needs to be familiar with HTML and the Perl languages. According to the latest news, the distribution will be based on Ubuntu in the future, so there should be plenty of applications to choose from. It’s also possible to install mezzo as a separate package in Debian and other Linux distributions.
![]()
Picture 5. Linpus Linux - “standard” XFCE
Ryan’s idea itself has been already used by a Chinese (actually Taiwanese) corporation called Linpus Technologies Inc. The based on Fedora Linpus Linux is a commercial distribution primarily aimed on China and Japan, but it can be also found in computers sold in other places in the world (like Polish supermarkets). From the producer’s website you can download an ISO image to burn on a CD, and thanks to that it’s easy to notice that the concept of SymphonyOS workspaces has been well accepted on the market.
![]()
Picture 6. Linpus Linux - the Internet desktop
![]()
Picture 7. Linpus Linux - the Settings desktop
The solution of Linpus is based on XFCE and uses five desktops. That are accordingly: Internet, Work, Learn, Play and Settings. Unfortunately the distribution is “speaking” to us only in English, Chinese or Japanese, so no luck for international users. Other than in SymphonyOS, Linpus has a taskbar, which seems to be more comfortable, because of the possibility to switch between running applications. And if the user is not used to such a solution, he can always switch the environment to the traditional XFCE. Not to mention that the Asian system has a lot more aesthetic values than Symphony, but well — the company has invested much more means into it.
![]()
Picture 8. Linpus Linux - the Play desktop
And by the way - I have a feeling that placing the links to applications and files directly on the desktop reminds a little bit of the Microsoft Active Desktop. But would any true fan of Linux admit that something that’s worth attention may be derived from Redmond?
Links:
- Xerox Parc - http://www.parc.com/
- ICCCM - http://tronche.com/gui/x/icccm/
- SymphonyOS - http://symphony.com/
- Linpus – http://www.linpus.com/xampp/modules/cjaycontent/
- Enlightenment - http://enlightenment.org/
- Fluxbox - http://fluxbox.sourceforge.net/
- Window Maker - http://www.windowmaker.info/
- Compiz - http://www.compiz.org/
- Compiz Fusion (configuration tool and plug-in collection for Compiz manager) - http://www.compiz-fusion.org/
- Equinox - http://equinox-project.org/
- Wikipedia about Mac OS X - http://pl.wikipedia.org/wiki/Mac_OS_X
- Wikipedia about ergonomics - http://en.wikipedia.org/wiki/Ergonomics
Subscribe to RSS feed for this article!
16 Comments
- A hyperlink: <a href="polishlinux.org">GNU/Linux for everyone!</a>,
- Strong text: <strong>Strong text</strong>,
- Italic text: <em>italic text</em>,
- Strike: <strike>
strike</strike>, - Code: <code>
printf("hello world");</code>, - Block quote: <blockquote>Block quote</blockquote>

















What I wish to see is something really different, all today’s OS interfaces works the same, they all use WIMP paradigm (Window, Icon, Menu, Pointer), files, folders and applications, a 30 years old ideas.
I wish to see a free software DE with really new ideas, like ZUI (Zooming User Interface), in ZUI you don’t need files and folders, you don’t need applications, you want to play a movie? just zoom in and play it, there is no “run this and open that.”
With ZUI you can remove layers of complexity, I don’t know why we still use 30 years old GUIs when we can use something simpler and easier to use.
Please watch this talk for more details: Death of the Desktop.
And sorry for my poor English
@Abdulla : It seems that KDE4’s Plasma is heading towards make ZUI possible.
great piece of review i wonder if others too like linux to beat
win pc,ubuntu surely needs some advice from linpus.
Great article, great blog
“ubuntu surely needs some advice from linpus.”
-> Ubuntu surely needs more “K”
[quote]Notice that in Windows there is no such application, like Clipboard[/quote]
Really? I do think so. I remember there does exist such a stuff in Windows. I am not defending Windows, just for accuracy.
I think what was meant is that there is not a specific “clipboard” application that you have to have running to make the clipboard work (a la Klipper). It’s built in so you take it for granted.
On windows, I’m not sure I would consider explorer the WM. I thought of it more as the DE. You can kill all instances of explorer.exe and still bring up windows with the task manager. They can be moved around and so forth, similar to what you get if you run kwin without kde. If you run windows and look at the process list you’ll see a process called “WM.EXE”. I believe this is actually the window manager, but I’m not entirely sure.
Also, in describing CDE, I think you mean “ascetic”, not aesthetic.
You DON’T need Klipper running to have Clipboard. Its just limited to one entry at a time.
Actually, I am getting increasingly interested in the SymphonyOS things-at-your-fingertips approach.
quote: While looking at modern operating systems, like: Ubuntu, Windows or Mac OS X
Ubuntu is not an Operating System!
Gnu/Linux is an Operating System.
Mandriva, Red Hat, Fedora, SuSE, Ubuntu, Xandros, Linspire, Mepis Slackware, Knoppix etc are distributions based on the operating System Gnu/Linux.
If you can’t that very basic peice of information right, I seriously suspect the rest of your article is similarly factually incorrect.
tracyanne
Please read this article GNU/something to get an idea what the author means by “system”, “kernel” and “operating system”.
And Ubuntu OF COURSE IS AN OPERATING SYSTEM, anyway, under all definitions that I know. Under most definitions, the Linux kernel itself is an operating system, believe it or not
quote: Please read this article GNU/something to get an idea what the author means by “system”, “kernel” and “operating system”.
By any definition that is correct, Ubuntu is a distribution of the Gnu/Linux operating system. Ubuntu it is not itself an operating system. It is the collection of applications, and Operating system, that go to make a specific distribution. And like every other Distribution (Mandriva, Red Hat, Fedora, SuSE, Ubuntu, Xandros, Linspire, Mepis Slackware, Knoppix etc) the operating system component is Gnu/Linux.
quote: Under most definitions, the Linux kernel itself is an operating system, believe it or not
No it is not. It is merely the core of the Gnu/Linux Operating System
What about Xandros, SLED and other systems that ship lots of proprietary stuff, not just GNU apps? Hell, even Ubuntu ships proprietary drivers and other required blob. How can you call it “GNU’ then?
You know well that this is only a matter of naming. Ubuntu has all the features of an operating system - a kernel, a collection of apps running in user space. Sure it’s a favor of Linux, or — as you wanna call it — GNU/Linux. But it may be as well called an operating system on its own. Same for all other distributions, like OpenSolaris or Nexenta, the distributions of Solaris system.
While I like the thinking behind Symphony/mezzo, I have to admit, I like having everything on one bar, with a clean desktop available!
Why not have a two-tiered bar, with app-start on the left, document-start on the right, clock in the center, and systools and trash on either side of the clock? the upper tier of the bar could be the open file notifications and/or system messages…
“with a clean desktop available!” -available for what? - if i won look pictures ill go to gallery
future of desktop is iGoogle- all kind of useful stuff
and no stuff from second paragraph- things like katapult for kde or lounchy for win gona do that job
You leave out tiling window managers. I’m always amazed when I see someone try to use anything else. They make so much sense.
aqua is not a window manager!
aqua is the whole user interface including scrollbars, menus, buttons, any widget. the window manager affects on the the frame of a window not the widgets inside.
aqua is maybe comparable to gtk or qt with a specific theme (but i am not sure about that. i am sure it’s not a window manager though.)
a window manager is a seperate application that runs indepentently from the actual programs you are using. it manages window placement, movement, resizing, etc. you can see this when a program freezes. you can still move the window, minimize it, etc.
on mac os x desktop environment with cocoa/aqua or on windows you can not manage dead windows. so if there is a window manager on those systems, it does not do what a window manager on X11 does.
greetings, eMBee.