Emotional Disconnect
Align animation emotion with context using Disney's principles.
Problem Indicators
-
Animation feels "off" but hard to articulate
-
Playful motion on serious content
-
Sterile motion on warm content
-
Users describe UI as cold/robotic or chaotic/annoying
-
Mismatch between animation and message
Diagnosis by Principle
Appeal
Issue: Animation lacks emotional resonance Fix: Define the emotional goal. Warm = soft easing, overshoot. Professional = crisp, linear. Match motion to message.
Exaggeration
Issue: Wrong intensity for emotional context Fix: Serious contexts need restraint. Joyful contexts can be bouncy. Match exaggeration to emotional stakes.
Timing
Issue: Speed conflicts with emotional tone Fix: Calm emotions = slower. Excitement = faster. Tension = variable speed. Timing IS emotion.
Squash and Stretch
Issue: Elastic effects on rigid contexts Fix: Squash/stretch implies playfulness and life. Remove for serious, clinical, or professional contexts.
Follow Through
Issue: Endings don't match emotional intent Fix: Abrupt endings feel harsh. Soft landings feel gentle. Bouncy endings feel playful. Choose consciously.
Quick Fixes
-
Name the target emotion - "This should feel calm"
-
Match easing to emotion - Bouncy = playful, smooth = calm
-
Adjust timing to context - Slow down serious moments
-
Remove mismatch sources - Cut animations that fight the tone
-
Test with emotional vocabulary - Ask users "how does this feel?"
Troubleshooting Checklist
-
What emotion should this moment evoke?
-
Does animation easing match that emotion?
-
Is timing appropriate for emotional context?
-
Would removing animation feel better?
-
Do similar products use different motion here?
-
Ask users: "What 3 words describe this animation?"
-
Does animation match content gravity?
-
Test: Cover content, does motion emotion match?
Emotion-to-Motion Map
Emotion Easing Timing Effects
Joy Bouncy overshoot Fast Squash/stretch, scale up
Calm Gentle ease-out Slow Fade, subtle slide
Trust Smooth, predictable Medium Minimal, consistent
Urgency Sharp ease-in Fast Direct, no overshoot
Playful Spring physics Variable Rotation, bounce
Serious Linear or subtle ease Slow Minimal movement
Code Pattern
/* Calm/trustworthy */ --ease-calm: cubic-bezier(0.4, 0, 0.2, 1);
/* Playful/joyful */ --ease-playful: cubic-bezier(0.34, 1.56, 0.64, 1);
/* Urgent/serious */ --ease-urgent: cubic-bezier(0.4, 0, 1, 1);