Motion earns its place when it answers a question the user was about to ask. Everything else is decoration with a runtime cost.
The three questions worth answering
- Did that work? State change confirmation, ideally under 150ms.
- Where did it go? Spatial continuity when content enters, leaves or reorders.
- How long will this take? Progress that is honest about duration rather than looping indefinitely.
Timing is the whole craft
Most bad motion is not badly designed, it is badly timed. Entrances want to be quicker than exits. Anything the user initiated should feel immediate. Under 100ms reads as instant, and above 300ms starts to read as lag rather than as polish. Easing should decelerate into rest, because objects in the physical world do.
Respect the setting
A meaningful share of users have reduced-motion enabled, some because animation makes them physically unwell. Honour the media query, and treat it as a design state rather than an accessibility checkbox. The reduced version should still answer the same three questions, just without the movement.
- Motion
- Interaction design
- Performance



