An application I have just been asked 'to take care of' has some interesting code features.

One is that when it is loading up the login screen, it displays a 'splash' with a progress bar. This splash only sends off a query to check a set of files (it run a single script), but before that query is set off it sets the value of the progress bar to 85%, and it stays there until the process finishes and the splash closes.

I could entirely remove the progress bar, but I feel the users of the program as it stands would feel that 'something was up', and be disconcerted. I've seen this called 'affordance' in this site.

I could try add more granularity to the script it run to ping back progress of some sort, but I don't want to break whatever script is running, just to pretty up the UI.

I could scrap the progress bar entirely, but replace it with a 'rippling' splash, like on the new Office splash screens, as shown below:

Office 2010 'ripppling' splash screen

I'm not certain what is the best solution here, but it irks me that the bar lies to the users so flagrantly, showing no progress at all, and I feel compelled to fix it.

  • What's typical and worst case total time?
    – peterchen
    Apr 9, 2013 at 7:44
  • @peterchen at a guess? 10 seconds typical, 60 seconds WCS. Apr 9, 2013 at 8:42

3 Answers 3


A progress bar should show actual progress. If you are simply showing 85% at some point, it's not really an indication of progress, and users will soon learn to ignore it.

If you have more specific information on the progress, you should use that. Otherwise, I would recommend a simple spinner or some other indicator that the process / program is still running.

If a typical time for this process is fairly long, you should give some indicator of how long the wait may be. By long here I mean about 10+ seconds, but this is subjective. For an operating system 10 seconds is fast, while for an app 10 seconds is slow.

The indication of expected time could be something like:

This process can take up to 30 seconds depending on your computer.

  • 1
    A very simple solution might be to change the progress bar to an "indeterminate" style, usually represented as a marching barber pole. If the existing progress bar supports it, it would be very little code to change, and is exactly as expressive as a spinner.
    – devios1
    Apr 8, 2013 at 22:57

In addition to the progress bar you can try to keep the user engaged during the loading time. You can display useful tips in the splash screen, they can be something like 'You can do xyz task using abc command', something which is related to the tool and can be useful for the user. Randomize the tips so the user is not irritated after 10 times or something.

You can see many games employing this strategy in the loading screens. They give information regarding alternate usage of weapons, maneuvers, etc.

  • +1 for showing documentation during wait times. This is something apps should do more often. If the user has to wait, they might as well get something out of it. The larger the bank of tips the app has, the better.
    – devios1
    Apr 8, 2013 at 22:59

Another idea is to show what the app is actually doing. What about putting all the steps your app needs into an array and pulling the right value when it's being loaded.

We can see all the components that Photoshop loads before launch for instance.

enter image description here

enter image description here

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.