Live re-ranking can move the target as the user is about to click, causing a mis-pick
Aliases: candidate jumping · live re-rank · missed candidate tap
What it is
As composition grows by a letter, the engine may re-rank the whole candidate row. Late cloud results and asynchronous context updates can also slide a word aside while a finger is already moving toward it. The tap lands on whichever word newly occupies that cell. That is ranking unstable in time, not a window covering the text, and not paging cost. Autocomplete-bar jumping is a cousin, but an IME Space key will commit whatever newly sits in slot one, a harder failure.
Why it happens
Re-ranking has three triggers: the pinyin prefix lengthens (j→ji→jin), a cloud RPC returns, or the previous word just committed and the context window slides. If the UI redraws immediately, the target translates during the pointing movement—the same family as clicking a menu that has not settled. Touch is worse because aiming lasts longer. When Space is bound to slot one, swapping slot one commits a new word with no tap at all. Stability tactics include freezing the list after pointer-down, appending cloud results instead of cutting in, or re-ranking only after a pause longer than some threshold.
Studying it
Log each candidate-bar redraw with every word's screen coordinates, align them with touch-down timestamps, and test whether the intended word had already left that coordinate at down. Independent variables: wait for cloud or not, freeze on keydown or not. Dependent measures: mis-pick rate, and whether the displaced word was the original target. Slow-motion screen recording beats a questionnaire. Extremely fast lab networks underestimate cloud cut-ins.
Where it stops holding
Fully offline IMEs that only show a list after the whole pinyin string is typed rarely re-rank. Whole-sentence decode that waits for punctuation has no mid-way tappable list. Low-ambiguity syllables have little displacement. Choosing the nth item with a number key is the keyboard version of the same mechanism: re-ranking makes “press 3” map to another word.
Applying it
- Freeze the current list after pointer or finger down until up or cancel.
- Append cloud results under “more” rather than shoving aside the already-shown top slots, unless the user has clearly paused.
- Space-commit should use slot one at keydown, not a word swapped between keydown and keyup.
- Verify on a throttled network with high-ambiguity pinyin, watching in slow motion whether the word in the cell changes between touch down and up; a change that commits is a failure.
Related
- Same group: C6.26.1 Candidate ranking fuses word frequency, a contextual language model, and personal history · C6.26.2 Learning from choices raises a word later, but can also cement typo candidates · C6.26.3 For polyphones and homophones, candidate order dominates first-hit rate
- Adjacent: C6.10 Autocomplete · C6.12 IME candidates
- Search:
candidate jumping·re-ranking·moving target