[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayatana] Natural Progress Indication



Progress Indication

A lot of designs indicate progress through status bars, numerical information, progress windows (modal) or [Details] subviews.

Progress of an operation is best suited immediately on the involved object itself or very close to it, so the user's eye can easily keep both the object and its status in focus simultaneously.
An object, its representation (icon, thumb, preview, full view, scaled view, "tilted view", sample..) and metainformation including its status are all mental objects the user sees in relationship, so morphing one into the other or displaying them in close proximity are useful practise.
Displaying progress information about an object which is in my focus far away from this visual focal point is against the nature of things, even though it might make a programming solution easier to achieve on the short run.
On the long run i'm just adding to complexity and dissipation in my software project, if i seperate what belongs united.

An "object" in this sense could be content, which is being downloaded, a procedure which is being completed.
In any case, "object" is the (visual) representation of the one very entity which is "progressing".

I attached a negative example, showing how it shouldn't be done, with annotations.
I couldn't say exactly what a Race Condition is, but i think if i'm not completely mistaken, the term fairly describes a part of the problem illustrated in the attached screenshot.
These are the kind of things that happen if you seperate context information (metadata, progress information, related objects) visually or conceptually from its parent object.
The parent object in this case being always the one object the user is obviously currently focusing on.
e.g.:
If enter a folder, naturally it is correct to assume that this is my pwd, my currently focused "Place" or object.
Showing all information related to the folder right there where i'm looking at it is the logical next step in design.

Natural
Progress indication is natural, once it reflects the true status of an object as comprehensively as all the available status information allows.
If i e.g. know that a file has been downloaded by 27% already, the file's representation, be it a thumbnail, should be e.g. partially saturated by 27% or an appropriate rastered value close to that.
It doesn't make much sense to present an object, which is incomplete, as if it were complete. Download routines in browsers e.g. sometimes use .part files to indicate that a file has not finished downloading.
With today's possibilities in compositing and animated graphics, none of this must happen, we can manipulate the visual representations of objects directly, no need to give the user wrong information.
Information is wrong, if it is not in sync with what is fact. If a visual object reflects wrongly the status or properties of its "real live" entity, this leads to something like a Race condition situation, in which the user might initiate an interaction that at the time is not appropriate for the respective object.

Especially John Lea's concepts in the Unity Gesture UI Guidelines (draft)¹ are a great indication for the fact that we need to think about these things more now, since the haptic interface is gaining importance and relevance.
Mobile computers are adapting touch-HIDs as a de-facto standard, home computer systems are in consequence becoming gestural, to better match the usage patterns learnt on the omnipresent mobile devices.

I think the concept behind what i am trying to convey is as simple as can be, it is actually about keeping things natural and simple.
If this mail is blurry or unclear in any way, please help me by asking or pointing out stuff!

thanks ;)

opinions? thoughts?

Attachment: fetching summary-RACE.pdf
Description: Adobe PDF document