Question

When displaying progress bars do you display generic messages, such as:

  • "Working"
  • "Loading"
  • "In Progress"

Or is the additional coding effort worth the user experience improvements resulting from more granular messages, such as

  • "Loading Case 2 of 5"
  • "Loading Teams"
  • "Saving POL10283"

ALso, If you code granular messages, do you control these from teh objects to which they pertain, or to a wider view / module into which the objects are loading?

Mark

Was it helpful?

Solution

It makes a significant improvement in usability if you message gives the user an idea of how much time left until the task if finished.

So something like "Processing item 2 of 5" is definitely better than just "Processing".

I also recommend to avoid progress bars than run up until then end then simply start again and again and again. That's only for teasing users. It feels like: "It'll be done in a minute. Well, maybe in one more minute. In a minute more".

OTHER TIPS

If it is a task that you do not know the length of (No counts or loops to count) then a generic message or info ion the specific step is fine, but I do tend to try the percentage completed or "Case 2 of 5".

This gives a better indication of the actual task being performed.

Evaluating the "worth" is pretty difficult. Speaking as a user, I really like to know what's happening. Hence I tend to try to implement such detail.

I would decouple View from the actual processing detail (which may involve objects that the View really shouldn't know about) and use a kind of NoticeBoard in my model. Interesting events can be posted there, and the view can pick them up.

The feedback you get from the second option can be invaluable in tracking down unforseen bugs. In terms of which option to choose I would go for the second as it enables me to give the wider view a seperate thread. So, if the objects fail loading at least I have a general purpose mechanism to react to the problem.

(1) I believe users would prefer more granular messages, in general. However, you need to do a more detailed task analysis. You need to ask: How important is each task to them, each step in a task to them?

"Loading Case 2 of 5" "Loading Teams" "Saving POL10283" etc are fine in a chemical plant etc.

But in a simple app, they may not be that important.

(2) Concerning Question 2, I agree with djna above. The messages should be in the (business/domain) object. Their caller/client (usually controller or view/presentation) should get them from the objects.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top