Attribute | Explanation |
Consistency | Consistency and standards: Users should not have to wonder whether different words, situations, or actions mean the same thing. Standards and conventions in product design should be followed. |
Visibility | Visibility of system state: Users should be informed about what is going on with the system through appropriate feedback and display of information. |
Match | Match between system and world: The image of the system perceived by users should match the model the users have about the system. |
Minimalist | Minimalist: Any extraneous information is a distraction and a slow down the process. |
Memory | Minimize memory load: Users should not be required to memorize a lot of information to carry out tasks. Memory load reduces the users’ capacity to carry out the main tasks. |
Feedback | Informative feedback: Users should be given prompt and informative feedback about their actions. |
Flexibility | Flexibility and efficiency: Users always learn, and users are always different. Give users the flexibility of creating customizations and shortcuts to accelerate their performance. |
Message | Good error messages: The messages should be informative enough such that users can understand the nature of the errors, learn from the errors, and recover from any errors. |
Error | Prevent errors: It is always better to design interfaces that prevent errors from happening in the first place. |
Closure | Clear closure: Every task has a beginning and an end. Users should be clearly notified about the completion of a task. |
Undo | Reversible actions: Users should be allowed to recover from errors. Reversible actions also encourage exploratory learning. |
Language | Use the users’ language: The language should be always presented in a form that is understandable by the intended users. |
Control | Users in control: Do not give users that impression that they are controlled by the systems. |
Document | Help and documentation: Always provide help when needed, ideally context-sensitive help. |