Course 2 · Prototyping & Animation · Advanced

Easing and timing — motion that feels right

Two prototypes can use the exact same Smart Animate transition and one feels expensive while the other feels cheap — the entire difference is the easing curve and the timing, the part beginners leave on default.

Read this module through your lens

New to design: this is the polish layer — small timing choices that make motion feel professional.

The curve is the craft

You can have a perfectly correct Smart Animate transition — matched layers, one property changing — and still have it feel cheap. The remaining variable, the one that separates a prototype that feels expensive from one that feels like a student project, is timing: the easing curve and the duration. Beginners leave both on default and never realize that is where the quality lives.

Easing is the curve of motion over time — how speed changes from start to finish. The default that beginners never change is often linear: constant speed throughout. Nothing in the physical world moves at constant speed; objects have mass, so they accelerate and decelerate. Your eye knows this intimately, so linear motion reads as mechanical and dead, like a robot arm. The instant you give motion a curve that accelerates and settles, it reads as physical and alive. That single change is the biggest upgrade available to a prototype.

Match the curve to the action

Easing is not one setting; different actions want different curves, and matching them is the skill. An element entering the screen should use ease-out: it starts fast and decelerates to a gentle stop, which reads as “arriving and settling.” An element leaving should use ease-in: gentle start, then accelerating away, reading as “departing.” Something moving or morphing from one place to another wants ease-in-out: it eases off, travels, and eases to a stop, like a real object picking up and losing speed.

Get this wrong — the same curve for entering and exiting, or ease-in on something arriving — and the motion feels subtly off even if the viewer cannot say why. Get it right and it feels inevitable.

Duration pairs with easing. UI motion lives in roughly 150 to 300 milliseconds; exits can be a touch faster than entrances. Longer than ~400ms and the user is waiting on your animation, which is the opposite of helpful. The bias, almost always, is toward fast. A snappy ease-out beats a slow dramatic one in a tool people use all day.

Stagger, and resist the springs

One more professional move: when several things animate together — a list loading, a grid of cards appearing — do not move them all in the same instant. That reads as one heavy block shifting. Instead stagger them, offsetting each item’s start by a small delay (20 to 40 milliseconds). The eye then perceives individual elements cascading in, which is both more legible and more pleasing. The same eight rows feel light and intentional staggered, heavy and abrupt simultaneous.

Finally, a warning about the toys. Figma offers springy and bouncy easing, and they are seductive — the first overshoot-and-settle bounce feels delightful. Used everywhere, they become a gimmick that makes a product feel unserious and, worse, slow, because a bounce takes time to settle. Reserve expressive springs for rare, meaningful moments (a successful action, a playful brand). Default to clean ease-out for the everyday motion that makes up 95% of a product. Restraint, again, is the senior signal.

Hands-on exercise

Take a transition you built with Smart Animate and tune its motion. Classify it — entering, exiting, or morphing — and apply the matching easing (ease-out, ease-in, or ease-in-out) at a duration in the 150-300ms band. Then build a list or grid that animates in, and stagger the items by ~30ms each. Compare your tuned version against a linear, 500ms, simultaneous version of the same motion, and capture both. Note in one sentence why the curve and stagger changed the feel.

The same lesson, a different object

first try

Eight list rows fade and slide in. The designer animates them all at once, 500ms, linear.

problem

It feels slow and robotic: linear motion looks mechanical, half a second makes the user wait, and all eight moving in unison reads as one heavy slab, not items arriving.

fix

Drop to 240ms ease-out and stagger the rows by 30ms each. Now they cascade in lightly, each row clearly its own element, and the whole thing feels quick and alive.

The failure gallery

Each of these is caught by a quality gate — keep the cheatsheet open while you work.

Watch the journey

Side-by-side: the same list animating linear/500ms/simultaneous vs ease-out/240ms/staggered. video slot · supplementary to the written core
Easing communicates physics and intent: things accelerate and decelerate, they do not move at constant speed. Match the curve to the action, keep durations short, and stagger grouped motion so the eye can follow — quality lives in the curve, not the keyframes.

Cheatsheet

Recipe & shortcuts
Entering elements: ease-out (fast start, gentle stop) ~200-300ms. Exiting elements: ease-in (gentle start, quick leave) ~150-250ms. Moving/morphing: ease-in-out. Avoid linear (mechanical). Stagger a list: 20-40ms delay between items so they cascade, not pop together.
Failure modes
  • Linear easing -> mechanical, lifeless motion
  • Durations too long (>400ms) -> sluggish, makes users wait
  • Same curve for entering and exiting (feels off)
  • Everything animating at once instead of staggered
  • Springy/bouncy easing used everywhere as a gimmick
Key operations
  • Choose easing per action (ease-out in, ease-in out, ease-in-out morph)
  • Tune duration to the 150-300ms band
  • Add small stagger delays to grouped items
  • Use custom bezier for a signature feel sparingly
Quality gates
  • Is easing non-linear and matched to the action?
  • Are durations in the snappy 150-300ms range?
  • Do grouped elements stagger rather than pop together?
  • Does the motion feel intentional, not decorative or springy-for-its-own-sake?
Workflow steps
  • Classify each motion — entering, exiting, or morphing
  • Apply the matching easing and a short duration
  • Stagger grouped/list motion
  • Preview, compare against linear, refine
Next module
  • Course 3 — Design Systems & Components: sys_components_variants.

Reflection card

Active retrieval — answer from memory before re-reading. Saved to this browser.

  • A transition retimed with action-matched easing in the 150-300ms band.
  • A staggered list/grid animation (small per-item delay), captured.
  • A side-by-side against a linear/long/simultaneous version showing the difference.

Next: Course 3 — Design Systems & Components: sys_components_variants.

Finish — back to Prototyping & Animation →