Loading and Progress Indicators
What is the difference between a spinner, a progress bar and a skeleton screen? Use a spinner when the wait length is unknown, a progress bar when you know the percentage, and a skeleton screen to preview the layout while a full screen loads.
These are the bars and dots that show waiting and progress. Which one you pick depends on what you are waiting for.
Terms and previews
Tap a preview to pause it; tap again to play.
Spinner
A spinning indicator. For when you do not know how much time is left
Progress bar
A bar that fills up when you know the percent done
Skeleton screen
A loading view that first draws gray blocks where content will go
Step indicator
Shows the current position among step 1, step 2, step 3
Story progress bar
A bar split into segments, for moving through several items in turn
Reading progress bar
A line at the top that fills as you read an article
Password strength meter
Segments that fill to show how secure a password is
Home indicator
The horizontal bar at the bottom of an iPhone. A gesture handle, not a progress indicator
How to use it
- If it finishes within 1 second, show nothing. For 1 to 3 seconds use a spinner. For longer waits or a full-screen load, use a skeleton.
- For flows of 3 or more steps such as checkout or sign-up, use a step indicator to show which step the user is on and how many remain.
- Do not put a button directly above the home indicator. It collides with the swipe-up gesture.
Prompts to copy
3-step checkout
Build a checkout in 3 steps: Shipping address -> Payment method -> Review. - A Step indicator at the top. Completed steps show a check, the current step is highlighted, remaining steps are dimmed. - Show a Skeleton screen while the next step's data loads. - When the pay button is pressed, put a small Spinner inside the button and disable it.
Source posts: @uxwoodytips, @ui_motion_prompts