In the web app I am working on right now we'll have some pages that will perhaps need more time to load. When should I use an ajax loader? After 1, 2 or 3 seconds?
"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." (See reference 2 below)
I'd say, if a page needs more than 1 second, then at the 1 second mark make sure to give a feedback showing that it is necessary to wait. (But that wait better be less than 10 seconds -- see again 1 and 2 below).
1) Miller, R.B., 1968, Response time in man-computer conversational transaction. Proceedings of AFIPS Fall Joint Computer Conference, 33, 267-277.
I use approximately 500 ms before I show a small loader. Nowadays people will be annoyed if the loading time is more than 1 second, but a loader eases the waiting for a little while (e.g., if the loader appears the users seems to be a little more patient to wait - the know that the system is trying to do something - it hasn't crashed).
A smaller amount will just show the loader when it's not needed in those cases where the loader appears just for some ms.