A10.02.9Reversibility of mode-error consequencesdesign

The consequences of a mode error must be recoverable

Aliases: undo for mode errors · recoverable mode error

What it is

Indicators, quasimodes, modeless design, idle-timeout reversion, matching entry friction to consequence — all of these work by lowering the probability that a mode error happens; none of them drives that probability to zero. As long as a system still has even one persistent mode, the chance of a misjudgment stays above zero. This leaf deals with what's left once that probability can't be driven to zero: since mode errors can't be eliminated outright, the design has to guarantee that when one does happen, its consequences can be undone — the system rolled back to how it was before the error — rather than leaving prevention to carry the entire load alone.

Why it happens

Every preventive measure — an indicator, a friction threshold, a timeout — acts before the error happens; the most any of them can do is push down the probability. But given a non-zero probability multiplied by enough repeated actions over time, a misjudgment event is bound to occur eventually — that's a mathematical consequence of probability, not a sign that some particular preventive design fell short. If a system relies purely on prevention and offers no way to recover afterward, then that inevitable misjudgment event ends up landing its full, irreversible consequence on the system when it finally occurs. Treating recoverability as a backstop is essentially an admission that "prevention has a ceiling," paired with a dedicated escape route for the residual risk that sits above that ceiling — turning the whole defense from a single point of failure resting on prevention alone into a two-layer structure of prevention plus a backstop.

Where it stops holding

Recoverability as a backstop only works for mode errors whose action cost can actually be absorbed. If the action triggered by a misjudgment consumes a non-renewable resource — it fires an irrevocable request to an external system, say, or its effect lands in the physical world the instant it happens — there's simply no corresponding "undo" operation available at a technical level, and the backstop fails along with it. For that class of mode point, the only remaining option is to set the preventive threshold higher than usual, precisely because the backstop route isn't available to fall back on.

Applying it

For every identified mode point, alongside designing preventive measures, ask separately: "if every preventive measure fails, can this misjudgment's consequence be undone?" Where it can, make sure the undo entry point is prominent, the operation is simple, and the user doesn't need to remember a separate recovery path. Where it can't, flag that mode point as high priority and reinforce its preventive threshold and indicator beyond the level applied to ordinary mode points, rather than treating it the same as everything else. Verification: run a "worst-case drill" for each mode point — assume every preventive measure has failed and the user has already carried out the misjudged action, then actually attempt to restore the system to its pre-error state, counting the steps and time that takes. If recovery isn't possible, or takes too many steps, go back and add more friction on the preventive side.

Related

  • Same group: A10.02.6 a mode can auto-revert after an idle timeout · A10.02.7 how explicit a mode switch needs to be should match its consequences
  • Nearby: A10.08 error tolerance and graceful degradation
  • Search terms: undo · recoverability · error tolerance

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/A10.02.9