human-nets@ucbvax.ARPA (05/17/85)
From: Charles McGrew (The Moderator) <Human-Nets-Request@Rutgers> HUMAN-NETS Digest Friday, 17 May 1985 Volume 8 : Issue 17 Today's Topics: Computers and People - An Electronic Communications wish list ---------------------------------------------------------------------- Date: 15 May 1985 13:10-EDT From: Nathaniel.Borenstein@CMU-CS-ZOG.ARPA Subject: LONG Communications wish list ELECTRONIC COMMUNICATIONS: A WISH LIST Nathaniel S. Borenstein Jonathan Rosenberg Information Technology Center Carnegie-Mellon University Pittsburgh, Pennsylvania 15213 This document describes everything we would like to see in an electronic communication system. While we are making such a list as the first step toward building such a system, the list should not be read as a description of what we will ultimately build; rather, it is an attempt to define the ideal system, of which we hope our actual system will ultimately be a reasonable approximation. In trying to define this ideal system, we are asking the help of anyone with an interest in electronic communication. We want to make our wish list as complete as possible, so that we can begin our actual design with a very broad idea of what electronic communication makes possible. All suggestions for items not on this list would be gratefully appreciated. They may be sent via netmail to nsb@cmu-cs-zog.arpa. (ITC members can send internal mail.) Although netmail responses are preferred, you may also send us mail at the physical address above. We thank you in advance for your assistance; we anticipate that the volume of response will be too large to permit individual acknowledgements. THE BIG PICTURE We imagine a system in which mail, mailing lists, bulletin boards, news groups, and events calendars are integrated into a unified framework. Users should have the option of treating bulletin boards and similar forms of communication as either identical or separate from individual mail. We want to represent messages in a common logical database; that is, it will appear to the user as if there is a single database of messages, including his own mail and any other forums of communication to which he has access privileges. Whether or not private mail should actually be stored as part of the large database is an open question. RELIABLE DELIVERY Reliable delivery is absolutely essential in an electronic communication system; ideally, everything should be delivered as requested. Barring that, the user should always be notified of any delivery problems. FAST DELIVERY Delivery should be fast; users should be able to quickly verify that messages have been delivered to their destinations. AUTHENTICATED DELIVERY Delivery should be secure; authentication mechanisms should assure accurate naming of the user sending the message (assuming, of course, that the normal login procedures have been effective in establishing a user's identity). For mail sent beyond the local network, a special header set should be provided to help track the mail (e.g. to document where the mail originated and how the original destination address was specified.) Sufficient information to facilitate replies from remote sites should also be provided. SIMPLE DELIVERY Delivery should be simple from the user's end; in a multi-machine environment, it should be necessary only to know a user's name to have the mail delivered to the correct machine. ROBUST DELIVERY Delivery should be robust; when machines are not working, the system should reroute mail around them or hold mail until they are working. The system should be easily told by an individual to forward his mail to a certain address, when his "home" machine changes. EFFICIENT DELIVERY The system should support efficient delivery of mail to large groups of users. In particular, it should be possible even to send mail to every user of the system without overloading the file system or the network. VOLUME AND PERFORMANCE MONITORING The system should be heavily instrumented to monitor mail volume and traffic patterns, and to supply data about performance of the system at different times of day and under other variations of the environment (e.g. network load). THE COMMUNICATIONS DATABASE All Communications should be stored as a database of messages, with appropriate mechanisms for protection and access, in such a way as to support extremely general schemes for classifying and relating messages. It should support the efficient extraction of salient features of messages, such as the sender's name or various classification features, without requiring expensive parsing while the user waits. Basically, the database must be designed with the rest of this wish list in mind. MULTI-DIMENSIONAL MESSAGES It should be possible to link messages together to create multi-dimensional communication. For example, a message read by a large number of users may generate a large number of responses, which are of interest only to those who were interested in the original message. Replies to messages should be made available on a "want-to-know" basis. Reply messages may continue a discussion stimulated by the original message, or may simply comment on (annotate) the message itself. Such annotations might be made publicly (as part of a public message forum) or privately, for an individual's future reference. It should also be able to relate two messages that are not replies to each other by specifying "See-also" links between them. CLASSIFICATION OF MESSAGES Messages should be classifiable by any number of attributes. For example, a classification "Emacs" might apply to any messages dealing with the Emacs editor. The set of messages so classified could thus be viewed as a more conventional electronic bulletin board on the subject of Emacs, but would be far more flexible. Inappropriately classified messages could be reclassified, and messages could efficiently appear in multiple classifications. The names of message classifications should not be case sensitive. Associated with each classification should be a "permanent" message, explaining the purpose of the classification, who it is intended for, why it was created, and so on. REVIEWS OF MESSAGES: MANAGEMENT OF INFORMATION FLOOD A common problem with electronic communication systems like UNIX netnews is information flood. This is the phenomenon whereby the sheer volume of information discourages most users from reading any of it. In our ideal system, this problem would be rendered more manageable by reviews of messages. For any given topic, there are always some people who are strongly enough interested to read a large volume of material. Any such individual should be able to declare himself a reviewer, and to indicate, for each message he sees, whether or not the message is worth reading. Other users would then be able to specify any logical function of reviewers' opinions as a filter on the set of messages they might be shown. Users would be able to say, for example, "show me all the messages about Emacs that James Gosling thought were worth reading," or "show me all the jokes from net.jokes that either Lily Tomlin or Bill Cosby read and thought were funny but that Bob Hope didn't like." Reviewers' opinions might also be consulted in deciding whether or not a notice belonged in a certain classification. MANNER OF CLASSIFICATION Messages can be classified in several fashions. First of all, the sender of the message can specify how it should be classified, e.g. "this message is of general interest" or "this message is for the 'emacs' classification". Second, certain classifications may be defined to automatically classify messages by key words, senders, or destinations (e.g. mailing lists from the outside world). Third, mechanisms could allow after-the-fact reclassification of messages. Certain individuals could be authorized to add or remove messages from particular classifications, while system administrators might be given such privileges for all classifications. Voting mechanisms might allow the community as a whole to change classifications, and the use of the reviewer mechanism in this context has already been mentioned. It should be a simple matter to create new classifications; any user should be able to create a classification and tell the world that it represents a discussion group on a certain topic. The creator of a classification should be able to specify certain parameters, e.g. who can and can't view messages in the classification, but these specifications should be subject to simple revision by the system administrators. If it is possible for any user to create new classifications, it must also be possible to merge classifications that should never have been separate. This should certainly be within the power of the system administrators; it might also be made possible to merge two classifications if some person or group of people with dictatorial powers over each of the classifications agree to do so, but the mechanisms for verifying this agreement could prove difficult to implement without being cumbersome. FLEXIBLE APPEARANCE TIMING: EVENTS CALENDARS It should be possible to send notices to the community regarding an event in the future, with the timing of the notice geared to the event rather than the time of posting. That is, it should be possible to announce an event for May 14, and to have the notice appear to the users keyed to that date; users could then choose to see notices that pertained to any time up to a certain date, in order to preview events in a coming interval. What this suggests is a blurring of the line between mail or bulletin board notices and event scheduling (calendar) programs or reminder services. At the database level, at least, no such distinction needs to exist; the user should have the option of viewing the scheduling calendar as part of or separate from the larger database of communications. In addition to making it possible to integrate events calendars into the larger communications database, it should also be possible to access such calendars in several other ways. For example, it should be a simple manner to extract a simple, one-page schedule of the week's event in a reasonable layout for posting on a physical bulletin board. Similarly, the front end to the system should be highly flexible; the dates for which events are scheduled should be specifiable in a very broad input language. CONNECTIONS TO THE OUTSIDE A system such as the one wished for here would inevitably have many incompatibilities with the communication systems in outside networks, such as ARPAnet and usenet. Therefore it is essential that a clean gateway be constructed. This gateway should take externally generated communications -- mail, ARPAnet mailing lists, UNIX netnews, and the like -- and convert them to our internal format (store them in our database). For outgoing communications, it should remove local dependencies and warn local users about features that will not work with mail sent to the outside. SECURITY OF COMMUNICATIONS It is desirable to be able to make messages private or public in varying degrees. Some messages should be unreadable by anyone but the recipient, some should be readable by everyone, and some should be readable by all members of a particular project or group of friends. Anonymous messages are a thorny issue in most systems; aside from the fact that it is nearly always possible to beat a system and send messages anonymously, it should be realized that it is sometimes desirable and reasonable to do so -- for purposes of harmless jokes, for example, or for discussions about AIDS. We suspect that facilitating harmless anonymous mail may discourage attempts to break the system, and hence decrease the likelihood of harmful anonymous mail. The mechanism we propose is pseudonyms. It should be possible to send mail pseudonymously -- that is, with the sender's true name known and preserved by the system, but not shown to the intended recipients. Since the name is actually preserved, it will be possible to trace malicious or threatening mail, and this possibility should help to discourage such mail. Meanwhile, the pseudonym facility should facilitate frank discussions of private topics in public forums. The system could even provide the possibility of two people, communicating under pseudonyms, deciding to mutually reveal themselves -- that is, to make their identities known to each other but no one else. Essential to the scheme is the idea that mail can be sent to the pseudonymous author of a message without the sender ever knowing that person's real identity. EDITING AND DELETING NOTICES It should be a simple matter to edit or delete a notice existing in a public place. The author of a notice should always have the right to edit or delete it. These rights should also be selectively grantable to appropriate individuals; for example, one might desire to give library staff members the right to edit notices classified as "library policy". System maintainers will probably want the right to edit all messages, to allow them to act quickly in the event that a truly inappropriate notice (e.g. publishing credit card numbers or military secrets) appears as a public message. Reviewers (see above) may wish to edit any notice they are reviewing; their corrections should be seen automatically by people who accept their reviews, though not by others. Finally, everyone should have a method of editing a message and submitting it to the author for inspection, thus facilitating friendly suggestions for painlessly editing messages. Also desirable would be a method where editing could be performed by some kind of consensus or voting method, but the details of such a scheme are far from obvious. RETURN RECEIPT REQUESTED MAIL Few people are trusting enough to believe that mail delivery systems always work correctly, and those people who are that trusting are fools. Therefore it is desirable to have confirmation when a piece of vital mail is delivered properly. However, it seems a mistake to trust entirely in automatic mechanisms for this purpose. Therefore we propose a special class of mail, "return receipt requested mail". When a user sends this kind of mail, special information should be encoded in the mail which causes the recipient's mail-reading program to notice that it is "return receipt requested". When the recipient asks to see the mail, his mail program should tell him that it will only show him the mail if he agrees that is is OK to tell the sender he has read it; in effect, he will have to "sign for it" -- he will have to acknowledge its receipt. This acknowledgment will cause another coded message to be returned to the original sender, stating that the mail was received by a human on the other end. Meanwhile, the sender's mail system should keep track of all unacknowledged mail of this type, and warn the sender of such mail when an overly long interval has passed without acknowledgement. (The length of this interval should probably be customizable.) PARCEL POST A very common way for mail systems to be used, though they were not designed for this purpose, is to transmit files. Many mail messages consist of a line like "Here is the program you wanted:" followed by the contents of a file. The recipient typically has to write the contents of the message into a file and then edit it to remove the extra, mail-related information at the top (and sometimes even the bottom). "Parcel post" mail, however, could streamline this process. Files could be shipped via the mail system, with state information encoding the fact that that the mail is actually a file, with a certain default name. When a user receives such mail, and asks to read it, the system should instead tell him: "This is parcel post mail; is it OK to write it out as file x?" Of course, the system should warn about any possible conflict of file names, and it might also be desirable to make it impossible to write out files which are directly executable or which have certain critical names (e.g. ".cshrc"). Another method for passing files around via mail might be to encode references to files as part of messages. When a message is viewed, this information could cause the mail system to ask "Do you want to see file x?" and to offer a menu of actions regarding that file. This offers the advantage of not transmitting long files as mail, but simply transmitting pointers to the files instead. Of course, the files would need to be added on to the messages when they left the local network, in order for non-local users to receive all of the related information. VARYING INTERFACE STYLES Experience with past bulletin board and mail systems strongly suggests that there is no "right" user interface for such systems. For a given such application, there are usually a few distinct styles of interaction, and a group of users that prefer each interaction style. In order to provide users with the option of multiple interaction styles, most systems have ultimately duplicated large amounts of program, data, or both. In an ideal system, everything not related to the user interface itself should be provided via a common set of publicly available subroutines. This should make it much easier and more efficient to build several styles of interaction, and hence more likely that the world of possible interaction styles is more fully explored and implemented. TRANSMISSION OF SPECIALIZED FILES The system should support the transmission of specially-formatted files as mail messages, even those in non-standard (e.g. non-ASCII) format. Most particularly, in the ITC, the system should properly transmit base editor files. This will allow messages to include complicated pictures, and perhaps even, eventually, to make the candles flicker on the birthday cake that is drawn on the screen. USEFUL HELP SYSTEM Any system that fulfills even a fraction of the wishes on this list will be extremely complicated, at least with regard to the advanced features. Top-quality documentation, and a help system that simplifies access to that documentation on-line, should be provided. SEARCH FACILITIES Mechanisms should be provided to facilitate search through the database for messages matching a particular specification, e.g. messages from Ronald Reagan pertaining to the Strategic Defense Initiative. Such features will obviously be highly database-intensive, and should certainly be among those features that do not need to be rewritten each time a new user interface is designed. PURGING AND ARCHIVING A database of the size discussed here is likely to grow at the rate of many megabytes daily. Obviously, not all messages can be kept on-line forever. The system should be designed to regularly purge and archive old notices; these notices should be backed up to a long-term storage medium such as magnetic tape, and hence be available when they are really needed. Purging intervals -- that is, the amount of time a message is preserved before archival -- should be specifiable for each classification, with a global default (probably something like two months). A message should be purged when it is older than the purging interval for all of its classifications. MAILING LISTS The system should support the compilation and use of mailing lists, for sending private mail to particular groups of people. It should also be possible to send mail in reply to all messages matching a certain specification, e.g. all messages in a certain class, or all new messages except the one from Jim Morris. OTHER STUFF ??? The list above, though long, is undoubtedly incomplete. We would like to have as complete a wish list as possible before we become too heavily involved in the details of the design of a new system, which will include as many of the wishes as possible. We will be very grateful for all comments and suggestions to improve this wish list. Once again, we can not individually acknowledge all replies, but will nonetheless be grateful for them. Please send all comments to the net address or physical address given at the beginning of this document. Thank you for your assistance. ------------------------------ End of HUMAN-NETS Digest ************************