Our goal in designing GNOME Shell is to provide a consistent, self-teaching user interface based around the day-to-day tasks of the user. This page describes the main features of GNOME Shell and the motivation for their design.
The first noticeable change in GNOME Shell is that the two panels of GNOME 2 are replaced by a single black panel at the top of the screen. This panel contains some familiar things like a clock and notification icons, but the menus containing applications and other options have been replaced by a single button at the upper left of the screen that takes the user to the Activities overview. Next to the Activities button, is the name of the currently used application that will eventually contain the application menu, with options such as close, open a new window, as well as application specific options. Removing the second panel and some controls on the top panel creates more space on the screen for the application windows and removes from view the options that are only used momentarily and are not related to the current application.
One way the user can switch applications is the improved Alt+Tab dialog that displays all open applications.
The most important of the innovations seen in GNOME Shell is the Activities overview mode which dedicates a full screen to all the different ways in which the user can switch from doing one thing (an activity) to doing something else. It shows previews of all the windows the user has open and the user's favorite and running applications. It also integrates search and browse functionality in case what the user wants isn't immediately visible.
The user can get to the Activities overview by clicking the Activities button or by simply moving the mouse to the upper left corner of the screen which activates the "hot corner". The hot corner is a fast and easy way to get to the frequently accessed overview.
Like in GNOME 2, windows can be grouped into "workspaces", but the GNOME Shell Activities overview makes workspaces much more intuitive. The user can easily see what is on all the workspaces, drag new applications or documents to a particular workspace to open them there, and drag windows between workspaces. The default is having one workspace and the user can add or remove workspaces as needed. In addition to making workspaces more intuitive, the view of what is on all workspaces allows the user to pick a window to switch to in a single step regardless of whether it is located on the same or different workspace as the user's previous activity. Similarly, single step switching is available in the Alt+Tab dialog which shows applications open on all workspaces.
GNOME Shell puts a bigger emphasis on applications (Firefox, Evolution, Terminal, etc.) rather than on the separate windows of the application.
The application icons in the Activities overview serve as both the application launchers and the indicators of which applications are running that let the user switch to the application. This replaces the custom launchers and the task list that was shown in the bottom panel in GNOME 2. The running applications are indicated with a glow behind the application name. Clicking on the application icon opens a new window for the application if it was not running or switches to the last used window of that application if it was already running.
Consider the case of a web browser with tabs, the title and the appearance of the window will differ depending on what tab is open. By emphasizing the Firefox name and icon, we've provided a consistent target for switching to the application. Furthermore, right clicking on the application icon brings forward the previews of all windows of the application, which takes the guess work out when compared to clicking on the poorly identifiable targets in the GNOME 2 bottom panel before stumbling on the window you meant to restore. An option to open a new window is available from the right click menu along with the titles of the current windows. Similarly, the Alt+Tab dialog groups open windows by application and provides large previews of the windows when the application icon is selected.
For many applications, such as XChat IRC, Telepathy, Evolution, Calculator, or Chess, it makes most sense to only run one instance of the application, so switching to the existing window of the application is what the user wants if the application is already running.
However, in GNOME 2, the user had to know whether such application is already running before making a decision to click on a launcher to open a new window of the application. Accidentally opening a duplicate window could mean having an unnecessary extra Calculator window cluttering the desktop or signing in into IRC under a second nick.
By combining the application launcher and the application switcher and making switching to the already running copy of the application the default behavior, we give the user confidence that if they just go ahead and click on the application icon, the right thing will happen.
Please see the GNOME Shell Cheat Sheet for the list of all the features built-in in GNOME Shell.