Summary of "A framework for designing and engineering safe, resilient, & inclusive motion I Axe-con 2026"

Overview

Stefan Kitsu (Adobe Spectrum) opened by introducing himself and his lived experience with epilepsy. He explained that commonplace UI motion — especially loading spinners and celebratory animations — can cause real harm (motion sickness, migraines, panic, seizures) for many people, not just “edge cases.” He argued that animations must be designed to fail safely: treat motion with the same defensive mindset used in security or validation so failures don’t become hazards.

Animations must be designed to fail safely — anticipate failure modes and build guard rails so failures don’t become hazards.

Core thesis

Practical framework — five principles (with demos)

  1. Time and count limits

    • Enforce hard caps on duration and iteration (e.g., maximum seconds or maximum pulses).
    • Monitor frequency to detect runaway flicker.
    • Demo: infinite spinner vs spinner that times out and shows a clear failure message.
  2. Circuit breakers and emergency stops

    • Detect abnormal resource behavior or event storms and stop motion (like a fuse box).
    • Provide global kill switches and emergency stop mechanisms.
    • Respect prefers-reduced-motion (it reduces non-essential motion, not necessarily a full kill switch); also offer a final safety valve when needed.
    • Demo: uncontrolled ripple effects vs ripples that clean themselves or a global “stop animation” action.
  3. Fallbacks and safe failures

    • Always provide a non-animated/readable alternative when motion fails.
    • Replace failed/looping animation with a calm static state and clear guidance (e.g., “failed to load — retry”).
    • Demo: skeleton screens that loop forever vs skeletons that time out and show actions/notifications.
  4. Monitoring and consolidation

    • Watch performance metrics (CPU, memory, frame rate) and reduce or stop motion when overloaded.
    • Consolidate repeated/competing animations (batch error notifications instead of stacking many alerts).
    • Demo: many overlapping error toasts vs a single batched notification.
  5. State and coordination control

    • Maintain a single source of truth for running animations; cancel and clean up previous animations before starting new ones.
    • Sequence and debounce transitions to avoid overlap and “orphaned” animations.
    • Demo: rapid tab switching causing overlapping transitions vs coordinated transitions that cancel/clean previous ones.

User agency and settings

Operationalizing defensive animation

Practical checklist (recommended before shipping any motion)

  1. What happens when my animation fails?
  2. Who gets hurt if it doesn’t stop?
  3. How can I make it stop safely every single time?

Q&A highlights

Resources and follow-up

Speakers


Share this summary


Is the summary off?

If you think the summary is inaccurate, you can reprocess it with the latest model.

Video