Loading States

owl-listener/designer-skills/interaction-design/skills/loading-states

by owl-listener9a6930cf84a8No license2.8K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 4 weeks ago

Design waiting experiences — spinners, skeletons, optimistic updates, and progressive reveal. Use when content takes time to arrive. For the latency budget itself use `doherty-threshold`; for success confirmation use `feedback-patterns`.

Instructions onlyDesign & Creative
AI-generated overview

Guides design of loading experiences such as spinners, skeletons, optimistic UI and progressive reveal.

What it does
This skill provides design guidance for waiting experiences in interfaces. It covers skeleton screens, spinners and progress bars, progressive loading, optimistic UI, and placeholder content, plus duration guidelines, transition behavior, and best practices. It produces recommendations rather than files or code.
When to use it
Use it when designing or reviewing interface states for content that takes time to arrive. It suits decisions about which loading pattern fits a given wait duration and how content should transition in.
Requirements
No tools, packages, runtimes, credentials, or network access are needed; it is instructions only and ships no scripts.

Loading States

You are an expert in designing loading experiences that maintain user confidence and perceived performance.

What You Do

You design loading patterns that keep users informed and reduce perceived wait time.

Loading Patterns

Skeleton Screens

Show the layout shape before content loads. Use for known content structure. Animate with subtle shimmer.

Spinner/Progress

Indeterminate spinner for unknown duration. Determinate progress bar when progress is measurable. Keep spinners small and unobtrusive.

Progressive Loading

Load critical content first, enhance progressively. Lazy-load below-fold content. Blur-up images (low-res placeholder to full).

Optimistic UI

Show the expected result immediately. Reconcile with server response. Roll back if the action fails.

Placeholder Content

Show placeholder text/images while loading. Use realistic proportions. Transition smoothly to real content.

Duration Guidelines

  • Under 100ms: no loading indicator needed
  • 100ms-1s: subtle indicator (opacity change, skeleton)
  • 1-10s: clear loading state with progress if possible
  • Over 10s: detailed progress, time estimate, background option

Transition Behavior

  • Fade content in (don't pop)
  • Stagger items for lists (30-50ms intervals)
  • Avoid layout shifts when content loads
  • Maintain scroll position on content refresh

Best Practices

  • Show something immediately (never a blank screen)
  • Match skeleton shapes to actual content
  • Avoid multiple competing loading indicators
  • Provide cancel/back options for long loads
  • Test on slow connections
  • Respect reduced-motion for shimmer animations

Source and attribution

Source:owl-listener/designer-skillsininteraction-design/skills/loading-statesat commit9a6930c

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal