A pretty standard example of such an implementation is in the area of file transfer - eg for ftp file transfer between desktop and hosting website. You typically transfer a bunch of files and leave it be, so that you don't have to transfer one at a time.
So the application shows a reporting or log window/area with a list of the files to transfer, indicating whether they have started or are pending transfer. The order is 'last file to transfer at the bottom'. Typically, several files can be transferring at any one time.
As each file starts transferring, a progress bar appears next to the file name in the list and a percentage shows. When a file finishes transferring, it is removed from the list. In this way, an overall progress percentage can also be determined and displayed to get an idea of overall progress and so judge the approximate time left. It's important to give a meaningful idea of total time left.
Search google (or google images) for 'filezilla screenshots' or 'cuteftp screenshots' and you should pretty quickly find some screenshots showing the progress window at the bottom of the main window.
These apps also give other useful information for each file depending on the context but you don't have to if all your user is interested in is the item and the progress.
The important thing is that the user sees feedback that
- a) things are proceeding
- b) they can
judge how fast or how slow they are
- c) they quickly understand
that all items will continue without
- d) they can get
an overall picture very quickly
- e) they can estimate or preferably be told
actually how long is left (not too vague and not too accurate)
- f) if the
context is such that the user might
go and do something else whilst
waiting, then preferably they are
notified on completion (bell)