General Guidelines for User-Interfaces
- user-friendly dialog
Aim for simplicity, power and comfort.
All other guidelines are aimed at making these goals more specific.
- Simplicity means that the user-interface should keep the user's
attention focused on the task being performed.
(Sub)tasks that can be performed in one step should be possible in one step,
unnecessary distracting information should not be displayed, and misleading
options should not be presented.
The "ultimate" user-interface may look as follows:
- Power means that the interface and underlying system should let the
user perform any desired operation at any time this is appropriate.
- Comfort refers to subjective satisfaction. The user should feel
that she easily masters and controls the system.
- flexibility
Anticipate variations in user types, performance, evolution in the user's task,
changes in information needs, etc.
A word processor for novices for instance may become popular and used
more and more often by these users, so they become experts who expect
more advanced features.
The task of a secretary used to consist of typing in hand-written or
dictated letters. Now she needs to be able to include a body of text
sent to her by email in a standard letter template.
- robustness
The system must give the impression to be solid and
reliable.
It must react in a sensible way to every kind of user input.
This implies:
- The user-interface must anticipate every possible keystroke, mouse
movement or mouse click or any other input.
Having the system tested by cats, dogs and toddlers may provide valuable
feedback.
A typical example of an error are the (toddler) games that do not handle
pressing the Windows'95 "Windows key".
- The system must offer alternative ways to reach the same goal
where appropriate (like through abbreviations, synonyms, keyboard shortcuts, etc.).
In a typical word processor you can erase the character before or after the
"cursor" position by typing backspace or delete, but also by selecting the
character using the mouse and then selecting "cut" from the "edit" menu.
- The system must tolerate differences that are meaningless to the user,
like extra spaces, upper- vs. lowercase, etc.
When entering search terms in an information retrieval tool,
extra spaces should be ignored when the system treats each word separately
anyway.
- consistency
The available input/output combinations and the used terminology should
be consistent. Consistency in the dialog between a user and the system
means:
- Every command needs to be ended (completed) in the same way.
An example of inconsistent behavior is the PC-Ingres database system:
In general, when the user presses "Enter" or "Tab"
the cursor moves to the next field.
However, when a small field is completely filled, like a 4 character field
for a "Year" attribute, the cursor moves to the next field without pressing
"Enter" or "Tab".
- Every command needs to be confirmed (by the system) in the same way.
In Unix commands are not confirmed, but this is done in a consistent way.
However, when a command requires user-input no confirmation is given and
no questions are asked, so a novice user may not know that a command is
waiting for input.
- The same concept or situation must be described in the same way
throughout the interface.
In Windows'95, the terms and buttons "Ok", "Cancel" and "Apply" are
not used everywhere a similar action can be performed.
A "Save as" dialog box does not offer "Ok" or "Apply" buttons but a
"Save" button instead.
standard buttons: |  |
save buttons: |  |
- The same questions should always appear in the same order.
This is a problem in expert systems that try to eliminate unnecessary
questions or that wish to rearrange questions in order to minimize the
quedstions that need to be asked.
- Keep the interface consistent in subsequent versions: do not rearrange
buttons, menus or function keys.
Throughout the development of the IBM PC platform the Control and Caps-Lock
keys have been switched, and the Escape key has moved to several different
locations on the keyboard.
In order to save space many laptop and notebook manufacturers have been
moving keys for special symbols around as well.
- Do not mix languages (for instance Dutch and English) but anticipate
the need for versions in different languages.
A message like "This beta software expires on maandag 15 september 1998"
looks unprofessional.
- Give the same kind of additional information when asking "closed"
questions: show all possible answers or show none.
The "elm" email program and the "trn" news reader for instance provide
suggestions for possible commands, but the presented lists are incomplete.
- symmetry
Symmetry in a user-interface and user-system dialog means:
- For every possible operation there needs to be an undo operation.
This desire is difficult to accomplish when an operation crosses
application or system boundaries. There is no undo operation for a
"Save File" operation for instance.
- If data can be added to a file the interface must also let you
delete that same data.
From database theory we know that this implies keeping track of several
states of the system, because there may be no way to calculate the
information that needs to be deleted after it has been added.
- If a dialog allows a forward jump it must also offer a backward jump.
(This occurs mostly with forms and dialog boxes, but also with problems
for reading pages of text.)
- When the system confirms when it is busy, doing something
it should also confirm when it is idle, doing nothing.
Numerous systems violate this principle in both ways:
they sometimes confirm that they are busy, but not always, and they
sometimes confirm that they are idle or blocked, but not always.
- control/mastery
The user must have the impression that she has complete control of the
system, and that she masters the application. This is stimulated by:
- presenting a meaningful name for windows, titles, fields, etc.
When the title of a dialog box is "Dialog box", the user needs to remember
what caused the dialog box to appear or to study what the dialog box
suggests in order to find out what the purpose of the dialog box is.
- providing clues indicating possible subsequent actions and their
effect.
Explanatory labels that appear when the mouse is moved over a button
provide such clues.
Such labels are popular in Windows'95 and in World Wide Web browsers.
- a positive reaction of the system to every user input.
The visual impression of a button being pressed may considered to be enough
when buttons work reliably.
Unfortunately in some systems buttons are unreliable so other visual
cues are needed, such as showing an hourglass to indicate the system
is busy.
- a clearly visible indication of the system state
The availability of popup message boxes (with an "Ok" or "Dismiss" button),
status lines, and different cursor shapes makes it more difficult to
determine the system's state than when only one of these facilities is
offered.
- a help facility (preferably on-line help)
Context-sensitive help is to be prefered over a general help function
in which the user still has to find the right item.
Windows'95 offers context-sensitive help, but unfortunately not in all
instances where help is often needed.
If on-line help is not possible or considered inappropriate,
a phone hotline or the availability of local experts may be an alternative.