C3.25.2Adaptive long-press thresholddesignresearch

Thresholds may follow settings or recent speed, not a global constant

Aliases: adaptive timeout · long-press preference · per-user clock

What it is

The long-press millisecond value need not be one literal for the whole app. It can follow the system accessibility setting, or trim itself using that person’s recent tap-and-hold speed. 500 ms is a factory default, not a physiological constant. Reading the OS preference is the floor; shrinking or stretching the clock from individual history is the same problem one step further.

Why it happens

Tap duration and stillness before a drag are wide in the population—older adults, children, stylus, gloves sit on different tails. A hard-coded cutoff permanently misclassifies one tail. Operating systems already expose a hold-duration control; an app that writes a literal in its recognizer overwrites a value the user just set. Further, the last N successful taps can place long-press above that person’s high percentile, so the clock follows this hand, not the designer’s. Adaptation moves a classification boundary; it does not change what the gesture means.

Studying it

Collect unprompted tap durations and successful hold durations per person. Compare false-class rates of a fixed threshold against “read the system setting” and “shift to a personal percentile.” The factor is policy; the measure is each person’s misses and false fires, not the sample mean. Adaptive policies should also report how many observations they need to settle, and whether they can be gamed by deliberately slow taps.

Where it stops holding

Payments and safety confirms must not silently fire earlier because history sped up. New users have no history and still need a sane default that immediately obeys the system setting. Syncing a threshold across devices can carry a slow phone clock onto a fast stylus. Adjustability is an accessibility requirement; adaptation is extra. Silent learning without a system switch is not a substitute—users cannot correct it.

Applying it

  • Long-press recognizers read the system hold duration; do not hard-code 500 in product code.
  • If adapting per person, stay in a neighbourhood of the default and the system value, and allow a reset.
  • Run primary tasks at the slowest and fastest system durations and confirm the menu moves with them; then try someone clearly slower than the team’s norm and see whether the fixed value promotes their taps.

Related

  • Same group: C3.25.1 Long-press lives in hundreds of milliseconds, shorter than the double-tap gap · C3.25.3 Every long-press function needs a non-long-press path · C3.25.4 Shared onset with drag makes the threshold a classification boundary
  • Adjacent: C3.24 Accessible alternatives to gestures · C3.03 Long press
  • Search: adaptive timeout · long-press setting · individual differences

Cards in the same group

Quick Actions

Share

Share this page

ios_share

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