Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

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

2 Answers 2

up vote 8 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 (p671) Java Swing and Gnome guidelines agree, with Swing specifying the test procedure for determining your observed x.

share|improve this answer
+1 thank you. that is more then I asked! –  igor Oct 17 '11 at 12:15

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.