Last week, the current crisis on the Linux desktop was neatly summarized in the headlines.
On one hand, Canonical founder Mark Shuttleworth blogged about his intention to replace menus in Unity with a system he called "Head Up Display" (HUD).
Both Unity and Cinnamon are reactions to GNOME 3. However, Unity is the result of Ubuntu's inability to work with the GNOME project, not a difference in design policy. While Unity and GNOME 3 are very different interfaces, both are the result of a top-down process, in which the design is chosen by lead developers and allegedly supported by usability principles.
By contrast, Cinnamon is a reaction against GNOME 3's top-down decision making. Clement Lefebvre, Linux Mint's lead developer, writes that, "The Gnome development team is not interested in the features we implemented, it's opposed to adding them to Gnome Shell, and it doesn't share our vision of a desktop."
In fact, Cinnamon is being represented not just as a complaint of one group of developers about the behavior of another, but as a response made on behalf of common sense and users in general.
This stance might be seen as nothing more than posturing, except for one thing: experienced users, at least, appear to favor Linux Mint by a wide margin over Ubuntu or Fedora and openSUSE, the major distributions that ship GNOME 3.2. That's suggested not only by the much-disputed DistroWatch Page Hit statistics, but by the comments made by bloggers and pundits over the last few months. In this sense, Cinnamon seems as much a reaction against the philosophy of Unity as that of GNOME 3.
Such, apparently, is the state of the Linux desktop today. We've had a year of user revolts against GNOME and Unity, ranging from outright rejection of their recent innovations to respectful pleadings for development leads to be more responsive to other ideas.
Now, we have Unity addressing problems no one else sees as problems and Linux Mint gallantly trying to turn back the clock with only spare energy devoted to innovation. The overall absurdity would be enough to make you laugh if the effect on free software wasn't so serious.
Replacing the Menu with HUD
Recent Ubuntu releases have shown a de-emphasis of the main menu. Last week, Shuttleworth explained why: he wants to eliminate menus, replacing them first by the Head Up Display (HUD), and perhaps eventually with voice recognition. For the next release, anyway, menus and HUD will co-exist, but HUD "will ultimately replace menus in Unity applications."
Shuttleworth's blog includes a video demonstration of HUD. Basically, however, it is a keyboard-driven tool in which users type in the function they want, instead of searching the menu. HUD will attempt to complete what users enter, and will record the features that each user accesses most often in an effort to anticipate their needs better.
If anyone else is clamoring for the replacement of menus, they are doing so quietly. All the same, Shuttleworth claims four main problems exist with menus.
According to Shuttleworth, menus are hard to navigate when they have too many levels and require you to read a lot more than you need. They are also hard to use from the keyboard, and often impose an arbitrary organization that is hard to memorize.
Of these problems, only the difficulty of using menus with a keyboard has much validity. Major features do have hot keys, but in a complex application like LibreOffice, many other features don't.
As for multi-level menus, most applications avoid any problem by including only one, or, at the most, two sub-levels (ironically, Unity requires far more mouse-clicks down the levels than any other modern desktop environment). I also seriously doubt that many people's reading ability is seriously strained or distracted by menus, given that most menu items consist of one to four words.
Similarly, arbitrary organization is usually confined to less commonly used items, such as configuration. These days, you will hardly find any application that doesn't start with the File and Edit menus on the left, and end with the Windows and Help menus on the right, no matter what operating system you are using.
Where convention is less fixed, users quickly learn each development team's preferences -- Mozilla, for example, places Prefences in the Edit menu, while KDE-based applications favor a Settings menu. All of which means that next to nothing of Shuttleworth's rationalizations stand up to casual scrutiny.
Even more importantly, Shuttleworth himself admits that HUD only replaces the easy accessibility of menus. Providing a complete map of features, which is the other advantage of menus that he cites, is by his own admission not addressed by HUD at all. Yet HUD's implementation is going ahead, even though it is only half a solution.
Shuttleworth notes that another alternative to menus is Microsoft's so-called Ribbons, a kind of combination of menus and taskbars. However, the advantage of HUD, he says, is that it avoids such clutter -- an obsession that seems to underlie much of Unity's design, even though few users complain about the clutter of menus or toolbars.
Nor does Shuttleworth look closely at earlier efforts that included some aspects of HUD. If he did, he might note that applications like GNOME Do or KRunner, in which users type in commands with auto-completion, appeal only to advanced users who know what they want. Less experienced users are likely to avoid such tools.
Similarly, Windows has long had menus that alter according to your patterns of use. Most people turn them off in favor of fixed menus where they can find items more easily.
No doubt menus will be replaced some day. I doubt, though, that for the average user, their replacement will be HUD or even voice recognition, which is considerably better than nothing for those with accessibility issues, but still far less efficient than menus. Although menus are hardly elegant, they have a kind of lowest common denominator efficiency that any general replacement needs to equal -- and HUD doesn't come anywhere close.
Back to the Future with Cinnamon
Unlike Shuttleworth, Cinnamon's developers make no reference to any user testing that informs their development directions. However, Lefebvre does offer a rationale that most users can support.
He writes that Linux Mint is working toward an interface that ensures that the "computer works for you and makes to easy to be productive." As a second principle, he adds that "things aren't hidden away but easy to access." He also emphasizes the importance of configuration "to make you feel at home."
In other words, unlike Shuttleworth, Linux Mint is not trying to tell users what they should want or how they should interact with their computers. To that extent, its philosophy seems more in keeping with what existing users want from a desktop environment.
Moreover, given GNOME 2's continued popularity, trying to recreate its user experience using the very different technologies of GNOME 3 is hard to criticize. Undoubtedly, it will be immensely popular.
In a very real sense, Cinnamon is a testimony to the ingenuity of the free and open source software community. Dissatisfied with GNOME 3 and unable to convince the GNOME project to accept its patches, Linux Mint has simply gone ahead and implemented the changes itself. No matter what you think of GNOME 2 or GNOME 3, the effort going into Cinnamon is a practical repudiation of top-down decision making.
Where proprietary distributors of a desktop would have had no choice but to accept what they were offered, Linux Mint has provided its own solutions. Seen in this light, Cinnamon is both cheeky and refreshing, to say nothing of a reassurance that the spirit of free and open software is alive and healthy.
All the same, the idea of Cinnamon does strikes one ominous note. Lefebvre writes that, with the release of GNOME 3, "our entire philosophy shifted from innovating on the desktop to patching existing alternatives."
In other words, instead of using the mature state of the free desktop as a chance to consider what comes next, Linux Mint has spent the last year trying to recover what has been lost in GNOME 2. No matter how much there is in GNOME 2 to admire, that seems a steep price to pay for restoring it.
True, Cinnamon does offer a few token bits of innovation, such as a couple of animation plug-ins. Yet most of the effort in the latest release has gone into restoring GNOME 2 functionality, such as the ability to reposition the panel, and to add applets. Nor are these efforts completed in the latest release; most likely another two or three releases will be necessary before Cinnamon boasts anything resembling complete GNOME 2 functionality.
Meanwhile, the Linux Mint team must have fewer resources for putting its distribution together. Far from enhancing the desktop, its members are simply recreating an existing user experience so that it can survive.
Linux Mint developers can in no way be held responsible for this situation. Assuming Lefebvre's account is true, they are simply taking matters into their own hand due to GNOME's lack of responsiveness and giving users what they want.
All the same, the waste of effort seems criminal. More than anything else, the fact that the Linux Mint team is forced to go to such an extreme is an indication of just how dysfunctional the Linux desktop has become.
Welcome to the New World
Viewed together, the introductions of HUB and Cinnamon make a couple of points clear.
First, the idea of distributions developing desktops that seemed so unprecedented when Unity was first announced has now become accepted. Not all distributions are going to develop their own desktops -- if nothing else, many lack the resources -- but the possibility remains, especially when upstream projects become too remote from their user bases.
Second, between the Unity approach to usability and the effort to recreate the previous generation of technology, the danger exists that practical innovation will be slowed or lost altogether. Instead, development threatens to be sidetracked by unwanted improvements and nostalgia. Just when the free desktop was becoming a match for proprietary ones, it is being sidetracked by projects that will do little for its reputation.
Last week did see one more promising headline: KDE released version 4.8. It's only an incremental upgrade, with few improvements visible to the casual user, and the release was overshadowed by the news about Unity and Cinnamon. All the same, its innovations are more useful than Unity's and preserve user choice in the same way as Cinnamon.
That's a balance that desktop development needs more often. Apparently, though, we aren't likely to see much of such constructive change in the coming months.