Animation isn't decoration. It's communication. Here are the principles that separate purposeful motion from noise.
Most UI animation is added as an afterthought. A fade here, a slide there. The result is a product that feels random — sometimes snappy, sometimes sluggish, never intentional.
Linear animation feels mechanical and wrong. Everything in the physical world accelerates and decelerates. Use ease-out for elements entering the screen (they decelerate to rest), ease-in for elements leaving (they accelerate away), and ease-in-out for elements moving within the screen.
"The best animation is the one users don't notice — they just feel that the product is alive."
Small elements (icons, badges): 100–150ms. Medium elements (cards, panels): 200–300ms. Large elements (full-screen transitions): 400–500ms. Anything over 500ms feels slow unless it's a deliberate loading state.
UX Engineer based in Sri Lanka. I design and build interfaces at the intersection of design systems, motion, and engineering.