The HIG: Bringing Consistency and Accessibility to the Desktop
If there was a heart of GNOME development, it would be the GNOME
Human Interface Guidelines (HIG). The HIG, penned after much usability
testing conducted by Sun Microsystems, specifies exactly how a GNOME application should appear
and behave. Long shackled by its dependence on CDE, Sun chose to sponsor GNOME development and has
been steadily investing in usability and accessibility. This investment has paid off, as GNOME has
reaped usabilityawards
in just a short time since release 2.0.
GNOME's accessibility features make the desktop highly usable by the disabled, something that has
traditionally been a weak point of UNIX desktops. Making a desktop accessible to disabled persons is
not a simple task. There is a wide range of disabilities, and about as many assistive
technologies (such as Braille keyboards and screen readers) designed to help those with special
requirements interact with computers. These tools range in complexity from simple (such as the
screen magnifier and on-screen keyboard) to advanced (such as the screenreader that uses a
text-to-speech engine, and the ability to interface with Braille devices).
The HIG also describes how the desktop should feel to a user and how windows ought to be laid out
and presented. It provides developers with consistent guidelines according to which GNOME
applications should be authored. Most developers striving to get their projects included in the
official GNOME release end up �HIGifying� their applications. The end result for the user is a
consistent, integrated desktop.
The GNOME Desktop
The Default Desktop
Now that you are familiar with how GNOME fits in as your Linux desktop and its general design
goals, we can take a look at the default desktop. Upon launching GNOME, the user is met with a
splash screen containing progress icons before a clean desktop appears. Like many of the larger
open-source software projects, GNOME continues to improve in performance as the code base matures.
Each successive GNOME release feels faster and more responsive than preceding releases, and even
more so on the latest development kernels. Here's a look:
The default desktop with Nautilus open, displaying the new multirooted tree view
The default desktop should be familiar to Mac OS X users. It consists of two panels�a top panel
with a menu on the left; a clock, a calendar, and a volume control on the right; and a bottom bar
left mostly blank for buttons indicating windows. The GNOME desktop environment is characterized by
the panels and the desktop drawn by Nautilus. The panels can hold all sorts of program launchers and
applets that sit in the panels, such as a CPU meter, an audio volume control, or even a local
weather report.
Previous versions of GNOME contained different types of panels�floating, edge, corner and menu,
characterized by their shapes and where they were �anchored� on the screen. The functionality of
all of these has now been collapsed into just one kind of panel, which can be configured to behave
like any of the former kinds of panels. The special menu applet, previously fixed in the top left of
the screen, can now be detached and placed in any panel, anywhere.
The GNOME Menu applet
The standard applets that come with GNOME have also been substantially improved, with much HIG
work being done on them for release 2.4, especially for keyboard navigation. The clock applet now
has a built-in mini-calendar, a nifty feature first seen in Red Hat's GNOME desktop. Our favorite
new applet by far is the Post-It note�style applet, which lets you paste notes to yourself on your
desktop (much like the Post-It notes that decorate many a monitor's front), and remains sticky
between sessions. All items on a panel can now be �locked� into place, ensuring that
unintentional mouse actions do not alter your desktop unless you want to do so.
GNOME users with multiple monitors will appreciate the improvements in the 2.4 release. Prior
versions of GNOME were plagued with poor dual monitor support, with panels and windows spawning in
seemingly random places. Metacity, the GNOME window manager, now supports the Xinerama X11 extension
properly, so that it knows what display a window should spawn on, and how to properly maximize a
window within its display.
Anyone who has used GTK+ applications to any significant extent will love to hate the GTK+ file
selector. Indeed, it appears to be traditional for GNOME reviews to slam this dialog box, with its
separate directory (folder) and file selectors, and poor filtering behavior. Sadly, GNOME users will
have to live with it until release 2.6. Release 2.4, using GTK+ 2.2, still uses it. While it is a
poor dialog box, some distributors such as Ximian have patched in a different dialog box, which has
also made its way into some distributions, e.g. Debian.