Re: Progress Indicators Spin vs Bar
Re: Progress Indicators Spin vs Bar
- Subject: Re: Progress Indicators Spin vs Bar
- From: Quincey Morris <email@hidden>
- Date: Mon, 20 Jun 2011 12:18:05 -0700
On Jun 20, 2011, at 11:47, James Merkel wrote:
> Upon further investigation I see that the beach ball does finally appear.
> I guess the question is, what is the definition of unresponsive? An app will always have short unresponsive periods when it is doing something.
I try to relate it to visual animation. Our brains are happy to treat 24 fps as smooth motion. Once the rate falls down below about 20 fps, we see jerky motion. If it falls far enough, we stop seeing motion and see a slideshow.
For UI "motion" (now I'm talking about UI activity, not actual video animation), jerky "motion" seems a reasonable compromise between processing overhead and responsiveness, so I use something in the range of 1/10th to 1/15th of a second (i.e. the equivalent of 10-15 fps) as my definition of unresponsive, for things like clicking a cancel button.
There's no real science in what I just said.
> Another question -- when should a progress indicator be put up? The length of time in my processing loop can very greatly. I could be processing 3 files or 300 files. It seems a waste to flash a progress indicator for very short processing cases. On the other hand I can't just set a threshold for putting up a progress indicator, since the processing period can very from one machine to another. Also the processing period varies for different file types and even varies on the same machine from run to run. No obvious answers to some of these questions.
I think the usual value is in the range of 3-5 seconds. What you're trying to do is get the progress indicator displayed *before* the user starts thinking about whether anything is happening (or, more specifically, starts feeling anxious the initiating menu choice or button press maybe got ignored).
OTOH, you're not always in control of the length of time things take. (My favorite is doing something that requires loading a nib file, like displaying a sheet, where the file access causes an unrelated external disk to spin up, so everything freezes for 6 seconds. The app's not at fault for the delay, but it takes the blame.) So maybe it's not a waste to always show the indicator.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden