I have a long running tasks in my desktop application. Sometimes tasks complete in 1-2-3 seconds and it does not sense to display big progress bar to an user because of the showing progress panel time are almost the same as task completing time. From the other hand, application can display the progress for too long tasks (more then few seconds). So my questions are:

  • how long should be task execution time to display wait cursor
  • how long should be task execution time to display progress bar

to "amuse" the user during long running tasks?

2 Answers 2


Microsoft has UX guidelines for both progress bars and activity pointers (wait cursor):

Progress Bars

  • Will the operation complete in about five seconds or less? If so, use an activity indicator instead, because displaying a progress bar for such a short duration would be distracting. If the operation usually takes five seconds or less but sometimes takes more, start with a busy pointer and convert to a progress bar after five seconds.
  • Is an indeterminate progress bar used to wait for the user to complete a task? If so, don't use a progress bar. Progress bars are for computer progress, not user progress.
  • Is an indeterminate progress bar combined with an animation? If so, use just the animation instead. The indeterminate progress bar is effectively a generic animation and adds no value to the animation.
  • Is the operation a very lengthy (longer than two minutes) background task for which users are more interested in completion than progress? If so, use a notifications instead. In this case, users do other tasks in the meantime and are not monitoring the progress. Using a notification allows users to perform other tasks without disruption. Examples of such lengthy operations include printing, backup, system scans, and bulk data transfers or conversions.
  • When the operation is complete, will users be able to replay the results? If so, use a slider instead. Examples of such operations include video and audio recording and playback.

Activity pointers

  • The activity pointers in Windows are the busy pointer (https://i-msdn.sec.s-msft.com/dynimg/IC122271.png) and the working in background pointer (enter image description here).
  • Display the busy pointer when users have to wait more than one second for an action to complete. Note that the busy pointer has no hot spot, so users can't click anything while it is displayed.
  • Display the working in background pointer when users have to wait more than one second for an action to complete, but the program is responsive and there is no other visual feedback that the action isn't complete.
  • Don't combine activity pointers with progress bars or progress animations.

I think it would be rather confusing for the user if they see a waiting cursor during the execution of one task and a progress bar during an other. So I would stick to just one progress indicator.
The advantage of a progress bar is the fact it gives an indication of the, well, progress. Where a waiting cursor like a sand-timer or a spinning wheel can't. So the question is if the remaining time left for the execution of the task is of value to the user.
The progress bar is normally shown when something is installing and it has to do several things. The waiting cursor is normally shown when just one thing is processing, like with submitting a form. It is however, always nice to know how long it will take and that is the cause of perhaps a new trend where the progress is being shown in more and more original ways. This article is a nice example where the progress of submitting is shown with the submit button itself. It might be the solution for you.

This doesn't really answers the question how long the execution time should take before showing one or the other progress indicator. But I think it isn't about the amount of time, but rather the type of execution (like instalment or submit) and the value for the user.

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.