Important document. First saw it first semester of my freshman year.
1 Strive for consistency.
Consistent sequences of actions should be required in similar situations;
identical terminology should be used in prompts, menus, and help screens;
and consistent commands should be employed throughout.
2 Enable frequent users to use shortcuts.
As the frequency of use increases, so do the user's desires to reduce the number
of interactions and to increase the pace of interaction. Abbreviations, function
keys, hidden commands, and macro facilities are very helpful to an expert user.
3 Offer informative feedback.
For every operator action, there should be some system feedback. For frequent
and minor actions, the response can be modest, while for infrequent and major
actions, the response should be more substantial.
4 Design dialog to yield closure.
Sequences of actions should be organized into groups with a beginning, middle,
and end. The informative feedback at the completion of a group of actions gives
the operators the satisfaction of accomplishment, a sense of relief, the signal
to drop contingency plans and options from their minds, and an indication that
the way is clear to prepare for the next group of actions.
5 Offer simple error handling.
As much as possible, design the system so the user cannot make a serious error.
If an error is made, the system should be able to detect the error and offer
simple, comprehensible mechanisms for handling the error.
6 Permit easy reversal of actions.
This feature relieves anxiety, since the user knows that errors can be undone;
it thus encourages exploration of unfamiliar options. The units of reversibility
may be a single action, a data entry, or a complete group of actions.
7 Support internal locus of control.
Experienced operators strongly desire the sense that they are in charge of the
system and that the system responds to their actions. Design the system to make
users the initiators of actions rather than the responders.
8 Reduce short-term memory load.
The limitation of human information processing in short-term memory requires
that displays be kept simple, multiple page displays be consolidated, window-motion
frequency be reduced, and sufficient training time be allotted for codes, mnemonics,
and sequences of actions.