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.

When I have to load new information from my web server via ajax after a user action, how fast should the information be displayed for the user in order to be a good working UI for the user?

share|improve this question
add comment

4 Answers 4

up vote 10 down vote accepted

I've always been told that a delay of 100ms is generally not perceivable. An answer in a similar StackOverflow thread says:

The 100 ms threshold was established over 30 yrs ago. See:

Card, S. K., Robertson, G. G., and Mackinlay, J. D. (1991). The information visualizer: An information workspace. Proc. ACM CHI'91 Conf. (New Orleans, LA, 28 April-2 May), 181-188.

Miller, R. B. (1968). Response time in man-computer conversational transactions. Proc. AFIPS Fall Joint Computer Conference Vol. 33, 267-277.

Myers, B. A. (1985). The importance of percent-done progress indicators for computer-human interfaces. Proc. ACM CHI'85 Conf. (San Francisco, CA, 14-18 April), 11-17.

share|improve this answer
2  
Good luck getting an AJAX operation done within 100ms. –  Tom Hawtin - tackline Aug 10 '10 at 6:07
    
Yeah, this is totally unrealistic unless you're performing really simple operations. I think this applies to other kind of interactions, e.g. the visual feedback when you type something. –  Ignacio Aug 11 '10 at 16:56
    
it may be unrealistic to assume all operations happen that fast but that isn't the point. You only need to give feedback (e.g. show a loading image), something to tell the user their click did something. Best case: your app should be as fast as possible. –  Samuel Aug 12 '10 at 12:13
1  
@Samuel, that's cool, as soon as the user clicks the button, feedback must be sent out to the user (if the operation takes longer than 100ms). But the question here is how much time should the operation take when loading new information. So, the answer is: As little as possible. And to be more precise/realistic: Instantaneously, if not, less than 1s, if not, keep it under 10s. –  Ignacio Aug 12 '10 at 18:07
    
Yea, this is a rather unrealistic objective to be considered the correct answer. –  DA01 Apr 4 '11 at 14:45
add comment

I guess this should follow the classic usability guidelines for response time.

  • 0.1 second is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result.

  • 1.0 second is about the limit for the user's flow of thought to stay uninterrupted, even though the user will notice the delay. Normally, no special feedback is necessary during delays of more than 0.1 but less than 1.0 second, but the user does lose the feeling of operating directly on the data.

  • 10 seconds is about the limit for keeping the user's attention focused on the dialogue. For longer delays, users will want to perform other tasks while waiting for the computer to finish, so they should be given feedback indicating when the computer expects to be done. Feedback during the delay is especially important if the response time is likely to be highly variable, since users will then not know what to expect.

source: http://www.useit.com/papers/responsetime.html

share|improve this answer
1  
10 sec seems like an awful lot when you are browsing. –  DanielSwe Aug 9 '10 at 19:57
1  
It is. And that's why from 1 to 10 seconds the chances of the user getting distracted with another point of attention gets bigger. When it reaches 10 seconds it's almost certain that you've lost the user's attention. –  Ignacio Aug 9 '10 at 20:05
    
So, 10 seconds is when you know you have total failure. I've seen a four second limit for page switches for some years now. –  Tom Hawtin - tackline Aug 10 '10 at 5:57
    
Also, it varies on the type of operation. If you're getting one field from DB and displaying it, it shouldn't be near 10s or even 4, that should be almost instantaneous and no feedback is needed (spinners, progress bar, etc) But I think this is a general rule, that applies to more complex and common operations. –  Ignacio Aug 11 '10 at 15:39
    
I thought there would have been a lot more studies on response times. Hasn't google done a lot of this? What about the 2 Second Rule? usabilityfirst.com/glossary/2-second-rule . –  MorganTiley Nov 7 '11 at 16:35
show 1 more comment

The information should load as fast as possible. the important thing is while they are waiting for the real action you should give them some "loading..." sign so the user knows that the action worked. It's really annoying to click a link and not see anything happen.

share|improve this answer
add comment

If the request is synchronous, it should take no longer than a couple of seconds, or the user will wonder what is wrong as the UI freezes. If you can use asynchronous requests, show a "loading" screen and progressively update the UI as soon as data come in, a longer loading time is probably okay.

share|improve this answer
add comment

Your Answer

 
discard

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.