Fast is a feature
Interface motion is not cinema. Users are mid-task; animation happens between them and their goal. The tolerable window is narrow — long enough to read as movement, short enough never to feel waited-on. For most interface animation that means staying under 300ms, and often well under.
When in doubt, shorten. Almost no interface animation has ever been criticized for finishing too soon.
Duration follows size and distance
Small elements moving small distances need less time; large surfaces need slightly more. A working scale:
- Press feedback — 100–160ms: near-instant acknowledgment
- Tooltips and small popovers — 125–200ms
- Dropdowns and selects — 150–250ms
- Modals, drawers, page-level surfaces — 200–400ms
- Marketing and storytelling moments — longer is allowed; the reader isn’t mid-task
Open all three at once. Watch which one is still arriving.
Perceived speed beats measured speed
Two animations of identical length can feel different. One that starts fast and settles reads as quicker than one that winds up slowly, because the user sees most of the change immediately. Response time matters more than completion time: an interface that starts reacting within a frame feels instant even while the tail of the motion is still finishing.
This is why snappy interfaces front-load their motion — most of the distance covered in the first third of the duration.
Both panels take exactly 300ms. Which one feels faster?
Exits run quicker than entrances
An element arriving is information; an element leaving is cleanup. Users need to see the entrance, but once dismissed, a surface should get out of the way — exit durations around two-thirds of the entrance keep dismissal feeling obedient rather than reluctant.
The takeaway
Keep interface motion under 300ms, scaled by size: near-instant for presses, brisk for popovers, a touch more for full surfaces. Front-load the movement so response feels immediate, and let exits run faster than entrances. Duration is felt, not measured — when a screen feels sluggish, the animation is almost always too long.