Jakob Nielsen's 10 Usability Heuristics are broad rules of thumb for interaction design. Developed in 1994, they remain the gold standard for heuristic evaluation of user interfaces.
**The 10 Heuristics**:
**1. Visibility of System Status**
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
- Progress indicators, loading states, confirmation messages
- "You are here" indicators in navigation
**2. Match Between System and the Real World**
The system should speak the users' language, with words, phrases, and concepts familiar to the user, rather than system-oriented terms.
- Use natural language, not jargon
- Follow real-world conventions (e.g., shopping cart icon)
**3. User Control and Freedom**
Users often choose system functions by mistake. Provide a clearly marked "emergency exit" to leave the unwanted state without extended dialogue.
- Undo and redo
- Cancel buttons
- Easy navigation back
**4. Consistency and Standards**
Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform and industry conventions.
- Consistent terminology
- Standard icon meanings
- Predictable behavior patterns
**5. Error Prevention**
Even better than good error messages is a careful design that prevents problems from occurring in the first place.
- Confirmation dialogs for destructive actions
- Constraints that prevent invalid input
- Suggestions and defaults
**6. Recognition Rather Than Recall**
Minimize the user's memory load by making objects, actions, and options visible. Don't make users remember information from one part to another.
- Visible options, not hidden commands
- Recent items and suggestions
- Contextual help
**7. Flexibility and Efficiency of Use**
Accelerators—unseen by the novice user—may speed up interaction for the expert user. Allow users to tailor frequent actions.
- Keyboard shortcuts
- Customization options
- Power user features
**8. Aesthetic and Minimalist Design**
Dialogues should not contain information that is irrelevant or rarely needed. Every extra unit of information competes with relevant information.
- Remove unnecessary elements
- Progressive disclosure
- Visual hierarchy
**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.
- Clear error messages
- Specific guidance for recovery
- No blame on the user
**10. Help and Documentation**
Even though it's better if the system can be used without documentation, it may be necessary to provide help. Such information should be easy to search, focused on the task, and concise.
- Contextual help
- Searchable documentation
- Task-oriented guidance
**Using the Heuristics**:
Heuristic evaluation involves experts reviewing an interface against these principles, identifying violations, and rating severity. It's a cost-effective method for finding usability problems early in the design process.