Respond on pointer-down
Show feedback the instant a control is pressed; cut other delays.
From apple-design, §1 Response.
Highlight on press
Press and hold each button, then let go.
On click + timerBad
–
click → setTimeout(…, 300)On :activeGood
–
:active { transform: scale(0.97) }Where directness falls off
Raise the latency and press the pad after each change.
Injected latencyInstant
–
setTimeout(highlight, 0)Echo keys, debounce work
Type below. Only the left list waits.
DebouncedBad
debounce(render, 500)–On inputGood
input → render–Why it matters, pros and cons
Why it matters
A press asks “did that land?” The highlight answers; any lag breaks the touch.
Pros
- Control feels attached to the finger.
- Slide off to cancel still works.
- One
:activerule, compositor only.
Cons
- Never commit on pointer-down; commit on release.
- Debounce network calls, never the local echo.
- Scrolling rows may need a short highlight delay.