| Simple and natural dialog |
Present information that is relevant and useful, in a natural and logical order. Extraneous information competes with the relevant units of information and diminishes their visibility. |
|---|---|
| Speak the users' language |
Express clearly in words, phrases, and concepts familiar to the user, rather than in system-oriented terms. |
| Minimize the users' memory load | Avoid needing to remember information from one part of the dialog to another. Make instructions visible or easily retrievable whenever appropriate. |
| Consistency | Describe situations, instructions, actions, in the same terms to promote clarity. |
| Feedback | Keep users informed about what is going on, through appropriate feedback within reasonable time. |
| Clearly marked exits |
If users choose system functions by mistake, use a clearly marked "emergency exit" to leave the unwanted state. |
| Shortcuts | Accelerators may often speed up the interaction for the expert and not compromise usability for the novice. |
| Good error messages |
Express error states in plain language (no codes), precisely indicate the problem, and constructively suggest a solution. |
| Prevent errors | Even better than good error messages is a careful design that prevents problems occurring. |
| Help and documentation |
When help and documentation is useful, make it easy to search, be focused on the user's task, and list concrete steps to be carried out. |
Reference:
Molich and Nielsen, Improving a human-computer dialogue, 1990.