Kyndium

Undo instead of "Are you sure?"

Why Kyndium removed every confirmation dialog for deletes, what replaced them, and the one place that still asks.

The Kyndium team2 min readdesigninteractionundo

Confirmation dialogs ask a question at the worst possible moment: before anything has happened, when the person has no information they did not already have. They click Yes by reflex. The dialog protects nothing and interrupts everything.

Kyndium does not ask. It acts, and then it offers Undo.

Two kinds of undo

Trash. Tasks and projects are the things people regret deleting, so they go to Trash immediately. The toast that appears has Undo, which restores them on the spot. If the toast is gone, Trash keeps them for thirty days. Only then does a nightly job delete them for good, along with their files.

Deferred delete. Many things are too small or too odd for Trash: a sprint, an objective, a saved view, a comment, a time entry, a risk, a canvas. For these the item disappears from the screen at once, but the actual delete is held back until the toast goes away, whether by timing out, by being dismissed, by being pushed out by a newer toast, or by the page being closed. Undo cancels the delete; nothing was ever removed. The person sees the same thing in both cases: it is gone, and there is an Undo.

Making Undo mean it

An Undo that only puts things back on screen is a lie, and it was a lie Kyndium told for a while on the Board. Pressing ⌘Z after moving a card restored the board on screen, but the move was already saved; a refresh brought it back. Undo now compares the snapshot with the current board, puts the moved cards back and saves every changed lane, keeping any edits and new cards made since. If the save fails, the board rolls back and the step goes back on the stack.

The one place that asks

Emptying Trash deletes everything in it right now, with no Trash to fall back on. That is the one delete where a question is honest, so it is the one that asks. Removing a person from an organization and completing a sprint that moves tasks also confirm, because Undo cannot fully cover them.

What it changed

The rule removed every window.confirm from the product and, more usefully, removed the reflex. People delete freely, because they can take it back, and they stop reading dialogs they never read anyway.

Was this useful?

Comments