GNOME 3 is usually defended in terms of design excellence. However, while GNOME has been developed with close attention to design, that does not mean that its basic foundations are as grounded in design principles as you might infer.
Rather, a look at GNOME 3’s early history shows that development was mostly a consistent realization of principles described early in the process — principles founded on the impressions of the Design Team and apparently backed by little theory. This inconsistency between how GNOME is marketed and how it was actually designed seems the major reason for its sometimes rocky reception.
This is not the story GNOME tries to tell. Instead, GNOME 3 is described in language that implies a triumph of design. On its home page, GNOME 3 is described as “designed from the ground up to help you have the best possible computing experience” with words like “crafted” and “harmonious whole” added for good measure. The GNOME Shell design page has a similar emphasis, with the design expertise of the project participants mentioned in the first paragraph.
The impression created by this language is easy to sustain. More than any other desktop environment, GNOME has articulated its design principles and improved its appearance and functionality by paying close attention to detail. However, this attention to design applies more to how the project has evolved than to how its basic layout was conceived.
The Initial Assumptions
The origins of GNOME 3 lie in the state of free software in the middle of the previous decade. GNOME’s rival KDE had released a major new conception of the desktop, and you can observe the pressure for GNOME to do likewise in the increasingly common discussions of where GNOME was heading.
More importantly, GNOME developers were starting to feel that, after eight or nine years, as much had been done with GNOME 2 as the code allowed. As Andy Wingo described the situation, GNOME had reached “the age of decadence.” As Wingo put things, “we largely achieved what we set out to achieve, insofar as it was possible. Now our hands are full with dealing with entropic decay.”
After much discussion and several false starts (most of which never got much past the naming stage), work began on what would become GNOME 3. The defining moment appears to have been the User Experience Hackfest in Boston in October 2008.
At the Hackfest, one group focused on deciding what a new GNOME shell should look like. Vincent Untz describes the group’s conclusions in a blog written a couple of weeks afterwards.
Untz begins with a number of “observations.” To summarize them:
- Finding windows can be too difficult.
- Most users do not use virtual workspaces.
- The menu makes finding an item difficult.GIGO
- Most users do not know how to add applets to the panel, and the ability to move panels around the desktop is not very useful
From these observations, some basic recommendations for the next version of GNOME were derived from them:
- Allow only one panel.
- Eliminate panel applets, allowing only status indicators on the panel.
- Have GNOME assign virtual workplaces, rather than the user.
- Add a separate screen for overlay mode, in which users launch applications and open documents.
Other recommendations were added later, but anyone who has used GNOME 3 should recognize in this list a basic description of its layout.
However, neither Untz nor any other source I can find from the same period supports these observations and recommendation by citing usability studies or even design principles.
So far as I can tell, GNOME 3 was based mainly on subjective impressions. Granted, they were the subjective impressions of people with design experience, but the subsequent reception of GNOME 3 suggests that whatever they were based upon, it was by no means a representative sample of all users.
Everyone might not use virtual workspaces or add applets, but those that did wanted to control them. Similarly, while the overview mode might be easy to find and use, a vocal percentage of users disliked the addition of another screen.
Yet the GNOME designers made the mistake of assuming what seemed rational to them would be efficient and welcome for everyone. This assumption was not corrected until eighteen months after GNOME 3’s release, when extensions added the flexibility that the designers chose not to include. Contrary to the impression that GNOME’s advertising gives, GNOME 3 did not have a foundation of solid design principles, but of subjective and incomplete impressions of a few individuals.
The Cautionary Tale
This history is a perfect illustration of computing’s old GIGO principle – Garbage In, Garbage Out.
In saying that, I am not calling GNOME 3 garbage in any sense of the word. Even though GNOME 3 may not have the foundation often implied, its current release is probably the best design that the existing foundation allows. Far from insulting GNOME, I admire parts of it, such as the work done to make notifications less obtrusive.
However, what I am saying is that results are only as good as what goes into them. The problem that GNOME 3 has struggled with since its first release is that the initial assumptions are incomplete. They do not deserve the name “garbage,” but their limitations should still be recognized — if only as a cautionary tale to future designers.