# Heuristics Scoring Guide Score each of Nielsen's 10 Usability Heuristics on a 0–4 scale. Be honest — a 4 means genuinely excellent, not "good enough." ## Nielsen's 10 Heuristics ### 1. Visibility of System Status Keep users informed about what's happening through timely, appropriate feedback. **Check for**: - Loading indicators during async operations - Confirmation of user actions (save, submit, delete) - Progress indicators for multi-step processes - Current location in navigation (breadcrumbs, active states) - Form validation feedback (inline, not just on submit) **Scoring**: | Score | Criteria | |-------|----------| | 0 | No feedback — user is guessing what happened | | 1 | Rare feedback — most actions produce no visible response | | 2 | Partial — some states communicated, major gaps remain | | 3 | Good — most operations give clear feedback, minor gaps | | 4 | Excellent — every action confirms, progress is always visible | ### 2. Match Between System and Real World Speak the user's language. Follow real-world conventions. Information appears in natural, logical order. **Check for**: - Familiar terminology (no unexplained jargon) - Logical information order matching user expectations - Recognizable icons and metaphors - Domain-appropriate language for the target audience - Natural reading flow (left-to-right, top-to-bottom priority) **Scoring**: | Score | Criteria | |-------|----------| | 0 | Pure tech jargon, alien to users | | 1 | Mostly confusing — requires domain expertise to navigate | | 2 | Mixed — some plain language, some jargon leaks through | | 3 | Mostly natural — occasional term needs context | | 4 | Speaks the user's language fluently throughout | ### 3. User Control and Freedom Users need a clear "emergency exit" from unwanted states without extended dialogue. **Check for**: - Undo/redo functionality - Cancel buttons on forms and modals - Clear navigation back to safety (home, previous) - Easy way to clear filters, search, selections - Escape from long or multi-step processes **Scoring**: | Score | Criteria | |-------|----------| | 0 | Users get trapped — no way out without refreshing | | 1 | Difficult exits — must find obscure paths to escape | | 2 | Some exits — main flows have escape, edge cases don't | | 3 | Good control — users can exit and undo most actions | | 4 | Full control — undo, cancel, back, and escape everywhere | ### 4. Consistency and Standards Users shouldn't wonder whether different words, situations, or actions mean the same thing. **Check for**: - Consistent terminology throughout the interface - Same actions produce same results everywhere - Platform conventions followed (standard UI patterns) - Visual consistency (colors, typography, spacing, components) - Consistent interaction patterns (same gesture = same behavior) **Scoring**: | Score | Criteria | |-------|----------| | 0 | Inconsistent everywhere — feels like different products stitched together | | 1 | Many inconsistencies — similar things look/behave differently | | 2 | Partially consistent — main flows match, details diverge | | 3 | Mostly consistent — occasional deviation, nothing confusing | | 4 | Fully consistent — cohesive system, predictable behavior | ### 5. Error Prevention Better than good error messages is a design that prevents problems in the first place. **Check for**: - Confirmation before destructive actions (delete, overwrite) - Constraints preventing invalid input (date pickers, dropdowns) - Smart defaults that reduce errors - Clear labels that prevent misunderstanding - Autosave and draft recovery **Scoring**: | Score | Criteria | |-------|----------| | 0 | Errors easy to make — no guardrails anywhere | | 1 | Few safeguards — some inputs validated, most aren't | | 2 | Partial prevention — common errors caught, edge cases slip | | 3 | Good prevention — most error paths blocked proactively | | 4 | Excellent — errors nearly impossible through smart constraints | ### 6. Recognition Rather Than Recall Minimize memory load. Make objects, actions, and options visible or easily retrievable. **Check for**: - Visible options (not buried in hidden menus) - Contextual help when needed (tooltips, inline hints) - Recent items and history - Autocomplete and suggestions - Labels on icons (not icon-only navigation) **Scoring**: | Score | Criteria | |-------|----------| | 0 | Heavy memorization — users must remember paths and commands | | 1 | Mostly recall — many hidden features, few visible cues | | 2 | Some aids — main actions visible, secondary features hidden | | 3 | Good recognition — most things discoverable, few memory demands | | 4 | Everything discoverable — users never need to memorize | ### 7. Flexibility and Efficiency of Use Accelerators — invisible to novices — speed up expert interaction. **Check for**: - Keyboard shortcuts for common actions - Customizable interface elements - Recent items and favorites - Bulk/batch actions - Power user features that don't complicate the basics **Scoring**: | Score | Criteria | |-------|----------| | 0 | One rigid path — no shortcuts or alternatives | | 1 | Limited flexibility — few alternatives to the main path | | 2 | Some shortcuts — basic keyboard support, limited bulk actions | | 3 | Good accelerators — keyboard nav, some customization | | 4 | Highly flexible — multiple paths, power features, customizable | ### 8. Aesthetic and Minimalist Design Interfaces should not contain irrelevant or rarely needed information. Every element should serve a purpose. **Check for**: - Only necessary information visible at each step - Clear visual hierarchy directing attention - Purposeful use of color and emphasis - No decorative clutter competing for attention - Focused, uncluttered layouts **Scoring**: | Score | Criteria | |-------|----------| | 0 | Overwhelming — everything competes for attention equally | | 1 | Cluttered — too much noise, hard to find what matters | | 2 | Some clutter — main content clear, periphery noisy | | 3 | Mostly clean — focused design, minor visual noise | | 4 | Perfectly minimal — every element earns its pixel | ### 9. Help Users Recognize, Diagnose, and Recover from Errors Error messages should use plain language, precisely indicate the problem, and constructively suggest a solution. **Check for**: - Plain language error messages (no error codes for users) - Specific problem identification ("Email is missing @" not "Invalid input") - Actionable recovery suggestions - Errors displayed near the source of the problem - Non-blocking error handling (don't wipe the form) **Scoring**: | Score | Criteria | |-------|----------| | 0 | Cryptic errors — codes, jargon, or no message at all | | 1 | Vague errors — "Something went wrong" with no guidance | | 2 | Clear but unhelpful — names the problem but not the fix | | 3 | Clear with suggestions — identifies problem and offers next steps | | 4 | Perfect recovery — pinpoints issue, suggests fix, preserves user work | ### 10. Help and Documentation Even if the system is usable without docs, help should be easy to find, task-focused, and concise. **Check for**: - Searchable help or documentation - Contextual help (tooltips, inline hints, guided tours) - Task-focused organization (not feature-organized) - Concise, scannable content - Easy access without leaving current context **Scoring**: | Score | Criteria | |-------|----------| | 0 | No help available anywhere | | 1 | Help exists but hard to find or irrelevant | | 2 | Basic help — FAQ or docs exist, not contextual | | 3 | Good documentation — searchable, mostly task-focused | | 4 | Excellent contextual help — right info at the right moment | --- ## Score Summary **Total possible**: 40 points (10 heuristics × 4 max) | Score Range | Rating | What It Means | |-------------|--------|---------------| | 36–40 | Excellent | Minor polish only — ship it | | 28–35 | Good | Address weak areas, solid foundation | | 20–27 | Acceptable | Significant improvements needed before users are happy | | 12–19 | Poor | Major UX overhaul required — core experience broken | | 0–11 | Critical | Redesign needed — unusable in current state | --- ## Issue Severity (P0–P3) Tag each individual issue found during scoring with a priority level: | Priority | Name | Description | Action | |----------|------|-------------|--------| | **P0** | Blocking | Prevents task completion entirely | Fix immediately — this is a showstopper | | **P1** | Major | Causes significant difficulty or confusion | Fix before release | | **P2** | Minor | Annoyance, but workaround exists | Fix in next pass | | **P3** | Polish | Nice-to-fix, no real user impact | Fix if time permits | **Tip**: If you're unsure between two levels, ask: "Would a user contact support about this?" If yes, it's at least P1.