Undo and inline feedback
Prefer undo to confirms, and report status where it happens.
From apple-design, §16 Design foundations.
Delete: confirm vs. undo
Delete three files per side, then get one back.
Confirm every deleteBad
0 dialogs
if (confirm()) remove(file)Delete, then UndoGood
Recently deleted: 0
remove(file); toast("Undo")Validate inline, not on submit
Type ana@gmial.com and a short password, then submit.
Errors after submitBad
onsubmit → errors[]Inline, as you typeGood
onblur → check(); oninput → recheck()Four kinds of upload feedback
Add the video twice, then the archive.
Spinner, then surpriseBad
Uploading…
No files yet.
spinner → "Error 507"Four kinds, inlineGood
Storage6.0 of 10 GB
No files yet.
status · done · warn · errorWhy it matters, pros and cons
Why it matters
Confirms turn into reflex. Feedback next to its cause is read in time to act.
Pros
- One step per action, not two.
- Recovers real slips after the fact.
- Warnings before a limit, not after.
Cons
- Undo needs soft-delete on the backend.
- Sent email and payments still need a confirm.
- Toasts expire; keep a second path back.