fcy@ihuxr.UUCP (Fred Yankowski) (01/06/84)
A recent article in *Software -- Practice and Experience* describes an appealing scheme for providing a hierarchical menu tree for user command selection. As earlier net.cog-eng articles have pointed out, two major problems with command menus are that: 1. It is easy to become "lost" in the menu tree. 2. It is often a difficult and slow process to maneuver between remote parts or the menu tree. The design presented (and implemented) by the authors addresses both of these problems using two related techniques. 1. The users current position in the tree is always displayed (on a bit-mapped device in this case) as the list of menu "nodes" from the root of the tree to the current position. This list is presented as a stack, with each menu selection adding an item to the bottom of the downward-growing stack. The menu choices available at the current node are displayed just below the bottom of this stack. 2. The system remembers the last selection made from each node and makes it the default when the node itself is next selected. As a result, selecting one of the top nodes in the tree may result in a default path all the way to a "leaf" node. The first problem mentioned above (location) is nicely solved by the stack-like display of the current position which reminds the user exactly how the current node was reached and where alternate choices might have been made in this path. Maneuvering within the tree is simple and quick given the following method for choosing the next node. Selection Downward movement in the tree is accomplished by selecting one of the menu items available at the current node (ordinary enough). However, the defaults established at lower nodes may cause the user's position to advance several steps down into the tree. This is safe because it is very easy to back up (described next) and menu traversal does not cause any side effects until the user commits to a leaf node via a separate "trigger". Rejection The user may "back up" in the menu tree by canceling one of the values in the path stack mentioned earlier. This "pops" the stack back to the node above the cancelled node, providing the menu that included the cancelled node. Default paths are *not* taken from this new node. The resulting mechanism would seem to be very convenient and natural as there are only two traversal operations: selection and rejection. The complete reference for the article is: Publication: Software -- Practice and Experience Authors: Apperley, M.D. and Spence, R. Article title: Hierarchical Dialogue Structures in Interactive Computer Systems Volume: 13, 1983. Pages: 777-790 Fred Yankowski ihnp4!ihuxr!fcy AT&T - Bell Laboratories Naperville, Illinois