views:

85

answers:

2

I have checked the design guidelines from the Android developers recently and found the recommendation to use at least 4 states for interactive ui elements.

default, disabled, focused, pressed

see http://www.slideshare.net/AndroidDev/android-ui-design-tips, slide 13

On the other hand in slide 10 it is said to make the right things visible.

Now I am trying to figure out when to disable controls and when to hide them. I tend to think that if a control is not applicable at the moment, it should not be visible to reduce ui clutter.

On the other hand it kind of makes sense to me, to disable the zoom button when no more zooming is possible. Only kind of though. Maybe hiding would work even better.

I am not sure. Has anybody found any other references that might help on when to hide and when to mere disable a control. What factors do you need to take into account when you decide for one or the other?

Is there any Android or mobile application specific recommendation due to screen size or whatever?

+3  A: 

I suggest looking at the answers to this question http://stackoverflow.com/questions/371921/should-unauthorized-actions-in-the-ui-be-hidden-disabled-or-result-in-an-error

Stephen C. Steel
Thanks. I did not see that one before. Would be good to know if there is an android specific guideline or recommendation.
Manfred Moser
+2  A: 

The accepted answer to the link above pretty much sums it up. I would like to point out that it was a general scenario question. In specific environments, especially small-screened mobile devices, I think hiding becomes more important. I constantly try to find ways to hide things I don't use so that I can more quickly find the things I do want.

It might be best to hide elements that would be disabled for long periods of time and simply disable things that may be frequently enabled/disabled.

As for zooming, I find it frustrating when controls like that disappear. That is frequently used so I think it is inappropriate to hide it.

"What factors do you need to take into account when you decide for one or the other?" I'd say user environment, how frequently it might be used/toggled, how important it is to the application or the user, and how closely it relates to other options/elements.

hermy