Path: utzoo!utgpu!watmath!clyde!att!osu-cis!killer!ames!pasteur!ucbvax!hplabs!hpda!hpcuhb!hpindda!kmont From: kmont@hpindda.HP.COM (Kevin Montgomery) Newsgroups: comp.cog-eng Subject: Re: A real-world user interface example (was: Re: replacing the desktop ...) Message-ID: <3500003@hpindda.HP.COM> Date: 9 Jan 89 21:16:11 GMT References: <1989Jan5.224743.8165@mntgfx.mentor.com> Organization: HP Information Networks, Cupertino, CA Lines: 35 > The menus are arranged across the top of the screen, and have no more than > 9 entries per menu (most have far fewer). Almost all are no more than 2 > levels deep, and none are more than four levels deep. Gee. max of 7 +- 2. Who would have thought of such a thing? ;-) :-) (seriously though- I think that the STM capacity does play a role in that it is QUITE easier to have a hierarchical menu structure with max selections = 7 +- 2. At each stage one can manipulate (cogitate, remember, whatever) all selections at the current level. I have trouble believing that people were designed to remember long lists, or we wouldn't need to invent techniques to do so (imagery, loci, distinctive metaphor, etc), as some user interface folks seem to think at times). disclaimer: STM is ill-defined, so don't read too much into it. > In my mind one of the few things lacking in this scheme is a set of rules > for trying to find a command by what the user has typed in, even if > incorrectly. We checked into this (using Soundex or something similar), there are algorithms to do this- it's not too hard when you consider that you just have to find the most-alike command to what the user entered. And you have a list of the commands. As I recall, in one of Sahni's intro CS (or algorithm analysis) books he gave an algorithm that would find the best word match (even allowing 'dipley' to match 'display' if no closer matches exist). You're right, though- is a bit of overkill. I know *-I-* wouldn't want everyone's csh running that algorithm every time- I'd advocate looking for exact matches, then testing a flag to see if to do extended searching. If a non-exact match is found, confirmation should be required (a confirmation threshold could be user selectible, so if only one char was wrong, it wouldn't bother confirming all the time). (I was going to implement this in a graphics shell I was working on at UDel, but I ran out of time and they graduated me (rats!) ;-) ) kevin