F7.11.3Coalesce rapid motion triggersdesign

Rapid triggers should coalesce or skip, not queue

Aliases: motion coalescing · animation queue · queued bursts

What it is

If eight displacements from a burst of taps play in a queue, people watch intermediate pages they have already abandoned flash by in order. On rapid triggers, motion must merge onto the latest target or skip the in-betweens, not run a first-in-first-out cinema programme. A queue performs every historical intent. That is not “the new intent cannot enter”; the intent entered, and then sat behind old clips.

Why it happens

Each trigger play()s a new animation, which queues by default. Burst-tapping tabs, a stepper, or back, and queue length equals surplus intents. Visually: the destination is already item 5, but 2, 3 and 4 must still make their entrance. The target moves inside the queue, hit regions chase stale coordinates, miss rate rises.

Coalescing means: when a new trigger arrives, the clip in flight takes its current progress as origin and re-interpolates to the latest end; stale ends are never drawn. Skipping means: cut to the latest end state. Both revoke performance rights from historical intents. Springs are especially bad here, because each queued item still carries velocity and a merge beats the phases against each other — one more reason high-frequency controls should not overshoot, but even without overshoot the queue itself is already wrong.

Where it stops holding

  • Scenes that are a record of process (visualising an undo stack, playing back a timeline) are exceptions; that motion is the history.
  • If two triggers are farther apart than settling time, there is no queue; treat them as two independent transitions.
  • Merging to latest must still land on a legal state; fields from two end states must not be blended into a third document.

Applying it

  • On a new trigger for the same property on the same object, cancel the in-flight clip and retarget to the latest end, or finish() to latest.
  • Do not put navigation on a global animation queue; navigation keeps only the current destination route.
  • Check: tap a stepper or eight tabs in a burst. If the screen walks through the six in-betweens, it is programming a cinema; only the last landing should be seen.

Related

  • Same group: F7.11.1 The next action must not wait for unfinished motion · F7.11.2 Interrupted motion still needs a coherent mid-state · F7.11.4 Forced motion feels slow in high-frequency use
  • Nearby: F7.03.3 Spring curves do not suit frequently triggered motion · F7.10.1 Stacked motion lengthens total wait
  • Search terms: coalesce animations · animation queue · latest-wins

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/F7.11.3