August 28, 2005
One of the amazing things about open source projects is that you can never count them out, even if they take a long hiatus from the front page of technology news. For years, Gnome and KDE have been battling it out for reign on the desktop, consequently pushing each other to introduce stunning new looks and features. However, all the while, Rasterman and his faithful have been working on a next generation desktop, dubbed Enlightenment DR 17, or E17 for short. There is an excellent review over at linux-blog.org which does a thorough job of introducing E17. Although I have yet to install and try out this new interactive desktop, I am extremely impressed by the goals and ambitions of the project, and I am just about stunned by the movie clips I have watched demonstrating the user experience.
A quote from the essay In the Beginning was the Command Line by Neal Stephenson explains concisely how Unix, and its derivatives, keep the door open for challengers in the desktop arena.
Unix is the only OS remaining whose GUI (a vast suite of code called the X Windows System) is separate from the OS in the old sense of the phrase. This is to say that you can run Unix in pure command-line mode if you want to, with no windows, icons, mouses, etc. whatsoever, and it will still be Unix and capable of doing everything Unix is supposed to do. But the other OSes: MacOS, the Windows family, and BeOS, have their GUIs tangled up with the old-fashioned OS functions to the extent that they have to run in GUI mode, or else they are not really running. So it's no longer really possible to think of GUIs as being distinct from the OS; they're now an inextricable part of the OSes that they belong to--and they are by far the largest part, and by far the most expensive and difficult part to create.
Because Linux holds to the principles of building software components in layers, replacing the entire top level (the GUI) of the system is not that inconceivable. In fact, Rasterman extended this principle into his own project by focusing on the development of the Enlightenment Foundation Libraries, or EFL for short. These libraries are really the foundation of the project and their intent is to enable as much code sharing as possible with other programs.
So why another window manager? Ah, I'm glad you asked. When I first started to see reviews of the new Enlightenment codebase, I waved my hand at it because I was finally beginning to feel content with Gnome 2.10 and figured that Enlightenment was just another clone of present alternatives. Boy, was I wrong!
Enlightenment really just shatters the concept of our mental picture of a desktop. While it has the flexibility to emulate the legacy Start Menu and taskbar layout that is becoming almost a cliche in modern distros, it would simply be a crime to organize Enlightenment's modules in this manner. To understand where I am going with this, we need to discuss "the blinking twelve problem", described in the forementioned essay by Neal Stephenson in the following excerpt.
... because the VCR was invented when it was--during a sort of awkward transitional period between the era of mechanical interfaces and GUIs--it just had a bunch of pushbuttons on the front, and in order to set the time you had to push the buttons in just the right way. This must have seemed reasonable enough to the engineers responsible for it, but to many users it was simply impossible. Thus the famous blinking 12:00 that appears on so many VCRs. Computer people call this "the blinking twelve problem".
One of the reasons it is difficult to teach people how to use a new desktop is because the whole desktop analogy is really just wrong. It might have seemed reasonable at the time, which is now more than a decade ago, but it is simply not adequate any longer. We, as the users imposing this ridiculous set of metaphors on ourselves, need to recognize that it is time to ask why the most important interface in our lives has to impose the limitations it does. Why does it have to be slow? Why does the start menu have to be in the lower left (or upper left), or why does it have to exist at all? Why can't toolbars be moved around without completely losing their order? Why can't the desktop itself be organized arbitrarily? Why are there practically no animations, in our backgrounds or in the toolbars? Just like the blinking twelve problem on VCRs, the desktop is simply not used to its full potential and the main fault of this situation is poor design.
Enlightenment seeks to ask, and answer, these types of questions. The foundation libraries are extremely well written and very fast. Of these libraries, the most important is the image rendering library, for it enables all of these new interactive elements that help to correct the drastically unsuitable metaphors that we deal with today on the desktop.
Using GUIs to control a device is both a blessing and a curse. While the command line can be specific and direct, GUIs hide behind metaphors. Yet GUIs can outweigh the command line if they leverage certain advantages such as context and visual control. Enlightenment is a very promising window manager and desktop because it strives to play a more active role in the user's experience. On top of all that, it is sexy as hell. Beat me to it and give Enlightenment a try for yourself!