Pattern 04 · Before

Appropriate Friction

Before a high-stakes action, the interface asks the operator to slow down. A drone operator overriding a no-fly boundary has to hold the button for two seconds and confirm the zone, so a stray tap can’t send it there.

The mechanism

intent → execute + log

  1. 01IntentOperator starts an action
  2. 02Weigh stakesReversible? Who’s affected?
  3. 03 · Key momentAdd frictionConfirm, delay or second trigger
  4. 04CommitRe-affirm with the consequence shown
  5. 05Execute + logAction runs, provenance kept

At 02: Friction scales with consequence. Low-stakes, reversible actions stay fast.

At 04: Restate the consequence — “Release payload over zone B” — never just “Are you sure?”

On this page

Without / with the pattern

A working demo of the control, not a screenshot. Nothing here flies anything.

Anti-pattern: One-Tap Catastrophe

Payload

Zone
B
Altitude
120 m
Payload
Armed

One tap. No second chance.

Smooth UX makes catastrophic actions as easy as trivial ones. One slip is all it takes.

With the pattern

Payload

Zone
B
Altitude
120 m
Payload
Armed

Hold for two seconds. Let go early and nothing happens.

A pause that restates the consequence catches slips before they become incidents.

Sources

The hard part is choosing which actions get it. A pause that shows up everywhere gets cleared from habit, and then it protects nothing.43 Reserve it for actions that cannot be undone, and make the confirmation name the specific consequence rather than asking whether the operator is sure.

  1. Design Frictions for Mindful Interactions: The Case for MicroboundariesAnna L. Cox et al. · 2016Paper
  2. A Model for Types and Levels of Human Interaction with AutomationRaja Parasuraman, Thomas B. Sheridan and Christopher D. Wickens · 2000Paper
  3. Humans and Automation: Use, Misuse, Disuse, AbuseRaja Parasuraman and Victor Riley · 1997Paper
  4. An Investigation of the Therac-25 AccidentsNancy G. Leveson and Clark S. Turner · 1993Incident