Distracting Users During Load Load Times

5 Jul 2011 - 1:49am
5 years ago
10 replies
1585 reads

I've got the following problem:
we're trying to incorporate bulk actions to a list and the server needs time to process mulitple requests, which result in a long loading time (around 10s-20s).

Been looking for a list on what techniques we can do to distract users from feeling the loading time being slow. Were currently implementing an loading bar ajax loading on loop would you guys know any other way thats more satisfying than this?



5 Jul 2011 - 8:05am

Hi Jeremie,

I once worked for an online travel agency. In flight search the loading time was pretty large and variable (anything from 1sec cached to 1 minute ajax->server->slow remote webservice+retries), so we used a neverending loading bar combined with messages indicating that we were looking for offers in some airlines.

Ideally those airlines were very likely to appear in results, the list was originally intended to be calculated on demand, but in the end they went with a static flash version, and now it shows airline names but they are mostly not related to actual content after loading, so I think (as in I have not measured but I'm pretty sure) this might be causing users to lose some trust in the interface.

So if you're going to use some kind of message, be sure it's generic enough to keep your users reading and not create false expectations.
Some of the rejected proposals inclued funny messages, like "The flightbot was taking a nap, but we're waking it up just for you" (I just made that up, but they were something like that)

Good luck!

5 Jul 2011 - 11:05am

On Tue, Jul 5, 2011 at 1:21 AM, jeremiespoken wrote:

> server needs time to process mulitple requests, which result in a long > loading time (around 10s-20s). > > Been looking for a list on what techniques we can do to distract users

Instead of "distracting", maybe you could move those requests to a background task(s), return the page immediately, and then update as appropriate via AJAX?

Seems like that would be a better user experience, regardless of the form of the "distraction" :-)

5 Jul 2011 - 6:05pm
Danny Hope

3 ideas; Show a progress bar Provide the option to receive an email once it’s done Describe to users what's happening

6 Jul 2011 - 2:06pm
Louise Hewitt

Like the email option - leaves you free to get on with other tasks, would have the ability to return you to the results

Problems could be - extra step required (email registration and all the palaver that goes with data protection etc - especially if the site also provides full accounts); if link to reload, then might be back to square 1 anyway!

Definitely describe what's happening ("This can take a while as we [reason it takes so long]" You'll know when we're done because the results will show [where]"

Also, give em a get out- make sure they can abort and retain any inputs they started with - they may wan't to refine their terms to make things quicker or just come back again at a better time.

Depending on how long the query takes, by the time they've read, thought about and considered all this you may have enough 'distraction' anyway. Otherwise, LOLcats always seem to take my mind off things!

Good luck


On 6 Jul 2011, at 00:39, Danny Hope wrote:

> 3 ideas; > Show a progress bar > Provide the option to receive an email once it’s done > Describe to users what's happening > > ((

5 Jul 2011 - 6:27pm

Depending on your situation.
You can "push / chunk" results as they are returned.
In my experienced I have found switching the screen/page disorientates the user as to where they are and what's going on.
Another way is to use a notification system to inform them when the task is complete and what action to take.

I would lean to the side that distraction is not a good tactic for a properly designed system, better to point/involve your user in the experience. Waiting is not bad and scrolling is not bad.

In my world we have initiated tasks that could take minutes to hours. (detecting, installing and configuring on the fly)
Again, depending on your platform (web, app, cloud...etc) you could need to search between virtual machines anywhere in the world or a local machine, thus making certain use case more directed.
I have to think about sorting the results and whether to hide/display/mark for authorization/email...blah, blah, blah, thus my results are total at the end, but directed as needed, therefore reducing the load.
That load could also be based on role, security, time, accessibility...again, blah, blah, blah. which can determine your priority on how to display them.

"Push / Chunk" your results if possible...display when they become available.
This in my experience works best with a massive list result.
You would then need to determine how the results are displayed (alphebetically, context, relavance, etc...)

A "LOADING" animation running too long more than often means there is a problem. (Is it broken? is usually the reaction)
Worse case, based on your (10-20 secs) situation would be to load/popup some instruction on what is happening and/or directions to do when the task is complete, not just "LOADING" or "IN PROGRESS"

my 25cents.


6 Jul 2011 - 11:09am

mini game?

7 Jul 2011 - 8:05pm

I just found an example of an informative loading screen:


6 Jul 2011 - 11:15am

Thanks for your ideas guys! Will definetly try chunking the amount of informaton being processed, considering ala facebook style notification(pops up bottom left of screen) when process is done. Will test this out and see what real users react to it.

6 Jul 2011 - 11:16am

A few thoughts:

a) Can you show how the page would approximately look when it is loaded.. for instance on a mac when it wakes up from the sleep , it shows the desktop immediate quickly while the rest is loading. In case of iPhone UI guidelines also such an approach is mentioned.

b) communicate to the user what is happening , not just loading message.. kinda like copying large number of files works, it doesn't just say copying but saying how many are done / remaining with approx time remaining.

c) Also consider pre-processing of data so it takes less time

d) Tech Architecture improvements - in our case for our survey tool (http://insightify.com), we load all survey data for the analysis - that can be a lot. Initially we used to process the data (to convert to a JSON) through the application layer, now we serve it directly from the server. The load time went down to less than 10%.

e) Last thing to add is , do you need to restrict the usage of the interface, think of ways that the user can continue to use the application while the data is processed and loads.

- Alok

6 Jul 2011 - 3:24pm

Always thought this was an interesting technique: http://www.bounceapp.com/

Won't work for everyone or everything, but it does the job and it has personality

Syndicate content Get the feed