
Ux Friction
- 304 installs
- 68 repo stars
- Updated December 30, 2025
- dylantarre/animation-principles
Identify and reduce UX friction points—hesitation, confusion, dead clicks—using motion diagnostics in prototypes before committing full production animation systems.
About
Focuses on detecting and easing UX friction through animation-aware prototyping—spotting hesitation, unclear feedback, and jarring transitions early so teams fix motion-related usability issues before full frontend implementation.
- Surfaces hesitation via motion prototypes
- Links animation gaps to drop-off risk
- Tests feedback clarity before ship
- Prioritizes fixes by friction severity
- Balances motion richness with speed
Ux Friction by the numbers
- 304 all-time installs (skills.sh)
- Ranked #826 of 1,880 Design & UI/UX skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dylantarre/animation-principles --skill ux-frictionAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 304 |
|---|---|
| repo stars | ★ 68 |
| Last updated | December 30, 2025 |
| Repository | dylantarre/animation-principles ↗ |
What it does
Identify and reduce UX friction points—hesitation, confusion, dead clicks—using motion diagnostics in prototypes before committing full production animation systems.
Files
UX Friction
Diagnose animations that block, confuse, or frustrate users.
Problem Indicators
- Users wait for animations to finish
- Confusion about what happened
- Repeated clicks/taps during animation
- Users skip or abandon tasks
- "Where did that go?" moments
Diagnosis by Principle
Timing
Issue: Animation too slow for the context Fix: Match duration to user intent. Micro-interactions: 100-200ms. Transitions: 200-400ms. Never block input.
Anticipation
Issue: Action happens without warning Fix: Add subtle anticipation cues before significant changes. A button press should show feedback before the result.
Follow Through
Issue: Animation ends abruptly Fix: Let elements settle naturally. Sudden stops feel broken. Add slight overshoot and settle.
Staging
Issue: Important changes happen outside focus Fix: Draw attention to where change occurs. If content moves, guide the eye with motion.
Appeal
Issue: Animation feels arbitrary Fix: Every animation should have clear purpose. If users question "why does this bounce?", remove it.
Quick Fixes
1. Make animations skippable - Click/tap should complete or skip 2. Reduce duration by 30% - Most animations are too slow 3. Add progress indicators - For anything over 400ms 4. Animate in user's focus area - Don't move things peripherally 5. Remove decorative animations - If it doesn't help, it hurts
Troubleshooting Checklist
- [ ] Can users interact during animation?
- [ ] Is duration under 400ms for transitions?
- [ ] Does animation communicate state change?
- [ ] Is the animation skippable if lengthy?
- [ ] Does motion guide attention correctly?
- [ ] Is there feedback for user input?
- [ ] Would removing animation hurt understanding?
- [ ] Test with impatient users (click rapidly)
Pattern
// Allow interaction during animation
element.style.pointerEvents = 'auto';
// Make animation skippable
element.addEventListener('click', () => {
element.getAnimations().forEach(a => a.finish());
});