1 |
Visibility of system status |
Users should be informed about what is going on with the system through appropriate feedback. |
2 |
Match between system and the real world |
The image of the system perceived by users and presentation of information on screen should match the model users have about the system. |
3 |
User control and freedom |
Users should not have the impression that they are controlled by the system. |
4 |
Consistency and standards |
Users should not have to wonder whether different words, situations, or actions mean the same thing. Design standards and conventions should be followed. |
5 |
Error prevention |
It is always better to design interfaces that prevent errors from happening in the first place. |
6 |
Recognition rather than recall |
The user should not have to remember information from one part of the system to another. |
7 |
Flexibility and efficiency of use |
Both inexperienced and experienced users should be able to customize the system, tailor frequent actions, and use shortcuts to accelerate their interaction. |
8 |
Aesthetic and minimalist design |
Any extraneous information is a distraction and a slowdown. |
9 |
Help users recognize, diagnose, and recover from errors |
Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution. |
10 |
Help and documentation |
System should provide help when needed. |