micro interactions: the difference between good and delightful
Jan 20, 2026 · 2 min read · design
Nobody ever churned because a button lacked a hover state. And yet, ask someone why an app feels premium and they will struggle to point at anything specific. It is never one thing. It is forty tiny things, each too small to praise on its own.
Micro interactions are those forty things: the button that dips when pressed, the toggle that lands with a soft spring, the count that ticks up instead of teleporting. They matter for one reason that has nothing to do with decoration: feedback is trust. Every time the interface reacts to me, it confirms the system heard me. Silence is what feels broken.
The anatomy of a good one
Every micro interaction answers three questions in under half a second:
- Did the system hear me? (the trigger acknowledged)
- What is happening? (the state is changing)
- What changed? (the new state is confirmed)
Take a save button. Press: it compresses slightly, question one answered. A quiet spinner replaces the label, question two. The label returns as "saved" with a small check, question three. Total cost: maybe 600 milliseconds and zero words of explanation.
Where delight actually lives
Delight is not confetti. Confetti is a tax you pay once and resent forever after. Delight lives in physics: things that accelerate and decelerate like objects, spring like materials, resist like weight. Our brains spent millions of years learning how objects move. Animation that obeys those rules feels right before it registers as animation at all.
That is why duration and easing matter more than the idea itself. The same scale effect feels premium at 200 milliseconds with an ease out curve and feels like a toy at 500 with a bounce. When in doubt: faster, softer, once.
The three rules I hold myself to
Purpose first. Every animation must communicate something: state, direction, hierarchy, causality. If I cannot name what a movement says, it is decoration, and decoration gets cut.
Respect the exit. Reduced motion preferences are not an edge case, they are a promise. Every micro interaction needs a version that is simply an instant state change.
Never block. An animation that makes the user wait is a bug with good taste. Feedback rides along with the action, it never stands in front of it.
Good products work. Delightful products acknowledge you. The gap between them is measured in milliseconds, and it is some of the highest leverage design work there is.