Human Interface Guidelines (HIG)
One important role of the Usability Project is to maintain the GNOME Human Interface Guidelines (HIG). This document is meant to help to design and write applications that are easy to use and consistent with the GNOME desktop. Following these guidelines will have many benefits:
- Users will learn to use your program faster, because interface elements will look and behave the way they are used to.
- Novice and advanced users alike will be able accomplish tasks quickly and easily, because the interface won't be confusing or make things difficult.
- Your application will have an attractive look that fits in with the rest of the desktop.
- Your application will continue to look good when users change desktop themes, fonts and colors.
- Your application will be accessible to all users, including those with disabilities or special needs.
This document tells you how to create applications that look right, behave properly, and fit into the GNOME user interface as a whole. It is written for interface designers, graphic artists and software developers who will be creating software for the GNOME environment. Both specific advice on making effective use of interface elements, and the philosophy and general design principles behind the GNOME interface are covered.
Current version of HIG
You can find the current version of the HIG, which should be used for all GNOME 2.x applications, in the GNOME Library.
HIG for GNOME 3.x
The HIG is getting big and unwieldy, and probably isn't organised in a way that best suits developers working on projects. The current plan is to split the HIG into a shorter document that explains the GNOME design philosophy and usability principles, and a new pattern library, along the lines of those provided by Yahoo and others.
More information on the next version of the HIG can be found on the HIG 3.x planning page.
It would be good to finally create some Personas. We've been harping on about this for ages :/
The following sections are older notes about possible future HIG content, and are not necessarily part of the HIG 3.x plans
When one first wrote the HIG, the most common screen sizes in use were (based on the various browser statistics available online) 800x600 and 1024x768, in roughly equal amounts.
While doing a simple mathematical scale up/down might be an interim solution, it's not really the way to produce apps that look their best on a smaller or larger screen. A visual designer would tell you that certain elements should be scaled by more than others, and some shouldn't be scaled at all.
And when you bring touchscreens into the equation, they have different UI requirements altogether, in terms of minimum widget size and inter-widget spacing. This is why the common toolkits like Windows/MFC and Java/Swing tend to have completely separate UI guidelines for mobile devices.
Also the desktop interface should be different from case to case. EX: the desktop (as a hole) in a monitor on a PC should be arranged differently than at a TV screen, items should be arranged to work well on a tv; or menus on cellphones, we can't have the same looking gnome bars and menus on a cellphone...
See next sections.
G4T is gnome for TV. It adds just programs that might work on a tv better (DVD play, music and maybe wiimote as pointer) and the menus to allow easy access the applications.
Small device HIG
In Usability mail list, one is studying specification for small devices and UMPC, taking into account, for example, on how Ubuntu Mobile, Google Android, Palm OS, Symbian, Nokia Maemo, ... taste solutions and from that point of view discuss some ultralight gnome solution.
With actual huge gnome interface and the next ultralight solution one can, one day, engage the middle solutions. The nowadays Gnome HIG is a good start point.
UMPC HIG would start in terms of 7 max 10 inches and 800x480 resolution (because most of these are widescreens) with max 24bit colors, bur preferly in dpi or other relative values.
LucaCappelletti (PPI Pixel per Inch specification)
Glade: a tool to enable quick & easy development of user interfaces for GNOME