Progress and activity

Users should feel confident about the progress of activities on their devices, such as rescaling a large image or opening a new screen. Make sure that you optimize the code and the interaction model to minimize the presence of progress and activity indicators.

If an action takes longer than 3 seconds, you should display a progress or activity indicator. In some cases, applications need time to carry out complex calculations or to download data (for example, displaying a local weather forecast). When things take longer than expected, it’s important to inform users of the process and its progress.

If you can determine the duration of an action, use a progress indicator. If you want to show that your application is working but you cannot determine the duration of the action, use an activity indicator. You can allow users to tap a progress indicator or activity indicator to present the option to pause or cancel a download or upload process.

When you implement a progress indicator or an activity indicator, try to implement a non-modal solution so that users can still interact with the application while the indicator is displayed. Use the table below to choose the optimal implementation.

Solution Use Examples Action
Inline (non modal) If the UI has an individual component to attach an indicator to
  • Synchronizing an inbox
  • Updating a feed in an RSS client that holds a number of feed channels

Attach the indicator to the affected item.

This approach provides users with progress information and allows them to continue.

Toast (non modal) If the UI doesn't have individual components to attach an indicator to Uploading an image

Display a toast on the screen.

This approach provides users with progress information and allows them to continue.

Dialog (modal)
  • If you can't incorporate the process into a background activity
  • If the application requires a process to finish before being usable again.
Synchronizing all contacts

Display a dialog on the screen.  

This approach does not allow users to interact with the screen during the process.

For best practices, see Activity and progress indicators.

Was this information helpful? Send us your comments.