Skip to content
Marlow
Writing

Prefer undo to confirm

4 min read

A confirmation dialog asks a question at the moment people are least able to answer it. They have already decided; the dialog just adds a click between them and the thing they wanted.

On Tidewater we replaced almost every confirmation with an undo. Delete a payee and it disappears at once, with a small bar at the bottom of the screen for five seconds. Nothing is actually removed until that bar goes away.

Where confirm still wins

Undo works when the action is cheap to reverse on our side. Sending money is not. For anything that leaves the building, a review screen with the amount and the payee in large type does the job a dialog pretends to do.

  • Reversible on our side: act at once, offer undo.
  • Irreversible or external: show a review step with the facts, not a question.
  • Never: a dialog that repeats the button label back to you.
The best confirmation is the person seeing the result and being able to take it back.

Support tickets about accidental deletions went to nearly zero. The bigger change was in how the app felt: faster, and a little more trusting of the people using it.

OlderWhen to prototype in codeA rule of thumb for deciding when Figma is the wrong tool for the question you are asking.