Skip to main content

Foundations: Motion & Micro-interactions

Our Philosophy: Design That Feels Alive

[Illustration Note: Motion cloud made of ripple, pulse, border, underline glide effects]

This document is the heart of our Engaging pillar and our Fluid soul. In the Play+ ecosystem, motion is not decoration; it is a form of communication. It's how we provide feedback, guide attention, and create a seamless flow between states. Good motion design is invisible, making the interface feel responsive, intuitive, and alive.

Micro-interactions are the small, purposeful moments of delight that give our product personality. They are the subtle acknowledgements—the ripple on a click, the pulse of a notification—that make the experience feel thoughtful and human. This guide establishes the principles for creating motion that is both functional and delightful.

Motion Philosophy

In Play+, Signature Motions aren't just animation styles — they are visual metaphors for how our brand behaves: fluid, expressive, human, and clear. These patterns create consistent moments of recognition across our ecosystem. Each one serves a deliberate role in elevating clarity, delight, and purpose.

Core Motion Principles

[Illustration Note: Four tiles each showing Purposeful, Responsive, Brand-Driven, Inclusive motion examples]

PrincipleDesign GuidelineDeveloper Implementation
PurposefulEvery animation must have a clear purpose, such as guiding the user or reinforcing hierarchy.Connect each animation to a user action or state change. Avoid gratuitous animations.
ResponsiveMotion should provide immediate feedback like a physical object responding to touch.Prioritize transform and opacity. Avoid width, height, margin, or top/left.
Brand-DrivenAnimations must follow the Play+ tempo and character for consistent signature feel.Use $motion-duration-* and $motion-easing-* tokens for all animations.
InclusiveMotion must be accessible and respect user preferences.Wrap animations in @media (prefers-reduced-motion: no-preference) and offer alternatives.

Motion System Tokens

[Illustration Note: Token chips animating to show different durations and easing curves]

Duration Tokens:

  • $motion-duration-swift (150ms) — instant feedback like hovers
  • $motion-duration-standard (300ms) — default transitions and loaders
  • $motion-duration-emphasis (450ms) — to draw attention or celebrate

Easing Tokens:

  • $motion-easing-standard: natural in/out movement
  • $motion-easing-enter: fast-to-slow entrance motion
  • $motion-easing-exit: slow-to-fast exit motion

Pattern Tokens:

  • Combinations of duration + easing used across Play+ (e.g., $motion-pattern-hover-fast)

Application Guidance

[Illustration Note: Spectrum diagram of motion intensity from utility (subtle) to expressive (playful)]

QuestionGuidelines
When to UseEnhance understanding, continuity, and feedback
Where to UseKey states: transitions, confirmations, input changes
How to UseWith tokens, optimized transforms, minimal performance impact
How MuchSubtle utility motion regularly, expressive motion only at key moments

Signature Motion Patterns

[Illustration Note: Carousel of 5 signature pattern GIFs with captions (Gradient Border, Ripple Trail, etc.)]

These patterns are expressive, playful, and reinforce the identity of Play+. Each is crafted to elevate moments and deliver delight where it matters.

PatternDescriptionUse Case
Gradient Border FlowFlowing multicolour border to show focus/stateForms, modals, selected cards
Press Ripple TrailRipple follows interaction pointAll clickable elements
Micro-BounceElastic reaction on selectCheckboxes, toggles, dropdowns
Underlining GlideCenter-out hover underlineNavigation links, tabs
Feature Spotlight PulseGentle glow draws focus to new/important itemsNew features, celebratory moments

Motion Design Guide

Component-to-Motion Mapping

[Illustration needed: UI sheet with annotations showing motion overlays on different components]

ComponentMotion TypeSignature Pattern(s)Token(s) Used
ButtonUtility + ExpressivePress Ripple, Micro-Bounce$motion-duration-swift, ripple-feedback
Form FieldUtilityGradient Border, Success Tick$motion-duration-standard, gradient-focus
Tab NavigationUtilityUnderlining Glide$motion-pattern-hover-fast
CardExpressiveGradient Border Flow$motion-easing-standard
Tooltip/ModalUtilityFade, Background Blur$motion-duration-standard
Success AlertsExpressiveFeature Spotlight Pulse$motion-duration-emphasis
Checkbox/RadioUtilityMicro-Bounce$motion-duration-swift

Micro-interaction Patterns

[Illustration needed: Sequential cards showing step-by-step interaction states (hover, click, load, done)]

TypeDescriptionExamples
State ChangeVisualize a component's condition changeToggle from off to on, checkbox selection
TransitionRepresent spatial/content shiftsSlide between tabs, screen change
Feedback IndicatorAcknowledge user interactionRipple effect on button press
Progress IndicatorShow ongoing processesSpinner, linear loader on form submit

Common Sequences

UI ElementInteraction Sequence
ButtonHover → Press → Loading → Done
FormTyping → Validation Error → Success Confirmation
ModalTrigger → Fade In → Interaction → Close
NavigationHover → Select → Slide or Highlight

Motion Implementation Guidelines

[Illustration needed: Do vs Don't comparison of smooth vs janky motion (opacity vs margin)]

  • Use transform and opacity for GPU-accelerated transitions
  • Avoid animating expensive properties like top, left, width, or height
  • Default to Framer Motion or CSS transitions for smoother animation
  • Always check system-level accessibility preferences (prefers-reduced-motion)

Guardrails: Do's and Don'ts

[Illustration needed: Side-by-side UI comparison of good motion (subtle) vs bad (flashing)]

DoDon't
Use motion to reinforce hierarchy and guide the userLet animations delay or distract from task
Keep timing and easing consistentMix random timings or conflicting motion styles
Provide visual feedback for every user actionUse motion without a communicative goal
Optimize for performanceAnimate layout properties like height or margin
Respect system-level preferencesUse motion that flashes or loops excessively

Accessibility & Performance

[Illustration needed: Toggle animation showing reduced motion setting before/after]

  • Honor prefers-reduced-motion; provide static alternatives
  • Avoid flashing or repetitive movement that causes discomfort
  • Use transform and opacity to achieve 60fps on target devices

Summary Principles

[Illustration needed: 4 principles radiating from central Play+ logo (clarity, consistency, delight, accessibility)]

PrincipleDescription
ClarityEvery animation communicates purpose and feedback clearly
ConsistencyUnified motion behavior across all elements and flows
DelightJoyful moments delivered thoughtfully and purposefully
AccessibilityMotion is inclusive and adaptable to every user's sensory needs