User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am implementing some UI functionality. I have a button that perform some short or long (time) action. I have implemented so logic: if action's execution time more then some in milliseconds, then code locking other action controls, otherwise (to avoid blinking) the code does not do this. My questions are:

  • What is the reasonable x value time can I use to change cursor to [wait] one?

I understand, if operation is too long ( more than few seconds) I have to show progress bar to inform user, that action is too long.

  • What is the x value2 when I have to display progress bar? Are these any metrics?
share|improve this question
up vote 10 down vote accepted

MS Windows 7 UX Guidelines recommends a busy cursor or other "activity indicator" for x > 1 second; they recommend a progress bar for x > 5 seconds. Gnome guidelines and the old Java Swing "advanced topics" guidelines largely agree, with Swing specifying the procedure for determining your observed x:

To decide whether to provide feedback on an operation, test how long the operation usually takes on the minimum system configuration that your application supports. Repeat the test at least 10 times, with different data sets or network loads. Provide feedback if the operation takes longer than 1 second in at least 10% of the tests.

share|improve this answer
+1 thank you. that is more then I asked! – igor Oct 17 '11 at 12:15
1 second is a lot of time to wait. Maybe the time runs faster 3 years later. Sadly all your references are not available any more. – Wolf Nov 17 '14 at 11:57
@Wolf: References updated as best as I could. Maybe time runs faster 3 years later, but, in my experience, feedback of activity has gotten worse, as mostly seen in web and mobile apps. – Michael Zuschlag Nov 17 '14 at 13:38
@MichaelZuschlag Thanks a lot for updating the refs :-) – Wolf Nov 17 '14 at 13:48

Users think that an action executed about 20 milliseconds after a button click is instantaneous. Slower actions should definitely show a waiting cursor or some other form of feedback. We use a generic progress bar with filling timeslots for all actions >100 milliseconds. Really slow actions get a progress bar or are executed on a background thread.

share|improve this answer
Where did you get the 20 millisecond figure? – Patrick McElhaney Oct 18 '11 at 0:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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