Improving Progress Bar UX/UI Design Indicators and Feedback Notifications

Visibility of system status is one of the most important rules of UI/UX design.

The goal behind this rule is pretty obvious — to minimize user tension you should provide feedback to the user about what is happening with the app within a reasonable amount of time.

Don’t keep the users guessing — tell the user what’s happening. And one of the most common forms of such feedback is a progress indicator.

In this article, we’ll give you an overview of the main types of the progress tracker indicators and the use cases for them.

Good interaction design provides feedback

While instant app’s response is the best, there are simply times when your app won’t be able to comply with the guidelines for speed.

Delays are usually caused by slow loading times and latency issues. For such cases, you must reassure the users that the app is working on their request and that actual progress is being made.

Essentially, feedback answers questions across three categories:

  • Current Status: What’s happening?
  • Outcomes: What has just happened?
  • Future Status: What will happen next?

What is a good progress bar UX/UI? (Examples & Best Practices)

Good progress tracker indicators always give some type of immediate feedback.

They notify users that the app needs more time to process the user action, and tell (approximately) how much time it will take. They have two main advantages:

  • Reduce user’s uncertainty (app reassures the user that it’s working).
  • Offer a reason to wait and reduce users’ perception of time (app gives the user something to look at while waiting. Thus, makes users pay less attention to the wait itself).

A user’s wait time begins the moment when she clicks the button (initiates an action).

Immediately, the system should give some visual feedback to communicate that it has received the request.

Use a progress indicator for any action that takes longer than about 1 second. For anything that takes less than 1 second to load, it is distracting to use an animation.

6 types of progress bar indicators

Progress indicators could be determinate or indeterminate:

  • When indicators are determinate they indicate how long an operation will take when the percentage complete is detectable.
  • When indicators are indeterminate they request that the user waits while something finishes when it’s not necessary to indicate how long it will take.

Also, there could be combinations of these two types of indicators.

progress bars

Image source: materialdoc

1. Looped animation

Showing an animated graphic on loop offers feedback that the system is working, but usually, doesn’t give enough information about how long the user will have to wait.

As a general rule, you should use looped animation only for fast actions (2–10 seconds). 

Making the user stare at a spinning wheel longer can increase bounce rates.

progress bars

It can also be helpful to add additional clarity for the user by including text that explains why the user is waiting (e.g. “Loading comments…”).

2. Users expectations

Default loading icons (like the iOS spinner of gray lines radiating from a central point) tend to have negative connotations. They serve a variety of operating system functions, indicating the status of everything from device boot to problems connecting to network or loading a data. Because of that, people don’t’ like to see only a loading spinner with no indication of progress or time.

progress bars

Image source: appnce

3. Looped animation integration

You can integrate looped animation with existing controls, especially buttons. For Android applications, a circular loader may be integrated with users control or a floating action button.

progress bars

Image source: Material Design

The thought process here is to confirm that the submission was complete not necessarily the progress. That is shown through showing progress in the completion of the circle.

4. System or custom looped animation

Facebook’s app has a very interesting experience with looped animation. Rusty Mitchell highlighted this moment when he talked about a Facebook loading indicator: “When the users were presented with a custom loading animation in the Facebook iOS app (left) they blamed the app for the delay.

But when users were shown the iOS system spinner (right), they were more likely to blame the system itself.

progress bars

5. Linear animation

determinate linear progress indicator should always fill from 0% to 100% and never decrease in value. For multiple operations happening in sequence, you should use the indicator to represent the progress of ongoing process as a whole, and not each individual operation.

progress bars

Linear Animation. Source: Dribbble

6. Percent-done animation

Uncertain waits are longer than known, finite waits. Percent-done progress indicators are the most informative type of wait-animation feedback. They show the current progress, how much has already been accomplished, and how much is left. A percent-done indicator makes users understand how fast the action is being processed.

As a general rule, you should use percent-done animation for actions that take 10 seconds or more.

progress bars

Source: Dribbble

Progress bar best practices

Progress bars are the unsung heroes of user interaction.

This chapter unveils the best practices that transform these simple visual elements into powerful tools, seamlessly guiding users through processes while enhancing overall satisfaction.

Provide a general time estimate

Don’t try to be exact, a simple, “This might take a minute” can be enough to inform the user and encourage them to wait it out.

progress bars

Software update estimation in Apple iOS

Progressive animation

Progress bars tell users how long an action is taking, but they’re not always correct. You can disguise small delays in your progress bar by starting the progressive animation slower and allow it to move faster as it approaches the end. The progress bar should never stop, otherwise, users will think the app froze.

progress bars

Image source: tympanus

Showing steps

Instead of showing a percentage number, consider showing the number of steps. Users might not know how long each step lasts, but knowing the number of steps at least helps them form an estimate.

You can follow a classic step-description way:

progress bars

Or follow more creative approach:

progress bars

Image source: Dribbble

Skeleton screens for progress bars

You should always try to make the wait more pleasant if you can’t shorten the line. And wait-time is a right time for skeleton screens (a.k.a temporary information containers). Skeleton screens are another way to focus on progress instead of wait times. A skeleton screen is essentially a blank version of a page into which information is gradually loaded. Such action creates the sense that things are happening immediately as information is incrementally displayed on the screen.

Medium uses this trick, showing a simple wireframe as a placeholder, while the actual content loads. With such a screen, the focus is on content being loaded not the fact that it’s loading.

progress bars

Medium skeleton screen. Image Source: link

Don’t use static progress indicator

This group of indicators is represented by not moving image or text like “Loading…” or “Please wait…” to indicate that the request has been received. While any feedback is better than none, static indicators don’t offer enough information inform users about what is happening and should be replaced with a more meaningful type of indicator for better UX

progress bars

Avoid using static progress indicators.

One last thing

To ensure people don’t get bored while waiting for something to happen, offer them some distraction. This can be something fun, something unexpected or anything else that catches your users’ attention long enough for your app to load. Fine animations can distract your visitors and make them ignore long loading times.

progress bars

Image credit: Ramotion


Providing users with feedback or using notifications system feedback is fundamental to a positive user experience. Feedback can reduce uncertainty for users and increase the time they are willing to wait.

A bonus tip to improve user interactions

While users expect feedback from you, they are also happy to share what they think about your product. Using a smart website feedback tool to engage customers and collect micro-feedback can help you understand usability friction, improve UI/UX and ultimately make users love your product more. Try out Usersnap’s feedback widget for free here.

Read what Trello’s VP of product and Typeform’s head of product have to say about user experience and product design in this ebook: How To Build Products Users Love.

Resolve issues faster with visual bug reporting.

Visual bug tracking by Usersnap

Simplify and reduce issue & bug reporting efforts with screen recordings, screenshots, and annotations.

And if you’re ready to try out a visual bug tracking and feedback solution, Usersnap offers a free trial. Sign up today or book a demo with our feedback specialists.