Error Prevention vs. Recovery: A Forgiving Interface

Learn to design interfaces that prevent user errors before they occur and offer clear recovery paths when failure is inevitable.

info Quick Definition
Error Prevention seeks to design the system so that the user cannot make mistakes. Error Recovery designs the way out when failure has already occurred, helping the user return to the right path without frustration.

The Forgiving Interface Paradigm

Human beings are fallible by nature: we get distracted, we make typing mistakes, or we don’t fully understand instructions. Mature UX design doesn’t blame the user for their errors but assumes they will happen and designs an ecosystem that mitigates or solves them gracefully. This concept is based on two of Jakob Nielsen’s 10 usability heuristics: #5 (Error prevention) and #9 (Help users recognize, diagnose, and recover from errors).

1. Error Prevention (Priority A)

It is infinitely better (and cheaper) to prevent an error from happening than to have to fix it later. Good prevention design anticipates the user’s accidental actions.

Prevention Strategies:

  • Constraints: If an action doesn’t make sense in a context (e.g., choosing a birth date in the future), disable that option in the calendar instead of letting the user select it and then showing an error message.
  • Suggestions and Autocomplete: Help the user avoid typos by offering valid results as they type in real-time.
  • Good Defaults: Pre-configure the system with the safest or most common options to reduce the likelihood of the user doing something wrong due to lack of knowledge.
  • Confirmation Before Critical Action: “Are you sure you want to delete this project?”. This intentional friction protects the user from accidental clicks.
  • Clear Affordances and Signifiers: If a button looks like a button and a link looks like a link, the user won’t make interpretation errors about where to click.

2. Error Recovery (Plan B)

Even with the best prevention in the world, errors will occur (network failures, unexpected server data, etc.). In these cases, the interface must guide the user toward the solution.

Attributes of a Good Recovery Message:

  1. Don’t Blame the User: Instead of “You entered the password incorrectly,” use “The password does not match” or “This field is required.” The tone should be neutral and supportive.
  2. Be Specific and Helpful: Avoid the generic “Something went wrong.” Explain exactly what happened so the user can understand the problem.
  3. Offer a Direct Solution: The message should answer the question “so what do I do now?”. For example: “The image is too large. Try uploading one smaller than 5MB.”
  4. Preserve User Work: Never delete data from a form because an error occurred. Allow the user to correct only the failed field without having to rewrite everything else.
  5. Allow Undo: The ultimate form of recovery is allowing the user to step back in time to revert the action that caused the error.

Comparison: Prevention vs. Recovery

FeaturePreventionRecovery
TimingOccurs before the erroneous action.Occurs after the impact.
GoalReduce anxiety and fear of failing.Reduce frustration in the face of failure.
ExampleDisabled date picker.“The date must be after today.”
FrictionAdds positive friction to avoid error.Removes negative friction to return to the flow.

Mentor’s Tips

  • Don’t assume the user reads: Design visually so the error is evident without needing to read the text. A red border on an input is a much more powerful signifier than small text at the bottom.
  • Error as an opportunity: A good recovery flow can be an opportunity to delight the user with a touch of personality or an unexpected and quick solution.
  • Proactive Messaging: If the system knows an operation will take a long time or that something might fail due to lack of permissions, warn the user before they press the button.

Useful Resources and Tools


form-validation-timing destructive-action-safeguards mental-models-undo-redo