Error prevention

A design that stops a mistake from happening in the first place is better than any message explaining the mistake after it has happened.

Last reviewed

The law

A design that stops a mistake from happening is better than any message explaining it afterwards.

Errors come in two kinds. Slips happen when people mean to do the right thing and their attention lapses, such as a mistyped value. Mistakes happen when people's understanding of the product is wrong, so they confidently do the wrong thing. Each needs a different kind of prevention.

Where it comes from

Error prevention is the fifth of Jakob Nielsen's ten usability heuristics, listed in Nielsen Norman Group's 10 Usability Heuristics for User Interface Design in the form Nielsen published in 1994. Nielsen Norman Group's article on unconscious slips gives the practical detail.

The distinction between slips and mistakes comes from Donald Norman's research on human error in the early 1980s, later popularized in The Design of Everyday Things. Norman argued that most so-called human error is a design problem: the product made the error easy to make.

What it means for an interface

  • Constrain input to valid values. Date pickers, steppers and dropdowns prevent impossible values; formatting help prevents typos.
  • Choose safe defaults. The default option should be the one that does the least harm if chosen without thought.
  • Confirm only what is costly and irreversible. Confirmation for deleting an account makes sense; confirmation for every action trains people to click through it.
  • Prevent mistakes with clear models. Many mistakes come from misunderstanding. Clear labels and previews of the outcome, such as "This will email 2,400 people", prevent them.

Examples

Search suggestions. Suggesting queries as people type prevents misspellings from returning empty results.

Disabled impossible options. A booking calendar that greys out unavailable dates prevents people from choosing a date only to be told it is taken.

Forgotten attachments. An email client that notices the word "attached" in a message with no attachment, and asks before sending, prevents a common slip.

Where it is misapplied

  • Blocking instead of guiding. Refusing input without saying what is expected turns prevention into frustration.
  • Confirmation fatigue. Asking "Are you sure?" for everything makes the important confirmations meaningless.
  • Over-restricting. Constraints that reject valid but unusual input, such as long names or foreign addresses, prevent people from using the product at all.
  • Preventing only slips. Input masks do not help people who misunderstood what the product would do. Address the model too.

Checklist

  • Inputs with a limited set of valid values use controls that only allow those values.
  • Defaults are the least harmful option.
  • Irreversible, costly actions preview their outcome before they run.
  • Confirmation dialogs are reserved for actions that cannot be undone.
  • Constraints have been tested with valid edge cases, such as long names and foreign formats.

Sources

  1. Nielsen Norman Group. 10 Usability Heuristics for User Interface Design (Heuristic #5, Error prevention).
  2. Nielsen Norman Group. Preventing User Errors: Avoiding Unconscious Slips.
  3. Nielsen, J. (1994). Enhancing the explanatory power of usability heuristics. Proceedings of CHI '94, 152–158. ACM.