C3.33.2Timed undo window after gesture commitdesignresearch

Some gestures offer a brief undo window instead of taking effect at once

Aliases: undo toast · delayed commit · grace period

What it is

Swipe-to-archive and some pulldown batch actions often remove the object on the surface first and delay the real commit several seconds, holding the gap with an Undo affordance. The window is not a substitute for a normal undo stack; it is a short buffer for misfires. Only when it expires does the command enter the ledger or the network.

Why it happens

Misclassified gestures are often noticed a second or two after lift-off: the message is gone, and only then is it clear the list was being scrolled. Delaying commit until attention has landed on the consequence matches that discovery lag. The implementation is optimistic UI plus a cancelable timer: commit at fire. Too short, and discovery loses the race; too long, and the object is a ghost—neither in the list nor on the server—so notifications and sync glitch. The window covers gesture discovery lag, not a countdown on every tap.

Studying it

Cause an accidental swipe, vary the window across 2 / 5 / 10 s, and record recovery, whether the hint was noticed, and whether a second gesture knocked the hint off. Recovery is the measure, not impressions. A hint scrolled off with the list should be coded separately.

Where it stops holding

Payments and unrecoverable sends, if they use a window, must actually hold the outbound, not only the chrome. Offline, the window’s end may write a local queue that still allows later ordinary undo. Continuous scrolling has no such window. A window that failed is not license to lower the trigger bar because “undo was offered.”

Applying it

  • For high-misfire gesture commands, optimistic remove plus a multi-second undo bar; call commit when it fires.
  • Pin the bar in the safe area so the next gesture or the keyboard cannot cover it.
  • Deliberately mis-swipe a message: Undo inside the window should restore position and unread state; after the window, the ordinary stack should still work.

Related

  • Same group: C3.33.1 Gesture-triggered actions follow the same undo rules as taps · C3.33.3 Inertial scrolling is not an undoable unit · C3.33.4 Irreversible gesture actions should raise the trigger bar, not only offer undo
  • Adjacent: C3.17 Swipe actions · C3.19 Gesture conflicts and disambiguation
  • Search: undo toast · optimistic UI · grace period

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/C3.33.2