\section{Motivation}

Excluding telephones, fax machines,
real-time video, voice conferencing systems and the like, the most common
forms of electronic communication are electronic mail,
interactive messages,  bulletin boards, and conferencing
systems.  All are useful for decreasing the cost of face-to-face
(or voice-to-voice) communication, but each has 
different strengths.  In this section we will compare these forms of
electronic communication, focusing on the
advantages of conferencing.  We will also
describe the distributed computing environment at MIT into which any
conferencing system must fit.

\subsection {Types of Electronic Communication}

Electronic mail
is the most widely known and accepted method of electronic
communication.  Using the well understood metaphor of the
postal service, even novice users can pick up the basic
concepts without much effort.
E-mail (as it is known) is generally
batch oriented, and as in the postal system mail flows from a user to
one or more recipients.  Each user has some mechanism for retrieving
his new
mail (checking his mailbox) and for posting his mail for later
delivery (dropping it in the outgoing mailbox).  Mailing lists exist
and facilitate communication with large numbers of people interested
in the same topic.  Each member of the list receives a separate copy
of every message sent to that list.  Due to variations in queuing
delays,
replies sent to recipients on different network nodes may sometimes arrive
several days
before or after
the
original message, causing much confusion.

Interactive messages have proven quite useful in a different way.
Unlike e-mail, they are
used only when the sender and recipient are both logged in.  Instead
of being queued for delivery whenever the mail system gets around to
it,
interactive mesages are usually delivered at once and displayed
immediately on the
receiver's screen.  Interactive messages are
useful for short, real-time queries (``When do you want to leave for
the movie?''  ``Do you know where the source for discuss is?'').
%% Such
%% message systems are most effective when they take advantage of large
%% computer networks
%% [ref talk and zephyr], but single machine systems
%% are still useful [reference out of the box bsd write].

Electronic bulletin boards (or ``bboards'') allow users to ``post'' messages
in a place which other users may peruse at a later date.  Just as with
real-world bulletin boards, bboards generally are restricted to
specific topics and have large numbers of readers, frequently in
the hundreds for dial-in microcomputer based systems, or thousands
for the UUCP-based {\it netnews}\cite{netnews}. The
readers of an electronic bulletin board may be scattered throughout a
state, country, or even the world, since, once posted, a message may be
transmitted to other systems which store local copies for their users.
These systems may also choose to forward the message to yet another computer.
Messages generally expire after a few days or weeks, depending upon
the disk space resources of the system or systems involved.

Electronic conferencing is subtly different from bboards; it is
designed for a smaller number of users, frequently with privacy
concerns, and with long term archival requirements.  Not only do
conferencing systems allow users to communicate with others interested
in particular topics, but they prevent unauthorized users from reading
such communication.  For example, the professors and teaching
assistants running a course might want to discuss possible quiz
questions, but be confident that students would not be able to read
their conversations (at least until after the quiz!).  Also, there is
frequently a requirement to retain the discussion for a long period of
time so that people joining the organization at a later date may
come up to speed by reading ``what has gone before.''   While conferencing
systems may have bboard-like facilities to 
periodically purge older entries, they are easily used for archival
purposes and have more advanced mechanisms for sorting through previous
entries than are usually found in bboard or e-mail systems.

In contrast to e-mail, the entries in a conferencing system are stored in
one place so that
the user sending a message need not know all the people interested in
his message.
Those interested will go to the message, rather than waiting for the
message
to come to them.  Most importantly, this fulfills the goal of providing
easily accessible archives;  people can later
decide they are interested in the message and access it as they
would any other message in the conferencing system, rather than having
to hunt around for possibly non-existent saved mail archives.

Since new messages in a conferencing system are immediately and
globally visible, such a system can actually support running
conversations with many participants.  This is quite useful for
problem-resolution meetings, in which many people may be able to fix a
broken piece of equipment or answer a user's question in real-time.  A
dialog may be required and an archival record of the converation is
needed to ensure proper resolution or simply to bring late-arriving
helpers up to date on the current status of the problem.

Conferencing systems also help users avoid clutter in their personal
electronic mailboxes.  This is a natural result of conferences being
based on specific topics.  Of course, vague or overly general meeting
topics may reduce this gain, underscoring the importance of the role
of a moderator, or {\it chairman}, to ensure that conversations stay
on track, perhaps by suggesting that further discussion take place in a
different meeting or by creating a new meeting if one with suitable
topic does not already exist.

\subsection{The Distributed Services Environment}
\label{distenv}

MIT's Project Athena\cite{athena2}\cite{athena} is an
example of a computer utility based on the distributed services
model of computation.
Athena has approximately 850 4.3BSD UNIX
workstations (of several different hardware types) scattered around campus, in
locations ranging from public terminal rooms to private offices to
living groups.  Workstations and servers are connected by a high
speed network.  Each workstation has a moderate-sized hard disk
used for storing essential software and for swap space.  Most system software
and user files are obtained from remote file servers.  The location of
both the system software and a user's filesystem are determined by a
network name service called {\it Hesiod}\cite{hesiod}.  
The network authentication service, {\it Kerberos}, 
is essential because 
the network is unsecured and a public workstation is under
total control of its current user. (The root password is even
published!\footnote{For the curious, the root password is
``mrroot.''})

Electronic mail service is provided by a central mailhub, which is responsible
for re-writing the headers in order to present a unified address-space
and for distributing messages for internal users to a post office
server.  Users can retrieve their mail from their post office server,
located using {\it Hesiod}, via the Post Office Protocol modified to
use {\it Kerberos} authentication.  The {\it Zephyr} notification
system provides delivery of interactive messages from users to other
users or from service-providing processes to users requesting
notification.  {\it Zephyr} also makes use of {\it Hesiod} to find
its servers and {\it Kerberos} to provide authentication of messages.

\subsection{Enter {\it Discuss}}

The SIPB 
%% [maybe we need to write a paper about the SIPB???]
undertook the task of
developing an electronic conferencing system for this environment in
1986.  Much of {\it Discuss} came out of the SIPB's experience with
the Multics conferencing system {\it forum}\cite{forum} and a desire to see
it extended beyond a single machine environment\cite{jay}.
The part-time
efforts of Ken Raeburn, and Bill Sommerfeld, and Stan Zanarotti have
resulted in a solid production-level system, which has been adopted
for use by Athena's System Development and User Services Groups, and portions of
MIT's Laboratory for Computer Science (LCS).  SIPB, Athena, and LCS
run {\it Discuss} as a network service for themselves and the MIT community.
