From: utzoo!decvax!cca!cak@Purdue@sri-unix Newsgroups: net.works Title: menus and commands Article-I.D.: sri-unix.2600 Posted: Tue Aug 10 12:22:36 1982 Received: Thu Aug 12 07:08:57 1982 From: Chris KentI figure I might as well throw in my two cents worth. About 5 years ago, I worked on a menu-based system for engineering support. That is, we had these HP3000s that were purchased to help design engineers do their jobs better. We built a push-down automaton that managed transitions moving around a tree-structured set of menus and applications, the interface to the terminal, database, etc., to isolate the applications from changes in the vendors software; but that isn't so much relevant to this discussion -- what matters is that it was menu based. So were all the applications. That is, they were typically data-entry and retrieval systems, where you filled in some of the blanks, hit enter, and the system filled in the rest. Example -- we automated assignment and retrieval of engineering drawing (blueprints to you and me) numbers. Previously, it was manual, different sites had ranges of numbers that they could assign, and retrieval of a drawing (for subsequent modification) was a manual process involving looking at paper records and the reduced originals. We changed all that; if you had a new drawing, you entered all the relevant data, and got a number. If you needed to find an old drawing, you could enter partial data such as the plant, machine, product, or whatever, and the system would come back with a list of matches. But I digress. The interesting thing was that the system started you off at some level in this tree of applications, with a menu. The neat thing about the menus was that you were not limited to choosing one of the items on the menu -- you could do that by typing the number in the blank, or you could type in the name of the application you wanted and go there directly. This was the key to satisfying our more experienced users. They didn't have to go down the tree one level at a time, if they didn't want to. Of course, these types of applications are different from typical programming tasks. I'm not convinced that an analogous system can be developed. Filling in the blanks for simple commands like "delete this file" is a pain, once you know how to do it. National Semiconductor builds a microprocessor development workstation called the Starplex; it provides menu front ends for all the system commands, but has a command line processor as well. If you type the command with no arguments, you get the menu. That's pretty nice; we were able to sit down and use it right away, without the manuals. Unfortunately, the command line syntax is so cryptic that you end up using the menus all the time -- which is unfortunate. (Actually, the only thing really nice about the Starplex is the menu system; the rest is pretty painful. Microprocessor companies are very much behind the current state of the software and workstation art.) Cheers, chris