C3.23.2Nested scroll handoff stutterdesignresearch

Badly timed handoff feels like a stutter

Aliases: scroll hitch · handoff delay · nested stutter

What it is

If several frames pass at the inner edge with nobody consuming delta, or if both layers consume the same delta, the user feels a hitch. That is not a dropped frame rate. It is a time gap in the scroll chain: the finger still moves, content pauses, then the page lunges to catch up. Handoff can “happen” and still feel wrong; the issue is timing.

Why it happens

Ideally the remainder switches on the edge frame: inner delta goes to zero and outer delta equals the remainder in the same frame. Gaps come from waiting for lift-off before giving events to the parent; playing bounce to completion before chaining; two inertia calculators whose initial velocity is discontinuous; or a debounce dead zone that discards travel. The opposite is overlap: inner bounce still running while the outer starts, so the same dy is applied twice and the edge twitches. A velocity discontinuity is read by the visuo-vestibular system as a collision, more salient than a mere change of owner.

Studying it

Frame-step a recording around the edge and plot finger speed against content speed. Measures include frames where content speed is zero, the post-handoff velocity jump, and “it stuck” ratings. Factors include waiting for lift-off, whether bounce participates, and whether inertia is transferred. Mean frame rate is the wrong metric—the session can stay at 60 fps and still freeze at the boundary.

Where it stops holding

A very short child that hits the edge almost immediately makes the hitch feel like general lag. Instant jumps without inertia are less sensitive to a mistimed frame. Games and maps with custom camera interpolation get little from scroll-chain frame alignment. The hitch is also not a direction-lock problem: a purely vertical nest stutters too.

Applying it

  • Write the remainder and the outer initial velocity on the crossing frame; do not wait for lift-off or bounce completion.
  • If bounce is required, play it only when the user is holding the edge and no longer pushing outward; do not insert bounce before handoff.
  • Push slowly and fling fast across the edge; confirm content speed never sits at zero. A subjective hitch that lines up with those zero frames is this defect.

Related

  • Same group: C3.23.1 The inner scroller hands off to the outer after hitting an edge · C3.23.3 Direction discrimination for a horizontal rail in a vertical list
  • Adjacent: C3.06 Fling and inertia · C3.19 Gesture conflicts and disambiguation
  • Search: scroll hitch · handoff latency · velocity continuity

Cards in the same group

Quick Actions

Share

Share this page

ios_share

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