Show Menu

Jakob Nielsen's Heuristics Cheat Sheet (DRAFT) by [deleted]

This is a draft cheat sheet. It is a work in progress and is not finished yet.


Jakob Nielsen's heuristics are probably the most-used usability heuristics for user interface design. Nielsen developed the heuristics based on work together with Rolf Molich in 1990.[ The final set of heuristics that are still used today were released by Nielsen in 1994.

The heuristics as published in Nielsen's book Usability Engine­ering are as follows:


1. Visibility of system status:
The system should always keep users informed about what is going on, through approp­riate feedback within reasonable time.
2. Match between system and the real world:
The system should speak the user's language, with words, phrases and concepts familiar to the user, rather than system­-or­iented terms. Follow real-world conven­tions, making inform­ation appear in a natural and logical order.
3. User control and freedom:
Users often choose system functions by mistake and will need a clearly marked "­eme­rgency exit" to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.
4. Consis­tency and standa­rds:
Users should not have to wonder whether different words, situat­ions, or actions mean the same thing. Follow platform conven­tions.
5. Error preven­tion:
Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-­prone conditions or check for them and present users with a confir­mation option before they commit to the action.
6. Recogn­ition rather than recall:
Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember inform­ation from one part of the dialogue to another. Instru­ctions for use of the system should be visible or easily retrie­vable whenever approp­riate.
7. Flexib­ility and efficiency of use:
Accele­rat­ors­—unseen by the novice user—may often speed up the intera­ction for the expert user such that the system can cater to both inexpe­rienced and experi­enced users. Allow users to tailor frequent actions.
8. Aesthetic and minimalist design:
Dialogues should not contain inform­ation which is irrelevant or rarely needed. Every extra unit of inform­ation in a dialogue competes with the relevant units of inform­ation and diminishes their relative visibi­lity.
9. Help users recognize, diagnose, and recover from errors:
Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constr­uct­ively suggest a solution.
10. Help and docume­nta­tion:
Even though it is better if the system can be used without docume­nta­tion, it may be necessary to provide help and docume­nta­tion. Any such inform­ation should be easy to search, focused on the user's task, list concrete steps to be carried out, and not be too large.