The standard pattern for the use of progress bars/status is usually divided into two different types:

  • Determinate progress where the amount of time/tasks is known, and the user interface reflects/updates as it progresses towards completion
  • Indeterminate progress where the amount of time/tasks is unknown, and the user interface is just a loop that continues until completion

We have seen how the file manager in Windows 8+ deals with file operations and some downloading managers that dynamically adjusts the progress where the user expectation is difficult to manage because there can be large fluctuations in the time and tasks.

Is there an emerging or alternative design pattern for progress status that is more suited to meeting these types of operations? Should there be different patterns when a determinate process changes to an indeterminate process as opposed to when it changes from an indeterminate process to a determinate process?

  • If progress is determinate, but can become indeterminate, was it ever determinate in the first place? Deep thoughts.
    – user31143
    Jun 16, 2016 at 12:47
  • @dan1111 sounds a bit like a philosophical question :D I guess if the determinate state was conditional to some specification (i.e. assume that download speed is constant, but what is suddenly the connection dropped) then once that condition becomes false you would end up with an indeterminate state?
    – Michael Lai
    Jun 16, 2016 at 13:11

2 Answers 2


For processes where the output is indeterminate, use a progress bar which is Continuous/ Indeterminate.

Here's a good example to follow for different types of Progress:

types of progresses

I believe the 4th transition above showcasing types of Progress bars answers your question regarding how to transition between Indeterminate to Determinate and vice versa.

One can even do the same with the Circular Progress Bar. Example for Indeterminate.

indeterminate progress bar android

Whereas Circular Determinate Progress bar can be:


Also possible with Dots or other styles.

enter image description here

indeterminate progress bar windows

  • +1 a good summary of current strategies (I believe from Windows Metro design) that I am sure other people will find useful. Do you think the 4th pattern works equally well for transitions from determinate to indeterminate and indeterminate to determinate? It feels a little bit awkward from indeterminate to determinate for me.
    – Michael Lai
    Jun 16, 2016 at 5:14
  • The 4th one is more of a compromise. It can happen when the needed data is being received but the metadata to count it isn't being received. Once the receiving starts, one can populate the data using using the Determinate PB. It makes sense since a lot of apps I use do this to first connect indeterminately and then load the data determinately. If you are using this in your app, it becomes second nature after using it for a while. If you need, you could display Connecting and then Loading Image for the transition but I do not feel it is needed. Jun 16, 2016 at 6:54

Avoid changing paradigms, as this is worse for user expectations.

If a user is tracking progress with the progress bar you have provided, having it suddenly change to an indeterminate state will not be satisfying (in my opinion). Suddenly all information on progress goes away? I would think that things are going bad.

To me this is worse than a progress bar that is inaccurate because it got stuck at 99%. (Users don't really expect progress bars to be very accurate anyway, because they rarely are).

Pick the best compromise for your situation.

  • If these "indeterminate" cases are rare, then use a determinate progress bar, and just live with the occasional scenario where it is inaccurate.
  • If the task is usually unpredictable, just use indeterminate progress.

Consider Supplementing the progress bar with more information.

  • You could tell the user what task you are on.
  • If something unexpected happened, let the user know:

3000 extra files found, cleaning up (this may take a few extra minutes).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.