MTB 623 Multics Technical Bulletin To: MTB Distribution From: N.S.Davids Date: May 25, 1983 Subject: A Menu Interface for Multics Comments may be made: Via electronic Mail: Davids.Multics Via telephone: 862-6643 HVN: 357-6643 Via forum (method of choice): >udd>m>meetings>ease_of_use (eou) ________________________________________ Multics Project internal working documentation. Not to be MTB 623 Multics Technical Bulletin INTRODUCTION: The current marketplace demands that user interfaces be easy to use. While Multics is a powerful tool it is not easy to use and can be extremely frightening to a new or infrequent user. This MTB proposes a Multics interface (executive services (xservices), ala xmail) driven by menus. The xservices interface will provide the user with an integrated and consistent menu interface to Multics subsystems and services. PROPOSAL: The xservices package is made up of three elements: menu standards xservices driver and utilities menu interfaces to subsystems/services The subsystems/services menu interfaces will be implemented as part of the subsystems/services that they interface to. (This is not an attempt to allocate work assignments to people who are currently working on the subsystems/services mentioned below). The design of their user visable features, e.g. function key usage will be standardized so that the interfaces for all subsystems/services will be consistent. They will also have a set of standard entry points so that the xservices driver can interface with them. The xservices driver will provide an overall menu interface and those utilities which are common to the subsystems/service menu interfaces or which are not part of any of the subsystems/services. subsystems/services: For the xservices package to present a useful environment it must include enough functions so that the user does not have to venture outside its confines. To do this the following existing subsystems/services must have an xservices interface: mail (xmail) forum database access memo common commands help calc The following subsystems/services are not currently part of the Multics system but would greatly increase the utility of the xservices environment: personal filing system spreadsheet subsystem computerized appointment book management tools Multics Technical Bulletin MTB 623 xservices utilities: One of the problems with menus is that while they are easy to use they are also boring if used extensively. A solution to this is the personal menu. A personal menu is to menu selections as an abbrev is to commmands, that is it is a menu which has recorded a sequence of menu selections and allows the user to select that sequence by selecting only 1 item from the personal menu. The xservices driver will provide personal menus. Note that other forms of speeding though a sequence of menus, i.e. typing head the various menu responds will also be provided. The personal menu approach however does not require that the user remember the various menu response. Another capability that the xservices package must have is the ability for users to easily incorporate their existing packages into xservices. Again the goal is to provide a friendly environment which the user does not have to leave. In many cases users already have packages that they run, it is not reasonable that they be required to exit the xservices environment inorder to execute those packages. In order to do this there must be an easy mechanism for generating a menu interface. A menu driven interface for creating menus will also be provided by xservices. In addition the list of lower level menu interface drivers will be dynamic and under the users control. Since the user interacts though the xservices driver it will be possible to provide certain user setable defaults which would apply to all subsystems/services in the xservices environment, i.e. editor of choice., detail of error messages, etc. The xservices driver will include a menu for the user to set (and save) these values and provide these values to the individual subsystems/services. BENEFITS: First the xservices package will present an integrated menu driven interface to Multics from which many users will never have to leave. This will greatly enhance our ease of use stance and hence our position in the marketplace. Second the approach of independent but standardized implementation will allow both incremental implementation of the xservices package and allow customers to purchase the package minus subsystems they do not want, i.e. xmail, forum. Finally the menu interfaces may be used independently of the xservices package allowing customers to purchase menu interfaces without having to purchase xservices, or allow a user who does not want the all encompassing xservices envrionment to still use a standard menu interface when dealing with unfamiliar subsystems/services. MTB 623 Multics Technical Bulletin QUESTIONS: 1) Is this the appropriate interface for the new/infrequent user, if its not what should the interface look like? 2) Should there be (and if so how) a mechanism for easy transition from the menu interface to the command line interface? 3) What other subsystems/services should be included in the xservices package? 4) What kind of mechanism should be used for incorporating user applications into the xservices menu, i.e. path names in a user profile, search rules, entry in xservices to locate an application interface? 5) What kind of menu standards are needed?