Principle 6: Forgive the User

Definition

Good UX design anticipates mistakes and allows users to recover easily. Systems should be forgiving, minimizing the consequences of errors and guiding users back on track.

Why It Matters

Humans are fallible. Errors are inevitable, but unforgiving systems frustrate users, increase support costs, and harm trust. Designing for forgiveness reduces stress, improves efficiency, and encourages exploration.

Example – Good vs. Bad

  • Good: Gmail allows users to “Undo Send” for a few seconds after sending an email. Mistakes can be corrected quickly.
  • Bad: On some web forms, hitting “Submit” with a missing field erases all entered data, forcing users to start over. This creates frustration and abandonment.

Do’s

  • Provide undo options for destructive actions.
  • Offer clear error messages explaining what went wrong and how to fix it.
  • Save user progress automatically (drafts, auto-save).
  • Use confirmation dialogs for irreversible actions.

Don’ts

  • Don’t punish users for mistakes (e.g., deleting data with no recovery).
  • Don’t display cryptic error codes without explanation.
  • Don’t make users re-enter large amounts of data unnecessarily.

Key Takeaway

A forgiving system respects the user’s effort and intelligence. Mistakes become learning opportunities rather than sources of frustration, creating a safer, more enjoyable experience.

more insights

Consistency means that similar things look and behave the same way, both within a product and across platforms.
Affordances are visual or physical cues that suggest how something can be used. A button looks “clickable.” A slider looks “draggable.” Good design makes functionality obvious at first glance.
Great UX strikes a balance: new users can succeed quickly without training, while experienced users can work efficiently without being slowed down.