The cover must not outlast the real delay
Aliases: cover too long · transition longer than round-trip · extra wait
What it is
If the data arrives in 80 ms and the transition still has 400 ms to play, the leftover is not a cover; it is newly minted waiting. The cover’s ceiling is the length of the real delay. Past that ceiling, motion stops occupying a gap and starts blocking an interface that is already ready.
Why it happens
The point of loading in parallel is that the slowest segment decides when the user is done waiting. If the transition is longer than both network and decode, the slowest segment becomes the animation clock. Content is already in memory, yet hit targets stay closed until easing finishes, and causality flips: people wait for a path that has already completed.
Subjectively this is worse than a blank. A blank is at least attributed to the network; an overrunning transition is attributed to the interface performing. Filled-duration effects do not help here — the physical interval was actively lengthened, so even a shorter estimate sits on a stretched base.
Studying it
Set real latency to short, medium and long, hold transition duration fixed, and plot the gap from data-ready to interactive. A positive gap that grows with transition duration is a cover that has gone past its ceiling. Other dependent measures: complaints of “ready but not tappable,” swallowed taps that arrived early.
Instrument the actual ready moment; do not use only the animation-end event, or overrun is invisible by construction.
Where it stops holding
- If the transition has separate identity or hierarchy work to do, it may run a little past this round-trip, but the overrun must be billed to that spatial job, not to “covering.”
- When latency jitter is large, setting the transition on the mean overruns the fast trials. Set it on a low percentile: better to expose a short load occasionally than to play out every time.
- This leaf does not cover “no delay at all, but play an animation anyway” — that is fabrication, not an overrunning cover.
Applying it
- End on data-ready: the transition may finish earlier than ready (then pick up progress), it may not keep the UI locked after ready.
- Once ready, allow the remaining ease to be skipped to the end state.
- Check: run the same transition on a local cache hit (near-zero delay). If the full duration must still elapse before a tap counts, the cover has overrun.