Multics Technical Bulletin MTB 658
To: MTB Distribution
From: David J. Schimke
Date: 06/04/84
Subject: Executive Mail, MR11 Extensions
ABSTRACT
This document discusses the planned extensions to the Multics
Executive Mail (Xmail) product for the MR11 release. Some lines
are 80 characters wide which may cause problems when printing.
The Xmail user community has provided feedback on the limitations
and missing features of the Xmail product. The proposed
extensions are an attempt to provide some of the most wanted new
features and functionality within the major goals of the product,
namely ease of use and ease of learning.
The extensions to the Xmail product are grouped into three major
categories: new personalization options, new editor features,
and miscellaneous other extensions.
Comments may be made:
Via forum (method of choice):
>udd>m>djs>mtgs>xmail
Via electronic mail:
Schimke.Multics
Via telephone:
862-6640
HVN: 357-6640
_________________________________________________________________
Multics Project internal working documentation. Not to be
reproduced outside the Multics Project.
Multics Technical Bulletin MTB 658
CONTENTS
1.0 INTRODUCTION. . . . . . . . . . . . . . . . 1
2.0 NEW PERSONALIZATION OPTIONS . . . . . . . . 2
2.1 Improve Support For Interactive Messages. . 2
2.2 Destroy The Menu Window . . . . . . . . . . 4
2.3 Allow Escape Sequences To Be Used . . . . . 6
2.4 Savebox Option. . . . . . . . . . . . . . . 7
2.5 Automatic Dynamic Menus . . . . . . . . . . 10
2.6 Multics Command Mode. . . . . . . . . . . . 12
3.0 NEW EDITOR FEATURES . . . . . . . . . . . . 14
3.1 Support For "ESC ?" . . . . . . . . . . . . 14
3.2 Insert File Capability. . . . . . . . . . . 16
3.3 Go To Start/End Of Text . . . . . . . . . . 17
4.0 OTHER MISCELLANEOUS EXTENSIONS. . . . . . . 18
4.1 Non-Case-Sensitive Escape Sequences . . . . 18
4.2 Support For Blind Carbon Copies . . . . . . 19
4.3 Allow Writing Of A Message To A Segment . . 20
4.4 Automatically List Current Messages . . . . 21
4.5 Three Column Menus. . . . . . . . . . . . . 22
4.6 Full Name In Outgoing Mail. . . . . . . . . 23
4.7 Improved Multics Mode . . . . . . . . . . . 24
5.0 MR11 Executive Mail Menus . . . . . . . . . 25
6.0 Testing . . . . . . . . . . . . . . . . . . 27
Multics Technical Bulletin MTB 658
1.0 INTRODUCTION
The Executive Mail facility was designed with two major
goals: ease of use and ease of learning. Despite these
goals, users have found xmail somewhat awkward to learn and
lacking functionality. Although the original target audience
was the casual user, xmail, because of its menu-driven
interface, has become popular with more experienced users
that would rather see additional functionality in xmail than
be forced to use Read_Mail/Send_Mail. Towards these ends
users have been constantly suggesting improvements and
enhancements to the product.
This MTB describes the implementation of some of these
user-suggested enhancements to xmail. This is not intended
to be a complete coverage of the suggested improvements, but
rather addresses those shortcomings most often requested by
actual users.
MTB 658 Multics Technical Bulletin
2.0 NEW PERSONALIZATION OPTIONS
The following sections describe proposed additions to the
"Personalize Executive Mail" menu. They are ordered
according to their implementation priority. Each section
gives the problem to be solved, the proposed solution, the
documentation for the solution, and an estimate of the
manpower required to add the feature.
The extensions to the Xmail product are grouped into three
major categories: new personalization options, new editor
features, and miscellaneous other extensions.
2.1 Improve Support For Interactive Messages
2.1.1 Problem
Xmail's handling of interactive messages is suboptimal.
Depending on where you are and what you are doing you may or
may not see your messages as they arrive. In fact, if you
are spending a lot of time in the editor, your messages can
be delayed considerably. One solution is to provide an
option which allows the user to have interactive messages
treated as mail (similar to "rdm -im"). Another possibility
is to create a new window for the user's interactive
messages, intercept them, and write them to this new window.
And there are cases where neither of the above is correct.
Ease-of-use should not break down when the user has setup a
special message handler. If you have established a message
handler of your own via "am -call," Xmail subverts this and
does not return your environment as it was found. The excuse
that "the casual user won't have any special environment" is
getting old and is not sufficient to allow problems for
"sophisticated" users. Users need to be able to say "don't
mess with my interactive messages" and they need some
guarantee that their environment will be returned to them
intact. Support for the former can be provided by a
personalization option. The later depends on support from
the message facility which has been proposed by MTB-569. If
a caller can determine that message handler has been
established via a previous "am -call" and can get the
command_line that was used, then it can reestablish the
user's message handler upon termination of its own "am
-call". If this support is provided, Xmail should make use
of it.
2.1.2 Solution
For MR11, Xmail should at least support an option which
prevents the user's own message handler from being disabled.
Multics Technical Bulletin MTB 658
A new option "Process Interactive Messages" will be added to
the personalization menu. If the value of the option is
"yes", Xmail will behave as in the past, printing interactive
messages whenever the system is waiting for a user's
selection from the menu window and deferring them at other
times. If the value of the option is "no", Xmail will not
intercept interactive messages at all. If they aren't being
handled by a user-defined handler, they will just be printed
on the screen wherever the cursor happens to be when they
arrive. The default is "yes" for compatiblity with the
current behavior.
The name of this option allows future extensions which could
provide several different flavors of interactive message
handling including: treating messages as mail, creating a
special message window, etc.
If the message facility support is available to determine
that a user-specified message handler is already in effect,
this new option will specify whether Xmail should override
the user's handler or whether it should ignore interactive
messages completely. With support from the message facility,
Xmail will be able to reinstate the user's environment
regardless of the value of this new option.
2.1.3 Documentation
This option lets you specify whether or not you wish to have
the Executive Mail facility process your interactive
messages. (Interactive messages are brief messages which are
normally printed immediately on your terminal as opposed to
simply being filed in your mailbox with a "You have mail"
notice.) After selecting this option, you will be asked to
specify "yes" or "no." If you type "yes," your interactive
messages will automatically be printed whenever the system is
waiting for input in the menu at the top of the screen; if
you type "no," xmail will not set up processing for
interactive messages and will not display them. This option
should normally be left "yes" unless you have set up your own
processing for interactive messages prior to invoking xmail.
2.1.4 Manpower
The implementation of the "Process Interactive Messages"
option requires only minimal changes to xmail. The code
which handles interactive messages will be bracketed and
executed only when the internal switch is TRUE. Adding the
code to support this option in the "Personalize Executive
Mail" menu will also be elementary.
Estimate: 3 person-days
MTB 658 Multics Technical Bulletin
2.2 Destroy The Menu Window
2.2.1 Problem
It has been proposed that Xmail allow the upper window to be
destroyed when not in the menu_ (or at least when in editor)
to allow more room on the screen. This also makes more sense
to the user; currently the menu is displayed even when menu
options are not allowed. For the MR11 release, I think
destroying the menu while editing is sufficient. This is the
time when more room is often needed. The disadvantage (and
the obvious reason for not destroying the menu) is that it
takes time to redraw the menu when you return. This time may
be significant at slower terminal speeds, thus it is a
personalization option. It is also possible to change the
behavior based on the terminal speed, but this might be
confusing to the user since it doesn't provide the consistent
interface.
2.3.2 Solution
A new option "Remove Menu While Editing", will be added to
the personalization menu. The option will have values of
"yes" or "no" with "no" as the default for compatiblity with
the current behavior. If the value of the option is "yes"
the upper window (menu window) will be overwritten during the
editing sessions to provide a bigger editing window. Screen
space "borrowed" will be restored when exiting the editor.
2.2.3 Documentation
This option lets you specify whether or not you wish to have
the editor use the space normally occupied by the menus at
the top of the screen. After selecting this option, you will
be asked to specify "yes" or "no." If you type "yes," the
menu at the top of the screen will be removed whenever the
editor is invoked to give you more room for editing; if you
type "no," the editor will use only the room available in the
bottom window of the screen.
2.2.4 Manpower
The implementation of this feature will require bracketing
each call to emacs_ with code to resize the bottom window.
Before calling the editor we need to enlarge the bottom
window either overlapping or shrinking the top menu window.
After returning from the editor we resize things as they were
and signal redisplay. Adding the code to support this option
in the "Personalize Executive Mail" menu should be
straightforward.
Multics Technical Bulletin MTB 658
Estimate: 3 person-days
MTB 658 Multics Technical Bulletin
2.3 Allow Escape Sequences To Be Used
2.3.1 Problem
Some users find that they need to use several different type
of terminals in the course of their work. This causes a
great frustration as the position (or existence) of function
keys changes. The simplest solution is to provide option
which lets the user always use the escape sequences.
2.3.2 Solution
A new option "Always Use Escape Keys" will be added to the
personalization menu. The option will have values of "yes"
or "no" with "no" as the default for compatiblity with the
current behavior. If the option value is "yes", Xmail will
ignore its usual test for function keys and simply use the
escape sequences.
2.3.3 Documentation
This option lets you specify whether or not you wish to have
the function keys be represented by the physical function
keys on your terminal or by the alternate escape sequences.
After selecting this option, you will be asked to specify
"yes" or "no." If you type "yes," the escape keys will be
used to represent the function keys regardless of the
terminal's capabilities; if you type "no," the terminal's
function keys will be used whenever the terminal being used
has enough function keys to support the Executive Mail
facility. With this option set to "no" terminals that don't
have function keys (or enough of them) will use the escape
keys; terminals that do have enough function keys will use
the function keys.
2.3.4 Manpower
This option requires a simple change to the initialization
code to eliminate the check for function keys. It also
requires that we be able to change "on the fly" when the user
changes the option. This may require a little reorganization
of the code. Adding the option to the menu should not be
difficult.
Estimate: 4 person-days
Multics Technical Bulletin MTB 658
2.4 Savebox Option
2.4.1 Problem
Xmail personalization allows you to specify whether you want
your outgoing messages (including replies and forwarded mail)
saved with an option called "Save Outgoing Messages." This
option can be set by the user to "yes" to always save
outgoing messages in the "outgoing" mailfile, "no" to never
save outgoing messages, or "ask" to prompt the user whether
to save or not (if yes, messages are saved in the "outgoing"
mail file.) If, however, the user never sets this option the
"default" is to always prompt whether to save and if so, to
then prompt WHERE to save it. The problem with this current
strategy is that once the user has set this option he cannot
reset it to the default. There is not an option to get
"prompt for saving and prompt for the savefile".
2.4.2 Solution
In MR11, Xmail will offer another option to the user. This
option will allow the user to set the "Outgoing Savefile" to
either a static mailfile (which either exists or will be
created for him) or to "ask" which will prompt for the name
of the savefile each time a outgoing message is to be saved.
This new option will allow the user to get the default action
as mentioned above, and it will allow the user to specify a
different static mailfile (other than "outgoing") to use when
saving outgoing messages. The choices that the user will
have for saving outgoing messages with this new option are
summarized in the table below.
Save Outgoing Result When Sending,
Outgoing Savefile Replying, or Forwarding:
"no" NA outgoing messages are not saved
"yes" any outgoing messages are always saved in
the current savefile
"yes" "ask" outgoing messages are always saved and
user is asked for the savefile name
"ask" any user is asked whether to save each
outgoing message and if yes, it is
saved in the current savefile
"ask" "ask" user is asked whether to save each
outgoing message and if yes, is then
asked for the savefile name
If the user never sets either option he will be prompted as
to whether he wants to save each outgoing message and if so,
he will also be prompted for the name of the savefile to be
used. The initial values of these two options will be set
based on the way the user has set the options in the old
MTB 658 Multics Technical Bulletin
version of xmail so he will see no difference unless he
changes them.
2.4.3 Documentation
Revised documentation for "Save Outgoing Mail" option:
This option lets you specify whether or not messages you send
or forward, or replies you write, are to be saved. After
selecting this option, you will be asked to specify "yes",
"no", or "ask." If you type "yes," all your outgoing
messages will be saved in the mail file you have selected
with the "Outgoing Savefile" option. If you type "no", none
of the messages will be saved. If you type "ask", every time
you send, reply to, or forward a message you will be asked
whether or not you want it to be saved.
Revised help for "Save Outgoing Mail" (in response to ? at
the prompt):
Type one of the following three words in order to have
messages you send saved or discarded in one of the ways
indicated below:
yes every message you send (including replies and forwarded
messages) will be saved in the mail file you specify
with the "Outgoing Savefile" option
no messages you send will not be saved
ask you will be asked every time you send a message whether
or not you wish to save it
Conclude by typing a RETURN. If you do not wish to change
the way in which your messages are saved or discarded, type a
RETURN by itself.
New documentation for "Outgoing Savefile" option:
This option lets you specify where outgoing messages are
to be saved. After selecting this option, you will be asked
to specify "set" or "ask." If you type "set", you will be
asked to select a new mailfile that will be used to save your
outgoing messages. If you type "ask", every time you save a
message you will be asked for the mailfile in which you want
the message to be saved.
New help for "Outgoing Savefile" (in response to ? at the
prompt):
Type one of the following two words to specify where
messages you send should be saved:
Multics Technical Bulletin MTB 658
set you will be asked to select the mailfile which will
be used for all messages you save
ask you will be asked every time you send a message for
the mailfile to be used to save the copy
Conclude by typing a RETURN. If you do not wish to change
the mailfile in which your messages are saved, type a RETURN
by itself.
2.4.4 Manpower
This options requires a change wherever the user is sending,
replying, or forwarding mail. In addition, the xmail
initialization code should check the user's current options
and set this new option compatibly so the user will not see a
change until he changes the option. The option ties in with
the existing "Save Outgoing Messages" option and therefore
requires minor changes to the documentation of this option
also.
Estimate: 1 person-week
MTB 658 Multics Technical Bulletin
2.5 Automatic Dynamic Menus
2.5.1 Problem
Whenever the user must choose from a list of mailboxes,
messages, or mailing lists he can get a dynamic menu of the
choices by typing "??". It has been suggested that we
provide an option that makes this automatic. Whenever the
prompt allows "??" to present a dynamic menu of options, the
dynamic menu would automatically be displayed without the
"??". This means more display time but it offers fewer
keystrokes and may be the only reasonable mode for some
users, especially if they have a large number of items from
which to choose.
2.5.2 Solution
In MR11, Xmail will offer another personalization option to
the user. This option will allow the user to set "Display
Lists As Menus" to either "yes" or "no" with the default of
"no" for compatibility with the current version. If the
value of this option is set to "yes" Xmail will automatically
provide a dynamic menu at all prompts which support this
feature. If the option has a value of "no" then Xmail will
behave as it currently does, providing the dynamic menu only
when "??" is entered to these prompts.
2.5.3 Documentation
This option lets you specify whether or not you wish to have
menus created for you when you are asked to choose a mailfile
or mailing list from those that you have currently defined.
After selecting this option, you will be asked to specify
"yes" or "no." If you type "yes," the menu of mailfiles or
mailing lists will always be displayed; you will no longer
receive the prompt asking for the name of a specific
file/list or "??" for a list. If you type "no," then the
prompt will be displayed and you can either enter the name of
the mailfile or mailing list being requested or you can enter
"??" to create a menu of your choices.
2.5.4 Manpower
This option requires a change to just the one module which
handles the selection of files. It will be changed to check
a flag and produce the dynamic menu immediately rather than
waiting for "??" depending on the value of the flag.
Additions to the "Personalize Executive Mail" menu will be
Multics Technical Bulletin MTB 658
needed to support this new option, but these should not be
difficult.
Estimate: 3 person-days
MTB 658 Multics Technical Bulletin
2.6 Multics Command Mode
2.6.1 Problem
Because Executive Mail is primarily targeted at the casual
user, the command interface doesn't use control arguments.
The only exception is the multics mode option (-multics_mode,
-mm). Since we are extending the personalization options, it
seems reasonable to include an option to set multics mode as
a static option rather than requiring users to invoke xmail
with the control argument.
2.6.2 Solution
In MR11, Xmail will offer "Multics Command Mode" as a
personalization option to the user in addition to the control
argument. The control argument will be retained in the code
but it will no longer be documented. The default value for
this option will be "no" for compatibility, but the control
argument, if given, will still override this default.
2.6.3 Documentation
This option lets you specify whether or not you wish to have
function key 8 active for use in Executive Mail. This
function key invokes Multics command level from within the
Executive Mail facility. If your terminal does not have at
least 8 function keys, this option enables the two character
sequence "esc e" to invoke Multics command level. After
selecting this option, you will be asked to specify "yes" or
"no." If you type "yes," function key 8 will be enabled and
the Executive Mail facility will require you to have 8
function keys in order to use the physical function keys of
your terminal; if you type "no," function key 8 will not be
enabled and the Multics command level will not be available
from within the Executive Mail facility.
2.6.4 Manpower
This option requires the addition of another personalization
option and a change to the code to reset the internal key
bindings "on the fly" when the user changes the value of this
option. This is especially important when, because of the
new value of this option, there are now enough (or now not
enough) function keys and the function key/escape sequence
mode may be toggled. This should either be done with a
warning or not be changed until the next time xmail is
invoked.
Multics Technical Bulletin MTB 658
Estimate: 3 person-days
MTB 658 Multics Technical Bulletin
3.0 NEW EDITOR FEATURES
The following sections describe proposed changes to the xmail
editor. They are ordered according to their implementation
priority. Each section gives the problem to be solved, the
proposed solution, the documentation for the solution, and an
estimate of the manpower required to add the feature.
3.1 Support For "ESC ?"
3.1.1 Problem
There is a need for a way to get help about the editing
requests while in the editor. Unless the user has the xmail
user's reference in front of him, he has no easy way to get
this help. Ideally xmail should allow the function keys to
remain active while in the editor so F1 could be used to get
help. This is difficult, however, because on some terminals
the function keys generate escape sequences that may conflict
with the editor requests. An alternative is to use ESC "?"
as the request which gives help about editor requests.
3.1.2 Solution
For MR11, xmail's builtin editor will be upgraded to include
a help feature triggered by ESC "?". It will be patterned
after the "describe-key" emacs request, however, if the user
enters a second question mark to the prompt xmail will
provide a complete summary of the editor requests. The
proposed prompt is, "Enter a key sequence (or ? for
summary): ". The output will be displayed as a
local-display and the user will be told to enter a RETURN to
continue. The ESC "??" editor summary display will give
only brief explanation of the keybindings, while the ESC "?"
KEYSTROKE display will give more detail of a single request
(see below for an example of both).
Note that the xmail help function (bound to F1, or esc ?)
uses a different technology when inputting function keys or
escape sequences. In order to get help on function key 3 the
user presses F1 and types "F" "3" "CR" to the prompt.
Similarly, the user types "e" "s" "c" "q" for help on "esc
q". Under this proposal, the xmail help function should also
be changed, incompatibly, to accept the actual sequences
rather than the printed representation.
3.1.3 Documentation
Multics Technical Bulletin MTB 658
This feature is self-documenting (except for a blurb in the
user's guide) and is best illustrated by an example. The
following shows the use of "esc ?" to get help on "esc ?"
and then the use of "esc ??" to get a complete editor
summary.
Enter a key sequence (or ? for summary): esc ?
resulting local display:
esc ? editor help
Display the documentation for a given sequence or a complete editor
command summary. To find out what "esc m" does, type "esc ?" and answer
the prompt by pressing the escape key followed by m. To get a complete
summary of the editor, type "esc ?" followed by another ?.
-- * * * * * * * * * * * * --
Enter a key sequence (or ? for summary): ?
resulting local display:
(Ex = press escape key then press x; BS = BACKSPACE = Ch;
Cx = hold CONTROL key down while pressing x)
Cf: Forward Char En: Next Screen Cy: Retrieve Erased Text
Cb: Backward Char Ep: Previous Screen Eg: Get File
Ef: Forward Word Cd: Erase Char Em: Adjust Paragraph
Eb: Backward Word BS: Backward Erase Char Er: Redisplay
Ca: Start of Line Ed: Erase Word Eq: Send Message
Ce: End of Line EBS: Backward Erase Word Et: Defer Message
Cn: Next Line @: Erase To Start of Line E<: Start of Message
Cp: Previous Line Ck: Erase To End of Line E>: End of Message
E?: Editor Help
-- * * * * * * * * * * * * --
The xmail help (F1) documentation will be changed to indicate the the
user should press the actual (function key or escape sequence) rather
then the printed representation.
3.1.4 Manpower
This new editor help feature will steal as much code from
full emacs as possible for the "describe-key" function. The
"editor summary" will just be a local display and shouldn't
be too difficult. The xmail help function will require some
additional coding and documentation.
Estimate: 2 person-weeks
MTB 658 Multics Technical Bulletin
3.2 Insert File Capability
3.2.1 Problem
The ability to insert text from another Multics segment can
be very useful. The lack of this simple capability is the
most often reported deficiency in the Xmail product. In
fact, many people assume it can be done and ask, "How do you
do it?" The argument has been that a casual user should not
have to know pathnames and would get confused by this
command. However, enough people have requested this
capability that this argument doesn't seem strong enough to
prevent us from adding this useful feature.
3.2.2 Solution
In the MR11 release, the xmail editor will support a "get
file" request bound to ESC G. The request will prompt for
the pathname of the file to be inserted at the cursor
location. The pathname is verified and if bad, the user will
be prompted again.
3.2.3 Documentation
The only documentation need for this request is that provided
by the ESC ? help feature and a short blurb in the user's
guide.
esc g get file
Get a file and insert it. Prompts for the pathname of an existing
segment that will be read into the editor and inserted at the current
cursor location.
-- * * * * * * * * * * * * --
3.2.4 Manpower
This request is already in the extensions and is simply
commented out. Unless the existing code has serious
problems, this feature should not pose any problems.
Estimate: 2 person-day
Multics Technical Bulletin MTB 658
3.3 Go To Start/End Of Text
3.3.1 Problem
Users want more functionality in the editor. Two of the most
often requested functions are those which position the cursor
to the start and end of the text buffer. These are rather
simple requests to add and seem reasonable so we should
provide them.
3.3.2 Solution
In the MR11 release, the xmail editor will support the "esc
<" and "esc >" requests for go-to-start-of-text and
go-to-end-of-text respectively.
3.3.3 Documentation
The only documentation need for this request is that provided
by the ESC ? help feature and a short blurb in the user's
guide.
esc < go to start of text
Move to the beginning of the text, i.e., before the first character in the
message, that is, the top of the message text.
-- * * * * * * * * * * * * --
esc > go to end of text
Move to the end of the text, i.e., after the last character in the
message, that is, the bottom of the message text.
-- * * * * * * * * * * * * --
3.3.4 Manpower
These requests are straightforward and should not be
difficult to add. The "go to start of text" will have to be
able to avoid getting into the message header just as all the
other reverse movement requests do now.
Estimate: 2 person-day
MTB 658 Multics Technical Bulletin
4.0 OTHER MISCELLANEOUS EXTENSIONS
The following sections describe additional miscellaneous
extensions and changes proposed for the Executive Mail
facility. They are ordered according to their implementation
priority. Each section gives the problem to be solved, the
proposed solution, the documentation for the solution, and an
estimate of the manpower required to add the feature.
4.1 Non-Case-Sensitive Escape Sequences
4.4.1 Problem
When invoked on a terminal without any (or enough) function
keys or when the new option "Always Use Escape Keys" is
"yes", xmail will use sequences to provide the function key
choices. The sequences, however, are currently all lowercase
and the uppercase versions are not bound. This confuses some
users who think they are equivalent. ESC Q should be the
same as ESC q. Many users equate the two and don't
understand why the uppercase doesn't work. By default, the
video system line editor and the emacs editor don't
differentiate between upper and lower case escape sequences.
Changing the xmail function keybindings to accept commands in
either case should be easy and is a compatible extension.
4.1.2 Solution
Beginning with the MR11 release, xmail will accept either
uppercase or lowercase escape sequences for the escape key
representation of the function keys. The only affect of this
is that the user will not get errors when using uppercase
escape sequences.
4.1.3 Documentation
No changes in documentation are planned.
4.1.4 Manpower
This change to xmail's escape sequences should be
straghtforward and an obvious extension. The duplicate
keybindings are just added to the existing keybindings.
Estimate: 3 person-days
Multics Technical Bulletin MTB 658
4.2 Support For Blind Carbon Copies
4.2.1 Problem
Support for blind carbon copies (bcc) was added to the mail
system for the MR10.2 release. Xmail can support the bcc as
an upward compatible extension and should do so.
4.2.2 Solution
In MR11, xmail will provide support for blind carbon copies
(bcc). The bcc field will be treated in the extensions
similarly to the carbon copy (cc) field. The "esc u" request
will be changed to accept bcc as well as the to and cc
fields.
4.2.3 Documentation
This new feature is completely upward compatible with the
current xmail and will need only minor changes to the
existing on-line documentation to include the bcc field.
When sending a message a "?" at the bcc prompt will document
what a blind carbon copy is:
Type the names of people whom you want to receive copies of
your message. A blind carbon copy (bcc) is like a carbon
copy (cc) except that the recipients specified under the "to"
and "cc" fields will not see the bcc list. When listing
recipients, you can use a user name and project (e.g.,
Smith.Finance), and/or the name of a mailing list (e.g.,
managers). Names must be separated by commas. You need not
enter any recipients here. Conclude by pressing the RETURN
key (or its equivalent on your keyboard).
4.2.4 Manpower
Because the bcc field is handled almost exactly the same as
the cc field, most of the work required to add this field is
just a matter of copying the code for cc. However, xmail
does parse the message into the various fields before passing
this information to the mail system, and this parsing will
also be affected by the addition of the new field.
Estimate: 1 person-week
MTB 658 Multics Technical Bulletin
4.3 Allow Writing Of A Message To A Segment
4.3.1 Problem
From time to time users request the ability to save a message
or a group of messages as an ascii segment for use outside of
Xmail. Although it is possible to do this with read_mail
instead, forcing the Xmail user to learn read_mail instead of
providing this simple request seems very unfriendly. This
also allows the xmail user to save a message and use it as
input for another message by using the new editor request
"GET FILE" (see section 3.2.)
4.3.2 Solution
In MR11, xmail will include a "Write" request in the "Process
Incoming Mail" and "Process Filed Mail" menus. This request
will write the current messages to an ascii segment in a
format similar to that which is displayed with the "Display"
request. See section 5 to see how the new request fits into
the menus.
4.3.3 Documentation
This option writes a copy of the current message(s) to a
Multics segment. After selecting this option, you will be
asked to specify the pathname of the Multics segment you wish
to write to. If the segment doesn't exist, it will be
created for you. If it does exist, the current message(s)
will be appended to the end of the existing segment.
4.3.4 Manpower
This feature will probably be implemented by breaking out the
code that builds a segment before dprinting as part of the
"Print" request, since this eliminates the need for
significant new code and guarantees compatibility with the
printed format. This should also make the task much easier.
The menus involved will, of course, also change to
accommodate the new option.
Estimate: 4 person-days
Multics Technical Bulletin MTB 658
4.4 Automatically List Current Messages
4.4.1 Problem
It has been suggested that Xmail should display the message
summary in the status window when there is only one current
message. As a reasonable extension, I propose that the
current messages be automatically listed (summarized) in the
bottom window after each "selection" or after the "next
message" function is executed. Typically, this is the
logical next step to double check that the correct messages
are selected. When the current messages are changed
automatically (by a deletion, for example) they will not
automatically be summarized, but the status line will
continue to be updated to show the list of current messages
by message number.
4.4.2 Solution
In MR11, xmail will automatically list the current messages
after a "Select Messages" request in the "Process Incoming
Mail" and "Process Filed Mail" menus.
4.4.3 Documentation
No documentation changes are planned with the possible
exception of a brief indication that the new set of current
message will be listed after the "Select Messages" option.
4.4.4 Manpower
The implementation of this feature should be as easy as
adding a call to the list current messages procedure at the
end of the select option.
Estimate: 2 person-day
MTB 658 Multics Technical Bulletin
4.5 Three Column Menus
4.5.1 Problem
The menu window or top window in xmail often takes up too
much of the useable screen. This is especially a noticeable
problem when the user is in the editor and the menu items are
displayed yet are not available. This problem has been
addressed by allowing the menu window to be overwritten (see
section 2.2) but even when displaying or listing messages the
menu wastes too much space. In order to save screen space
for displaying and editing, xmail should be using 3 column
menus rather than two column menus for menus that need space
in the bottom window. This provides a larger bottom window
for displaying and editing messages and mailing lists.
4.5.2 Solution
In MR11, most of the xmail menus will be converted to a
three-column format rather then the two-column format as they
are today. This saves substantial space on the screen where
the number of available lines is usually limited to 24. The
menu items may need to change slightly so they can fit into a
third of the screen width rather than half as they do now,
but this is easily done. The rearrangement of these menus
for three columns does not change the selection index so
users won't need to relearn any memorized keystrokes.
4.5.3 Documentation
Section 5.0 below shows the proposed MR11 xmail menus. Note
that the opening menu, getting started menu, and
personalization menu are still in two-column format. It is
felt they they don't need to be changed to the three-column
format and are better left as two-column menus. The menus in
section 5 also show the addition of the options provided in
the previous sections.
4.5.4 Manpower
The change to three-column menus is provided by a change in a
parameter to the menu_$create entrypoint. With only minor
changes to shorten some of the option names, this conversion
will not be difficult.
Estimate: 2 person-day
Multics Technical Bulletin MTB 658
4.6 Full Name In Outgoing Mail
4.6.1 Problem
In MR10.2 the mail_system_ will include a user's full name in
outgoing mail by simply setting a variable in the user's
default value segment. The use of this rather obsure feature
should not force the xmail user to learn the value command;
xmail should provide a simple interface for setting it.
4.6.2 Solution
In MR11, a new personalization option, "Full Name In Outgoing
Mail", will be provided to interface with the user's default
value segment and provide for setting the "full_name._"
variable used by the mail_system_ to personalize the from
field.
4.6.3 Documentation
General help for the "Full Name In Outgoing Mail" option:
All messages sent by Executive Mail and the mail system
include a header which contains, among other items, the
addresses of the author(s) of the message; this list of
authors is known as the From field. This option allows you
to specify your full name to be included along with your user
name in the From field of all outgoing messages (including
replies and forwarded messages). After selecting this
option, you will be asked to specify the text of this full
name string.
4.6.4 Manpower
This option requires a simple interface to the default value
segment and support from the "Personalize Executive Mail"
menu.
Estimate: 2 person-day
MTB 658 Multics Technical Bulletin
4.7 Improved Multics Mode
4.7.1 Problem
Users of the Multics mode function key often want to use
information obtained from a message they have on their
screen. But xmail Multics mode clears the screen before
giving the user a command level and users are forced to write
down the useful information before invoking Multics mode.
Also depending on the size of the current menu window, you
can get a very small Multics mode window in which to do any
useful work.
4.7.2 Solution
In MR11, the xmail Multics mode will change to not clear the
screen when giving the user a command level. In addition,
the user will be given the entire user_io window (less one
line at the top which explains to type pi to return to
xmail). This will be provided by creating overlapping video
window so that the menu will be scrolled off the top of the
menu window as needed to provide working space for the user's
commands. In this way the redisplay time needed to
regenerate the menu is minimized.
4.7.3 Documentation
No changes are planned for the documentation.
4.7.4 Manpower
This change has been coded to test the feasibility and simply
requires cleanup and code documentation.
Estimate: 1 person-day
Multics Technical Bulletin MTB 658
5.0 MR11 Executive Mail Menus
Press a number and the associated action will be performed.
------------------------------ Getting Started ------------------------------
(1) Getting to Know Your Terminal (5) How to Correct Typos
(2) How to Get Help (6) Personalizing Executive Mail
(3) How to Get Out (7) Go To Executive Mail Menu
(4) Getting Around
-----------------------------------------------------------------------------
(For help, press F1)
----------------------- Executive Mail (Version 2.2a) -----------------------
(1) Process Incoming Mail (5) Review Mail Files
(2) Send Mail (6) Personalize Exec Mail
(3) Process Filed Mail (7) Getting Started
(4) Mailing Lists
-----------------------------------------------------------------------------
Mailbox: incoming (For help, press F1) Total messages: 1
Current messages: 1
--------------------------- Process Incoming Mail ---------------------------
(1) Display (6) Select Messages (b) File Copy
(2) Reply (7) List Current Messages (c) Print
(3) File Original (8) List All Messages (d) Write
(4) Discard (9) Forward (e) Process Filed Mail
(5) Next Message (a) Retrieve Messages (f) Send Mail
-----------------------------------------------------------------------------
(3-column format saves 3 lines)
(For help, press F1)
--------------------------------- Send Mail ---------------------------------
(1) New Message (4) Print Sent Message (7) Process Incoming Mail
(2) Defered Message (5) Discard Deferred Msg (8) Process Filed Mail
(3) File Sent Message (6) Mailing Lists
-----------------------------------------------------------------------------
(3-column format saves 1 line)
MTB 658 Multics Technical Bulletin
File: outgoing (For help, press F1) Total messages: 1
Current messages: 1
----------------------------- Process Filed Mail ----------------------------
(1) Display (6) Select Messages (b) File Copy
(2) Reply (7) List Current Messages (c) Print
(3) File Original (8) List All Messages (d) Write
(4) Discard (9) Forward (e) Select New File
(5) Next Message (a) Retrieve Messages
-----------------------------------------------------------------------------
(3-column format saves 2 lines)
(For help, press F1)
------------------------------- Mailing Lists -------------------------------
(1) Create (3) Update (5) Rename
(2) Display (4) Discard (6) Print
-----------------------------------------------------------------------------
(3-column format saves 1 line)
(For help, press F1)
----------------------------- Review Mail Files -----------------------------
(1) List Files (4) Print (7) List Messages
(2) Create (5) Empty (8) Discard File
(3) Archive (6) Rename (9) Retrieve Messages
-----------------------------------------------------------------------------
(3-column format saves 2 lines)
(For help, press F1)
------------------------- Personalize Executive Mail ------------------------
(1) Printout Header (7) Process Interactive Messages
(2) Printout Destination (8) Display Lists As Menus
(3) Printout Station (9) Remove Menu While Editing
(4) Message Acknowledgment (a) Always Use Escape Keys
(5) Save Outgoing Messages (b) Full Name In Outgoing Mail
(6) Outgoing Savefile (c) Multics Command Mode
-----------------------------------------------------------------------------
Multics Technical Bulletin MTB 658
6.0 Testing
The Executive Mail Facility has had no regression testing in
the past other than a simple manual process of trying the
fuctions and seeing that they appear to work. This is
clearly unacceptable and has caused unnecessary delays and
post bug fixes in prior installations.
For all the extensions proposed by this document, I plan to
provide a test script that includes use of screen dump and
screen compare tools to provide verifiable regression testing
of these new features in the future. Ideally, this type of
regression testing should be incorporated into the entire
xmail product and automated so it could be run from time to
time during the development cycle to obtain a higher level of
confidence. This I cannot promise for MR11, but it is a
ongoing goal.