Xref: utzoo comp.sys.mac:23688 comp.sys.mac.programmer:3423
Path: utzoo!utgpu!watmath!clyde!att!ucbvax!hoptoad!tim
From: tim@hoptoad.uucp (Tim Maroney)
Newsgroups: comp.sys.mac,comp.sys.mac.programmer
Subject: Disabled Menu Items -- Cons and Pros
Message-ID: <6004@hoptoad.uucp>
Date: 6 Dec 88 22:08:21 GMT
References: <7743@orstcs.CS.ORST.EDU> <6000@hoptoad.uucp> <6001@hoptoad.uucp>
Reply-To: tim@hoptoad.UUCP (Tim Maroney)
Organization: Eclectic Software, San Francisco
Lines: 69

tim@hoptoad.uucp (Tim Maroney) wrote (talking about dimmed menu items):
> There are a few different ways to deal with the selection issue.  The
> best way is probably never to allow a disabled cell to be selected.

Actually, I was talking about disabled list items, not menu items, but it's
still a valid topic for discussion.

In article <6001@hoptoad.uucp> gnu@hoptoad.uucp (John Gilmore) has written:
>I find this one of the worst aspects of the Mac user interface.
>In most cases when I want to deal with a dimmed item, I want to select
>it to get something done (e.g. read in a new file) but there is
>something I have to do first before it will let me do it (e.g. write
>out the one I already have).  In a command based interface I would
>command it to read in the new file and would get an error message, e.g.
>"Can't read a new file until you save or dispose of the old one".  In a
>dimmed-menu interface where you can't select the dimmed items, there is
>no way to find out what it wants me to do before it will "let me"
>command it to take the action I want done.

Yep, it can be frustrating to be told you can't do something, with no
reason why; I agree completely.  The latest revision of the Menu
Manager lets the software check to see whether a disabled item was
chosen and which one.  That way, error reporting information can be
passed back to the user.  Unfortunately, it's not clear from IM V
whether the MenuChoice routine that does this also works after using a
keyboard equivalent.

The motivation for disabling menu items is error prevention.  One of
the points of Mac philosophy is supposed to be that error correction is
nice, but it's better to keep someone from having the opportunity to
make an error.  I think you've made a good case that this principle has
been overapplied with respect to menus.  Let's hope that application
designers start taking advantage of the new "disable notification"
feature.

>The solution is simple; you let dimmed items be selected, and if one
>is selected, you print an error message (display an alert, whatever the
>Mac calls it) that says what the problem is.  Write these messages
>from the point of view that you are a human who desperately wants
>to make the computer do the thing that they selected, e.g. they
>picked this menu item for a reason!  Tell them what they need to know
>about how to do it; don't tell them "you selected a dimmed menu item idiot",
>tell them "you can't load a file because first you need to quit out of
>the one you are in -- use the Quit or Save or Save As menu item".

To be fair, a lot of command based systems give error messages in such
a case that are not much more useful to the average user than "Wake up,
you moron!"  Control-G is a common method of error reporting.  But the
solution you outlined is feasible on the Mac -- it's just that at
present no one bothers.  Which seems to disrespect the most basic Mac
interface principle, that of not making too many assumptions about the
intelligence or computer literacy or Mac experience or manual-reading
of the user....

By the way, the case you cited, where "Open" is disabled, is a
sloppiness of another, far worse kind in my view.  Writing a single
window application for the Mac should lead to at least defenstration,
with evisceration the preferred penalty.  It was immensely dumb that
all three of Apple's lead-off applications for the Mac were
single-window (MacPaint, MacWrite, MacTerminal).  Any single window
program is isomorphic to one where the globals have been moved into
per-window data structures!  We're supposed to be *improving* on ttys.
-- 
Tim Maroney, Consultant, Eclectic Software, sun!hoptoad!tim
"Do what you wanna, do what you will;
 Just don't mess up your neighbor's thrill.
 And when you pay the bill, kindly leave a little tip
 To help the next poor sucker on his one-way trip."
    - Frank Zappa, "You Are What You Is"