Monday, June 19, 2006

Progress or activity?

I missed the point in time when this change happened. Probably it started ten years ago - or, maybe more... I am talking about using "activity indicators" in place of good old progress bars.

Of course, activity indicator is much easier to implement than progress bar. With progress bar, you have to update it meaningfully - and to have some general idea of the ratio of performed work to the total amount of it. Activity indicator is just a breeze - you slap an animation widget on your UI - and wham! You have it!

But from the usability point of view, it's a disaster (at least, I prefer to view it as such). Not only you have no clue about the speed of the operation, the approximate time left and all such nuances. You also have no idea whether the application is running as it should. The cool progress animation can play by itself, making you think that the application is working hard - when, in fact, it doesn't.

I understand that under some circumstances making full-fledged progress bar may be tough. One situation is when you don't know beforehand how many operations the program will have to perform. For example, the last time I've encountered activity indicator where a progress bar should be was in the utility called CCleaner (a really good freeware program, which removes temporary files and other garbage from the disk). The program didn't know how many files it will have to remove. The author decided to use a fake progress bar - the one which starts from the beginning once it reaches 100%. A better solution would be to add display of the name of the file currently being deleted, or a counter of deleted files. This simple change would make the UI better - by looking at the growing number of deleted files I would always know that the application is running, and not just waiting for some locked file to become released.

The same principle is applicable to web applications as well. Don't just use "AJAX activity indicators" - in case of potentially long operations show some real progress information to the user.

And I have to admit that replacement of progress indicators with activity indicators is a problem not only in the world of computers, but also in the society as well. But this goes far beyond the scope of this post.

Technorati tags: ,

No comments: