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 Kent 
I 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