I am currently building a piece of software for the company I work for. It essentially manages their documents including policies, procedures, and occurrence reports.

One UX related problem I am having is the variance between loading a small document with only text, and a large document with a bunch of images is quite big. A small document will take ~100ms while a large document will take 2-3 seconds. I've tried just having a spinner but it makes the program feel kind of unresponsive. Having a loading screen doesn't really work as opening small documents just makes it blink, which I felt was quite distracting.

So my question is: Is there a more elegant way of showing the user the program is busy when the "busy time" can range from 100ms to 3s?

My current thought was displaying an empty form with "loading..." in each of its fields, but I was unsure if things popping into view was a UX faux pas.


2 Answers 2


I would suggest a small preloader that shows progress, for example:

simple preloader

A couple other small tweaks that could help:

  • if any animations happen when you open a document (for example, expanding a thumbnail to full page size), have those happen while the doc is loading
  • wait another 1/4 second or so before showing the preloader
  • have the preloader fade in over another 1/4 - 1/2 second

For smaller files, the preloader won't even get a chance to appear, or will be just fading in so the flash won't be as obvious. For larger files, by the time all that happens, they'll be left with less time to have to sit and watch the preloader, and it should feel less 'unresponsive'. And of course the progress indicator will help with that, and the loading process should be well along by the time they see it. Play with the timing and see how it feels.

  • Good solution that I think will work well for my situation. The vast majority of the documents load in <250ms, so the delay on the preloader is a good idea.
    – Loocid
    Commented Jul 28, 2015 at 0:49

Problem with spinners is you dont know how far into loading you are. Some sort of loading bar could work better. A nice little trick is to actually speed up the loading bar to begin with and then slow it down towards the end to actually represent the loading data. It gives the impression 'oh i am nearly done' rather than people abandoning the download if it is slow right from the start.

I also like what facebook does while content is loading. They present you with 'dummy content' which you are waiting for the data to load in which also has indication of content being loaded.

Hope that helps

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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