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 protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to