Use a “Linear” Progress Bar If a Task Will Take a Determinate Amount of Time
Despite your iPhone having the number-crunching power of a late-1990s supercomputer, everyday tasks still seem to take a maddeningly long time in a lot of software. Printing, for example: why does it take so long for the computer to send a document to a printer? It’s as if the printer must work out how to be a printer every time. Regardless, it’s a great idea to let users know how long they’re going to be waiting for.
By the word determinate, I mean that your software “knows” the number of things it must do (or can work it out), and can work through them while updating on progress. Default to this option if you can.
Never show a series of completing progress bars, for example:
- Copying: 0...10..50..100%
- Decompressing: 0..20...60..100%
- Installing: 0...15...45...80...100%
- Finishing up: 0...20...60...100%