C6.10.2Autocomplete candidate jumpingdesignresearch

Candidate jumping causes mis-selection

Aliases: suggestion jumping · completion mistap · unstable suggestions

What it is

An autocomplete list is recomputed every time the prefix gains a letter. Wording, order, and width of items all change; a candidate that occupied a slot slides aside or vanishes. If a finger is already on the way down toward that slot, the lift hits a newcomer—candidate jumping. The error is the list rewriting its map during the aim, not the user missing a key.

Why it happens

From seeing a target to lifting, there is an aiming interval. The next keystroke may arrive in that interval, the prefix changes, the list reshuffles. Touch is especially exposed: contact area is large, and a few millimetres of lateral shift puts the centroid on a neighbour. Item width follows word length; space yielded by a short word is taken at once by a long one, so the position channel is less stable than the text channel. Search suggestions may reshuffle many times a second while typing is busy; a keyboard strip often refreshes in lockstep with the next letter. The outcome is a string the user never read, looking like a successful completion and hard to notice. Freezing the list until the current contact ends, or ignoring refreshes during contact, pins the map inside the aiming window.

Studying it

On the suggestion strip, record whether the item identity at touch-down equals that at lift, and which string was committed when they differ. Independent variables include whether refresh is locked to keystrokes, whether items freeze during contact, and whether width flexes with text; dependent measures include jump mis-selection rate and post-notice deletion rate. Slow mouse clicks on desktop badly underestimate jumping on touch.

Where it stops holding

With few candidates and a long-stable first item, jumping almost never happens. A hardware keyboard taking the first item with Tab does not depend on screen position; jumping then affects “who is first,” not “I hit the neighbour.” When typing is slow and the list is read before the hand moves, the aiming window contains no refresh. Reordering inside an IME candidate window is a different list and is not this completion strip.

Applying it

  • Once a finger or pointer is down on the strip, freeze item identity until lift; defer refresh until that contact ends.
  • Give items a fixed slot width so word-length changes do not shove neighbours over.
  • In logs, tag “down target ≠ up target” as jump mis-selection; when it spikes, stop in-contact refresh before retuning the ranker.

Related

  • Same group: C6.10.1 Autocomplete candidate position and the cost of choosing · C6.10.3 Completion must not alter already confirmed input
  • Adjacent: C6.12 IME candidates · C6.26 IME candidates and ranking
  • Search: candidate jumping · suggestion stability · touchdown identity

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/C6.10.2