C3.19.2Gesture disambiguation orderdesignresearch

Disambiguation order by direction, speed, finger count, and duration

Aliases: feature order · recognizer arbitration · gesture split

What it is

Disambiguation is not a stew of every feature at once. It cuts candidates in a fixed order using direction, speed, finger count, and duration. Count is often observable first (a second finger lands), direction needs some travel, speed needs a time window, and duration expires last. Reverse that order—wait out a long-press before reading direction—and the whole interaction is stalled by the slowest feature.

Why it happens

The four features arrive on different clocks. A second finger can kill a one-finger swipe immediately; a dozen pixels of heading can kill the orthogonal gesture; speed still needs a short window to split pan from swipe; a long-press clock may run for hundreds of milliseconds. The stable pattern is: veto with hard features that are already in, and let slow features work only among survivors. iOS failure-requirement chains and the pairing of a scale detector with tap detection on Android are schedules, not magic thresholds.

Studying it

Build a minimal clash set (vertical scroll × horizontal swipe-action × long-press menu × pinch) and permute the order of feature tests. Measure decision time, each error class, and reports that a gesture was “eaten.” The independent variable is order, not a single cutoff. Logs should stamp the first time each feature crosses its threshold, so an ordering bug is not mistaken for a threshold bug.

Where it stops holding

A region with one live gesture needs no such order. Pressure, a stylus button, or a driver that already splits finger count will change which feature is earliest. Joint speed–distance classifiers are a different machine; this ordering does not calibrate them. If a system gesture finishes the split before the app sees events, an elegant in-app order never runs.

Applying it

  • List the features each recognizer on the screen depends on, and the earliest time they can be read; wire failure dependencies in arrival order.
  • Let count and direction veto; let duration decide long-press only. Do not park scrolling behind a long-press clock.
  • A/B the same ambiguous gestures with shuffled orders, and watch whether “meant to scroll, got a menu” falls when duration is last.

Related

  • Same group: C3.19.1 Multiple gestures compete for the same onset · C3.19.3 No irreversible commit during the discrimination window · C3.19.4 Touch-ownership rules for nested scrollers
  • Adjacent: C3.28 Gesture direction locking · C3.29 Gesture velocity thresholds
  • Search: disambiguation order · finger count · failure requirement

Cards in the same group

Quick Actions

Share

Share this page

ios_share

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