views:

51

answers:

4

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

+1  A: 

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.

astander
Generally the length will not be known unless the effort to write code to establish the length is written. This is the crux of the question. Is this effort worth-while?
Mark Cooper
.....bump?.........
Mark Cooper
+2  A: 

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".

Developer Art
I agree that displaying more accurate info to the users must by its very nature improve UX.
Mark Cooper
A: 

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.

Hassan Syed
+1  A: 

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.

djna
+1 I like the idea of a centralised notice board - like a status fields at the bottom left of many traditional windows apps.
Mark Cooper