Universal GUI

Dan Shafer dan at shafermedia.com
Mon Jul 28 12:27:01 EDT 2003


On Monday, July 28, 2003, at 09:01 AM, Dar Scott wrote:

> I prefer a setup panel show me what it can do rather than make me tease
> it out of it.  My brain can easily skip over a block of disabled
> controls.  Even when I look at them, they provide information about the
> nature of that checkbox or radio button.
>
Well, certainly to some extent it's a matter of personal taste. Study 
after study has shown that *most* users do not react to things the way 
you do. (The fact that you're a programmer/Rev user probably already 
indicated that!)

But I don't think I was quite clear in my original post, either.

Progressive realization is appropriate when there are some choices 
which are simply not relevant until and unless the user makes some 
choice elsewhere in the user experience. In the specific case I was 
looking at, there was a setting on the QuickTime property sheet that 
was only relevant at very low modem connection speeds. High-speed 
modems and broadband connections need not concern themselves with this 
checkbox. So my design choice would be to hide the checkbox and show it 
*only* if the user chose a low-speed connection from the popup menu. 
Another example of this kind of progressive realization in UI design is 
when there are two popups, the contents of one of which depends on the 
user's selection in the other. We do not as a rule default to providing 
every possible alternative in the second popup menu. Rather, we either 
hide or disable it (or, my preference, set its contents to a default 
string that makes it clear that it will be populated when the first 
popup has been set) until the user makes a choice from the first popup 
menu.

I fully agree with you that it makes no sense to have *relevant* UI 
controls hidden so that the user has to sort of "unlock the puzzle" to 
get at them. "Discovery" is the operative word; the user should 
discover the new options if and as they become relevant to the task 
s/he wants to accomplish.





More information about the use-livecode mailing list