GNOME 3 Design History

The following is a brief account of the history of the GNOME 3 desktop design. It can be quoted from and freely reproduced.

Please contact Allan Day for further information.

A little pre-history is needed to understand the incrementalism which led to GNOME 3's progress. In June 2008, OpenedHand (which was later acquired by Intel), started (http://git.gnome.org/browse/mutter/commit/?id=8fd2f1d22ab1f60440a95e947206e2950d6ee98c) an R&D project for the feasibility of merging their Clutter toolkit with GNOME's Metacity window manager, specifically with an eye for compatibility with the Nokia N900 device. This created a lot of buzz and interest.

2008 UX Hackfest

GNOME 3 was first proposed at GNOME's annual GUADEC conference in July 2008 (see http://www.vuntz.net/journal/post/2008/07/10/480-live-from-istanbul-gnome-30). Discussions about the design of the new release began between almost immediately. Vincent Untz, who was on the Release Team at the time, recalls:

  • "After the 3.0 proposal at GUADEC, Owen [Talyor] came to me to discuss how to improve GNOME panel. A few other people joined in, and we started talking about how we could actually redesign more than just the panel. I was on the Foundation Board at the time and suggested that we hold a hackfest on the topic."

That hackfest - later called the 2008 User Experience Hackfest - took place in Boston in October of that year (see http://live.gnome.org/Boston2008/GUIHackfest). Design specialists and key figures from GNOME stakeholder companies came together to plan the next generation GNOME desktop. A number of topics were covered, including window management, file management and desktop widgets.

The hackfest participants identified a number of problem areas within the GNOME 2 desktop which they wanted to address (see http://www.vuntz.net/journal/post/2008/10/22/494-desktop-shell-from-the-user-experience-hackfest-general-overview):

  • Finding windows was frustrating and difficult
  • Workspaces were useful but not easy or natural to use
  • Launching applications was labour-intensive and error-prone
  • The panel suffered from over-configurability; applets were little used by most users

Discussions and brainstorming were intense and wide-ranging, and an early design concept was produced which served as the seed for the design of the GNOME 3 desktop:

http://www.vuntz.net/photoblog/20081021_desktop-shell-overlay.png

(A larger version of this mockup can be found here: http://live.gnome.org/Boston2008/GUIHackfest/WindowManagementAndMore?action=AttachFile&do=get&target=overlay_mode.png)

The mockup demonstrates a number of design themes which are present in the GNOME 3 desktop, such as integrated desktop search and a graphical interface for moving windows between workspaces.

At the 2008 GNOME Boston Summit, which was occurring at the same time as the UX hackfest, many of the sessions concerned using Clutter and 3D acceleration on the desktop, and there were presentations on using Clutter in a range of GNOME applications. Frederico Mena-Quintero also presented his vision for journal-based file management, which later became Zeitgeist.

GNOME Shell

The same month as the UX hackfest, the GNOME Shell project began as the home for the development of the new desktop, with Owen Taylor as the technical lead (see http://blog.fishsoup.net/2008/10/22/implementing-the-next-gnome-shell/). Six months later, William Jon McCann (who had already participated in the UX hackfest) joined the project as design lead. McCann says:

  • "The first thing I did when I started working on the GNOME Shell project was read. I spent a month doing nothing but reviewing usability research into desktop computing."

This research reinforced a pre-existing concern: that computer users are increasingly suffering from distraction and, as a result, find it difficult to focus on their work. It was this concern which would serve as the inspiration for many of the features which would emerge in the GNOME 3 desktop, including integrated messaging and an innovative new notifications system. One of the key goals of GNOME Shell, Jon was to later write, was to:

The GNOME Shell design also started to grapple with the challenges presented by modern computer hardware. Producing a desktop which would be well suited to netbook screens was a key concern. Touch input was another target, and the GNOME 3 design evolved so that it would be as ready to make the leap to touch screen devices. The GNOME 3 desktop was designed so that it would be usable and recognisable across a whole range of computing devices.

From this point on, the evolution of the GNOME 3 design went hand in hand with its technical development process. From the start, GNOME Shell was a design-led project. The technical architecture of the project was constructed in order to fulfil the requirements set out in the early design, and was intended to provide a rapid and flexible framework for realising the GNOME 3 design vision as it developed. This approach was validated as the project developed, with implementation being able to shadow the evolving desktop design.

Under McCann's stewardship, the GNOME 3 desktop design was refined and elaborated. A new notifications system was designed and the previous 'notifications area' reorganised. Integrated messaging was introduced and the design of the activities overview refined. Though McCann remained as the design lead, the design effort was a collaborative GNOME-wide effort. The GNOME shell developers - themselves having a great deal of design expertise - played a major role, and volunteers and collaborators from across the GNOME project were involved. This open approach to design is a source of pride for McCann:

  • "Perhaps the most notable part of the design process is that everything has been done in the open. We've had full transparency for every decision (good and bad) and every change we've made. We strongly believe in this model. It is not only right in principle it is just the best way in the long run to build great software sustainably in a large community. We're building a wave of change as much as we are building a series of great products." Jon McCann (interview for the GNOME Journal)

  • "As a volunteer on the GNOME project, it has been extremely exciting to be involved in the design of GNOME 3. I am really proud that some of my suggestions and proposals have made it into the final design." Allan Day, GNOME project volunteer.

McCann was later assisted by another designer called Jeremy Perry (http://blogs.fedoraproject.org/wp/jperry/), who was replaced in the latter stages of the design process by Jakub Steiner, a designer with a huge amount of experience in GNOME and FLOSS. Jakub had a big impact, helping to refine many aspects of the new desktop and giving it the visual polish it deserved.

GNOME 3

Though GNOME Shell is a major part of the GNOME 3 desktop, it is not the only part of that desktop, nor was it designed in isolation from the rest of GNOME 3. One of the major goals of GNOME 3 is to provide an integrated desktop experience in which the key parts of the system form a coherent, faultless whole. Jon McCann explains:

  • "GNOME 2 had become a bit of a Frankenstein’s monster, assembled from bits and pieces that were not always designed to integrate perfectly. You could see the seams. And more importantly, you could feel them and they didn’t feel nice. So, perhaps the most important goal of GNOME 3 is this unification of the experience. When something does not draw attention to itself by revealing its construction it can comfortably recede into the background and become transparent to you. That’s what we’re after." (Jon McCann, interview for the GNOME Journal)

The design of the GNOME 3 desktop was approached in holistic manner, with the other GNOME 3 components being designed in conjunction with GNOME Shell. This included the desktop's graphical appearance and system settings. This aspiration to produce an integrated user experience was also reflected in the implementation of GNOME 3. Technically, GNOME Shell was deeply integrated with the rest of GNOME 3. Owen Taylor:

  • "GNOME Shell is [not] separable from the rest of GNOME 3. The work on the GTK+ theme and the window manager theme is done on together. The work on GNOME Shell is done together [with] work on System Settings and on the internal gnome-settings-daemon and gnome-session components."

Useful resources

History of GNOME Shell in pictures

November 2008: http://fishsoup.net/blog_images/gnome-shell-20081122.png

February 2009: http://owtaylor.files.wordpress.com/2009/02/gnome-shell-20090209.png

October 2010: http://owtaylor.files.wordpress.com/2009/10/gnome-shell-new-alt-tab.png

ThreePointZero/DesignHistory (last edited 2011-03-14 22:14:25 by AllanDay)