Message-ID: <bnews.pyuxcc.285> Newsgroups: net.micro,net.lan,net.works Path: utzoo!decvax!harpo!eagle!mhuxt!mhuxa!mhuxh!mhuxm!pyuxjj!pyuxcc!adi X-Path: utzoo!decvax!harpo!eagle!mhuxt!mhuxa!mhuxh!mhuxm!pyuxjj!pyuxcc!adi From: pyuxcc!adi Date: Sat Jul 3 01:50:21 1982 Subject: Query : End user interface Posted: Fri Jul 2 10:55:22 1982 Received: Sat Jul 3 01:50:21 1982 Does anyone in the <net-land> have some experience or thoughts on the question below ? Given an intelligent terminal or local/personal computer with graphics capability (including mouse and/or touchpad devices), which of the following is a preferred way to put an application together for a non-computer but technical user ? (i.e. the user is a college graduate, perhaps in EE, ME, or some other engineering or related field, but has had very little contact with computers.) 1. A powerful command language ( a la Unix ) 2. menu driven application - usually single letter or single word responses required. 3. menu driven - menu consisting of graphics characters 4. menu driven, but allowing pointing to an entry by the pointing device 5. Some other method (please explain) If you have direct answers or some pointers to literature (preferably making definite recommendations), please respond by mail. Please accept my thanks in anticipation. A. D. Ingle ...!pyuxcc!adi
Message-ID: <bnews.sdcsvax.2165> Newsgroups: net.works Path: utzoo!decvax!harpo!floyd!cmcl2!philabs!sdcsvax!norman X-Path: utzoo!decvax!harpo!floyd!cmcl2!philabs!sdcsvax!norman From: sdcsvax!norman Date: Thu Jul 15 04:27:11 1982 Subject: on menus vs. command languages Posted: Sun Jul 4 12:08:58 1982 Received: Thu Jul 15 04:27:11 1982 + Recently, A. D. Ingle of philabs!floyd!harpo!eagle!mhuxt!mhuxa!mhuxh!mhuxm!pyuxjj!pyuxcc!adi asked a series of questions about user interface. It seemed to me that the likelhood of succesfully returning an answer through that path was low, but in any event, it also seemed to me that the questions and answers should be of general information to net.works, so I post my contribution directly. The original question was (edited): Given an intelligent terminal or local/personal computer with graphics (and fancy pointing devices) ... which of the following is a preferred way to put an application together for a non-computer but technical user ? 1. A powerful command language (a la Unix ) 2. menu, selection by typing 3. menu, selection by using a pointing device 4. icons Those are typical questions, but I believe they are inappropriate. They assume that there is a single, correct answer. There can't be. Those 4 different selection schemes all have virtues and deficits. I firmly believe that any selection/control scheme has its virtues (which are usually what the designer thought of in the first place and focussed upon) and deficits (which is what the user complaints will focus upon). Therefore, for each of these schemes, one gets a series of tradeoffs and the designer must pick and chose among them. The point is that no single method will suffice. Each method has virtues, each has problems. Note that the characterization of the user is incomplete. Users vary in amount of knowledge and experience about the problem being worked on, knowledge and experience with the software tool being used, and knowledge and experience with the computer system (which yields a large number of variables with which to characterize the user). Moreover, even an individual user varies along these dimensions for different aspects of the problem and at different times. Thus, even the most technically naive users (e.g., the typical word processor users) become quite expert at the tasks they do continually, although often with little or no understanding of the processes that they so skillfully manage. Command languages are superior in allowing efficient, ready access to operations. UNIX whizzes prefer UNIX command language. Command languages are deficient for the learner because there are a lot of different commands to learn, the problem of selecting proper names for the commands is very complex (and unsolved), and it is difficult to enforce or maintain a consistent naming scheme and syntax for arguments (e.g., look at a typical UNIX system). I prefer a command language when I am doing something I know well, but I prefer other modes in other situations. Menus, whether selected by pointing or typing, are superior for the learner because they can be explanatory. They are also useful for the expert who is doing something unfamiliar or who has become rusty on some aspect of the system. Menus use recognition memory rather than recall memory, and so are superior in that way. But they are inferior for the frequent user because they tend to be slow and tedious. If a lot of commands are available, then you must either crowd the screen towards unreadability or have submenus, which often expands to sub-sub-sub menus. if there are many arguments or flags required, selecting them by menus (or pointing) can be a burdensome chore. These problems occur whether the selection device is by typing or pointing (which includes mouse and joystick). Icons are really a form of menu selection, except that they require either specially labelled keys or a pointing device, and the meaning of icons are not self-explanatory. However, usually the meanings are quickly learned if the shapes are selected with sufficient care (the Xerox Star is a good example). Icons can be placed wherever they are most convenient on the screen. They also lend themselves to modularity, in that the user can decide which icons to leave available, which to hide away. This helps overcome some of the problems of hierarchichal menus. Otherwise, they are really just an alternative menu scheme. A system that only uses icons and does not allow for names loses in flexibility, especially whenit comes to arranging a large number of files in ways that can later be easily recovered (the Xerox Star has problems here). Which scheme should you use? I believe the answer depends upon a careful study of your user population. In general, I think it best to have several schemes available. Command languages for experienced users, but easy fallback to menus. Menus that are selected by pointing, but that also allow selection by typing. Menus that are easily escaped to command language mode. And as for icons, if your screen can handle them, I would use them much as I use menu items, but even in a full command langauge system I can see a use for a few icons tucked away in the corners of the screen. Is there much literature on this? No. There is hardly any intelligent literature at all on the topic of user interface. Wait a few years. There are several new conferences in progress, several new groups of researchers. [I am about to put my money where my mouth is with UNIX based OS project using a network of SUNs. With design based on psychological principles, even if we have to make up the principles as we go (psychologists are a mixed bag, knowing a lot less than you might imagine aout the most important issues, knowing a lot about some of the less important details. The problems, you see, are more difficult than you might think. But then, I am a psychologist). Give our project about 2 years.] (Advertisement: we will soon be looking for a programmer to work with us. We want a UNIX wizard with sympathy and understanding for the novice user, if that isn't a contradiction.) Don Norman ucbvax!sdcsvax!norman norman@nprdc) (Cognitive Science; University of California, San Diego; La Jolla, CA 92093))