Command Palette

Search for a command to run...

Hectal
Shots in this scene
SHOT 2.3Beginner ~21 min · shot 3 of 6

The Animation Principles for Interfaces

In one line

Disney's animators named twelve principles of animation. Seven matter for interfaces: slow in and out, anticipation, follow-through, squash and stretch, arcs, staging and timing. In product UI they work small and short; marketing pages can be bolder.

0/6 · 0%

Think of it like this

Throw a ball. It leaves your hand fast, slows at the top, falls faster, travels in a curve and squashes a little when it lands. Animators named these behaviours so they could draw them. The principles are the names for how real things move.

Words you'll meet

New words in this topic, in plain English. Come back here whenever one feels fuzzy.

slow in and slow out
Starting and ending a move gently. In CSS this is easing.
anticipation
A small move the other way before the main move, so the eye expects it.
follow-through
Motion that carries on a little past the end and settles back.
squash and stretch
A small change of proportion that makes a shape feel like a material.
arc
A curved path. Real things rarely move in straight lines.
staging
Directing attention to one thing, for example by dimming everything else.

Step by step

01Find what feels mechanical

Say what is wrong: it starts abruptly, goes in a straight line, or everything moves at once. Each complaint points to a principle.

02Add the smallest fix

Slow in and out first. If it flies, an arc. Only then anticipation or follow-through, a few pixels at most.

03Read it on the timeline

Pause and step through. The value should change quickly at one end and slowly at the other, not evenly.

04Check the calm version

Squash, arcs and anticipation are movement. For reduced motion keep the state change and swap them for a short fade.

Try it yourself

  1. 1

    Measure the arc

    In "An arc without a path", press Throw and step to 175, 350 and 525 ms. The straight ball is at y = -14, -28, -42: even steps. The arc ball's y is -75, -110, -93: fast up, a stop at the top, then down. Its x is the same even 67, 135, 202 px as the straight ball's.

  2. 2

    Step through the wind-up

    Press Delete and step to 78 ms: the row is about 4 px to the right (the anticipation). At 156 ms it is 71 px to the left and about half transparent. At 260 ms it is back to normal, because the animation does not remove the row.

Code & diagrams

Try it: interactive

Slow in and slow out, A and B

Press Replay and compare A with B. Then use the principle list to try the others.

An arc without a path

Press Throw. The blue ball goes straight; the orange one has an even x and a y that rises and falls. Pause at 350 ms: the blue ball is 28 px up, the orange one 110 px up. Both snap back at the end, because nothing keeps the end state yet (Topic 8.4).

Press Run to see the page.
00:00.000
animations
0.00s0.10s0.20s0.30s0.40s0.50s0.60s0.70s0.80s0.90s

Nothing is moving yet. Hover, click or scroll the page: every animation it starts shows up here as a track.

frames

Console

Nothing logged yet.
Three principles, kept small

Delete steps right and leaves, New row overshoots and settles, Like squashes the badge. Press each several times fast: every press starts a fresh animation. Switch on Reduced motion: all three become a short fade.

Press Run to see the page.
00:00.000
animations
0.00s0.10s0.20s0.30s0.40s0.50s0.60s0.70s0.80s0.90s

Nothing is moving yet. Hover, click or scroll the page: every animation it starts shows up here as a track.

frames

Console

Nothing logged yet.

Break it on purpose

Errors are the best teachers. Make each change, read the error, guess what went wrong, then reveal the answer.

Break #1

Give the arc a straight rise

In "An arc without a path", delete , easing: "ease-out" and , easing: "ease-in" from the arcY keyframes. Press Run and Throw, and step to 175 ms.

terminal
$ Step to 175 ms
── what you'll see ──
The arc ball's y is -55 instead of -75. It climbs at a constant speed and turns at the top like a wedge.
Verified in a run: -55, -110 and -83 at 175, 350 and 525 ms.

Break #2

Wind up too far

In "Three principles, kept small", change translateX(6px) to translateX(30px). Press Run and Delete, and step to 78 ms.

terminal
$ Step to 78 ms
── what you'll see ──
The row is about 19 px to the right and still there; it looks like a glitch before the row leaves.
Verified: translateX 18.7 px at 78 ms.

Myth vs fact

Myth

The principles are for cartoons, not interfaces.

Fact

They describe how things move, and people read interface motion the same way. They only need to be much smaller in product UI.

Myth

More principles make better motion.

Fact

Each one adds movement and time. Use the fewest that fix what feels wrong.

Pro corner

Extra depth for experienced readers. New to this? Skip it for now and come back later.

  • ▸

    Follow-through and overshoot come free from springs (Phase 9), which also keep their speed when interrupted. The keyframe overshoot here is a cheap stand-in.

  • ▸

    Arcs with real curves use motion paths: SVG paths in Phase 13 and GSAP's MotionPathPlugin in Phase 14. Two eased axes are the zero-dependency version.

  • ▸

    Staging often needs more than dimming: a modal should trap focus and make the page behind inert, or keyboard and screen-reader users can still reach what looks hidden (Topic 7.6).

Remember this

  1. 1

    The problem this solves: motion at constant speed on straight lines looks mechanical, and people say an interface "feels cheap" without knowing why. The principles are a vocabulary for what is missing. They were written down by the Disney animators Ollie Johnston and Frank Thomas in *The Illusion of Life* (1981).

  2. 2

    Slow in and slow out. Real things speed up and slow down. At a constant speed an element starts and stops abruptly. In the browser this is easing, which Phase 5 covers in depth. For product UI it is the one principle you use on everything.

  3. 3

    Anticipation and follow-through. Anticipation is a small move the opposite way before the main move, so the eye knows what is coming: the Delete row steps 6 px right, then leaves left. Follow-through is the settling after: a new row arrives 3 px past its place and returns. Keep both tiny and fast. Lumen's own choice (not a standard): a wind-up of about 6 px in the first 80 ms.

  4. 4

    Squash and stretch. A shape that changes proportion a little feels like a material, not a rectangle. For interfaces Lumen keeps it to about 15% or less (its own choice) and uses it only on solid shapes such as a badge or a pill, never on text, which looks distorted.

  5. 5

    Arcs. Thrown things travel on curves, and straight lines look robotic. You can make an arc without a path: let x move at an even pace while y goes up slowing down and falls speeding up, as the Throw example does. Use arcs for things that fly, such as an item to the cart.

  6. 6

    Staging and timing. Staging directs the eye to one thing: a dialog opens, and the page behind dims and steps back. One thing should move at a time. Timing is the duration, and it carries meaning: a small confirmation is quick, a big movement is slower (Topic 2.4).

  7. 7

    Which fit where. Product UI (frequent, quiet): slow in and out and timing always, staging for dialogs, small follow-through and arcs for flying items, anticipation and squash rarely. Marketing and storytelling pages (people came to look): all of them, bolder, but still with a calm version for reduced motion.

Explain it without notes

01

Which principle fixes an element that starts and stops abruptly, and what is it called in CSS?

02

How do you make an arc with two animations and no path?

03

Why keep squash and stretch small in product UI?

Practice

01

Take the Like badge and make it follow-through instead of squash: it grows to 1.25, drops to 0.95 and settles at 1 in 240 ms.

02

Make the arc land the ball on the cart: the final y should be -56 and the peak -110.

Done when you can

  • You can name the seven principles and the CSS idea behind slow in and out

  • You can make an arc from two eased axes

  • You know which principles fit product UI and which belong on marketing pages

  • You can describe the reduced-motion version of each