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:

     Via telephone:
                    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


   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.


   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.


   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)
      database access
      common commands
   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


   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


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

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?