FutureComm: An experiment in integrated messaging
In retrospect...
The goal of this project was to look beyond the client's then-current consumer Internet service and explore ways in which its full range of services — Internet, telecomm, and beyond — could be merged into a single, integrated package. I really liked the result, as did the client, but, just as we finished this initial phase of the work, the company made a C-level decision to move away from consumer communications in favor of corporate datacomm. Such is life. But time passes and technology (especially VoIP) advances, and now these kinds of systems are beginning to appear (for instance, here), offering many — but still not all — of the ideas presented here. It's about time.
Given the communication and collaboration aspects of this project, I couldn't help but slip in a bit of my earlier AppleFamily work here, under the guise of CommSites. Here, I started with the AppleFamily notion of information and media sharing among family members or other groups and added the ability of companies to provide collaboration templates through which the members of the CommSite to share and even extend their own content as well as company-provided content. I think it's a nice extension of the present-day interest in collaboration driven by user-generated content.
Preface: I've received permission from the client who sponsored the FutureComm project to make this report publicly available. However, for privacy reasons, I've replaced any references to the sponsoring company and existing products with the anonymous (and fictitious) "CommCo" and "CommNet", and identifying marks have been removed from images.
Executive summary
FutureComm is a user interface design prototype of a future Internet and telephony communication suite. It takes CommCo's CommNet as its starting point and presents a design of an enhanced future version of CommNet, one that might appear 18 to 36 months after the initial product release. The focus of the prototype is on the design of the user interface rather than the invention of new communication technology: the design is intentionally limited to the technology available in CommNet and other capabilities available within CommCo.
To this end, FutureComm provides an integrated, web-based interface to e-mail, voice mail, instant messaging, calendar and address book tools, remote file access, search, and customer registration. A single design language is used throughout FutureComm, as a means of emphasizing the integrated nature of the communication tools it supports. In the process of designing FutureComm, several key ideas emerged and played central roles in the design, including:
- Using representations of people and messages as interfaces for creating and viewing messages.
- Exploiting the 80/20 rule: Simplifying communication with those people that are most likely to be the target of communications.
- Merging presence indicators and action techniques.
- Simplifying secure information sharing among friends and colleagues.
Ultimately, the FutureComm experiment supports the notion that a uniform, integrated approach to messaging can be practical and effective. Appropriate next steps for the work include prototyping backend support for FutureComm, user testing and refinement of FutureComm's interaction concepts, marketing evaluations, and analysis of how the many features found in FutureComm could best be staged into a product release plan.
FutureComm: Beginnings of the project
The FutureComm project began with a plan by CommCo staff to consider the user interface design of future versions of CommNet — an integrated suite of Internet and telephony communication tools under development by CommCo. When the project began (July 2001), the first release of CommNet was about to ship, and CommCo staff were interested in how future versions of CommNet could evolve to take on more of the technical and marketing vision of an integrated messaging architecture. The technologies that made up that architecture — unified access to different instances of different messaging system — were well understood; what was less clear was how those technologies could be effectively tied together into a clear, easy-to-use user interface. Thus, this project was started, with the charter of prototyping a user interface for a more advanced version of CommNet, one that might appear 18 to 36 months after its original release. The intent of the project was to be innovative, but to remain within the general set of technologies already present in CommNet, or that could easily be obtained from elsewhere in CommCo.
This prototype of a possible future for CommNet, described here, will be referred to as FutureComm, to avoid confusion with the currently-shipping CommNet. FutureComm's design supports the communication capabilities offered by CommNet — e-mail, instant messaging, and a network-based address book and calendar — as well as voice mail. Where possible, it is also meant to address other messaging issues, such as:
- Uniform treatment of all communication modalities: The interface should offer a consistent appearance and style of interaction for all communication types. The act of sending a message should be consistent throughout the system, regardless of the kind of message being sent.
- Major communication acts are a click away: The design center of the system is sending and receiving messages. It should be possible to carry out these actions without forcing the user to navigate through multiple levels of menus, windows, or dialogue boxes.
- Presence and action: Most people have a relatively small set of other people that they most frequently communicate with. The system should make it especially easy to contact those people, and should provide some assistance in discovering which of these people is within reach of the system, and how the user might best use the system to contact them.
- Identity: People often need, or at least want, to be able to log into an Internet service with different identities. This is not necessarily the result of a desire to conceal themselves, but can rather be a recognition of the fact that people have different communication needs in different settings — at home vs. at work, for instance. The value of these alternative identities increases as more capabilities are associated with the service: When at home, a user may not want to be notified of work voice mail, may not be able to check e-mail on servers behind firewalls at work, and may want to announce his presence to different people through instant messaging systems.
- Information sharing and privacy: The Internet can make it very easy for people to share information about themselves with their friends — personal contact information, documents, calendar events, and so on. However, this sharing must be done in such a way that the users maintain control over it — in particular, the shared information must be available only to those people that the user wants to have it.
- Easy access to server-based technologies: Many Internet technologies have not been widely adopted because they require more interest in, skill with, or access to computer technologies than most people have. As a result, people live with limitations that could be solved through these technologies, while other problems are addressed in clumsy ways. For instance, having a set of files that can be accessed from anywhere in the world can be quite valuable to the business traveler, but this requires having access to an appropriately configured server (one that lets the traveler in but keeps everyone else out), appropriate client-side software to retrieve the files (which needs to be available wherever the traveler might happen to be), and the expertise to get the files to and from the server. Faced with these barriers, many people give up on finding an elegant solution, and resort to such tricks as e-mailing a document to a web-based e-mail address before a trip, so that it can be downloaded on arrival. This approach is both ingenious and functional, but it is also clumsy and potentially damaging to corporate security. Similarly, many people lack the skills and server access needed to create a simple web page, and thus miss out on the ability to distribute information on the web. Finding good solutions to these problems could significantly increase the value of future versions of CommNet.
- Tying it all together: Point solutions exist for most of the problems noted above — web-based e-mail systems make it easy to create multiple e-mail addresses, most instant messaging systems support multiple screen names, and there are plenty of free or inexpensive web-based services that offer remote file storage and simple web site development. Part of the assumption behind CommNet and its potential successors is that there is value, and a significant opportunity, in tying these point solutions together into a single system that, through its integration, is significantly more powerful and easier to use.
FutureComm: State of the demo. FutureComm is purely a design exercise: it exists as a set of web pages, built with HTML and JavaScript. The pages are linked together to simulate how a completely implemented version of FutureComm would behave, but this is ultimately only a simulation. This document will often use phrasing like "FutureComm addresses this need by doing the following ", implying that there is backend code able to carry out the process. However, this is purely a rhetorical convenience: at this time, no backend support has been implemented for any of the actions shown here.
Part of the vision behind CommNet is that messaging is an activity that should be supported by many different kinds of devices — the desktop to be sure, but also wireless handheld devices, with either small, pen-oriented displays or speech interfaces. Prototyping all these aspects of the messaging domain was beyond the scope of this project; for time and resource reasons, this study of FutureComm was focused on the development of a web-based client to an integrated messaging system. How FutureComm could provide a consistent messaging experience across different devices and interaction styles is a quite valid question, but its answer will have to wait for another study.
FutureCom's basic screen design
One of the design principles underlying FutureComm was the use of a single general screen design throughout the entire system. This supported the intent of presenting a unified approach to the various messaging technologies, and was also an exercise to see how well a single design could satisfy all the needs of those technologies.
The typical FutureComm screen (Figure 1) can be broken down into three major components:
- Header: The top of the screen contains three
horizontal bars that allow the user to navigate his way
through the various parts of FutureComm. These are:
- Banner: The uppermost part of the screen is a banner containing branding information, the user name (once logged in), and six buttons that provide universal access to widely-useful functions. Back and Forward buttons support movement through the pages shown in the browser; they're needed since FutureComm is presented in a browser window without the standard back and forward controls, and it sometimes needs to control exactly how a back request should be handled. Update refreshes the current contents of the window with new content from the server, such as newly-arrived e-mail messages. New e-mail provides a quick link to creating an e-mail message, available anywhere in FutureComm. Help launches a help system; the specification of this system was beyond the scope of the current work. Logout logs the user out of the system.
- Navigation Bar: These buttons allow the user to move between the major components of FutureComm: E-mail, Voice, etc.
- Command Bar: This bar contains commands that support the specific task being carried out by the user; its contents frequently change as the user moves from screen to screen.
- Work area: The large area on the left side of the screen, which contains whatever elements are needed to support the selected task.
- Palettes: A column of small elements on the right side of the screen, which contain various tools that support the task in the work area and the overall tasks of FutureComm.
The visual elements of FutureComm's design were borrowed from those of the initial CommNet release. These were used simply because they were convenient; there is little about FutureComm's design that requires these specific elements.
Key ideas in FutureComm
As the design of FutureComm evolved, some "big ideas" began to appear. These are ultimately responses to the initial questions and concerns that motivated the project; since their functionality has implications throughout FutureComm, it's appropriate to discuss them here, before moving into the system's specific capabilities.
In a similar way, clicking on an e-mail address, telephone number, or instant message screen name in a FutureComm window brings up an action window.
CommPoint: A tool for presence and action. The CommPoint feature of FutureComm addresses two aspects of communication, Internet-based and otherwise. First, most people have collections of people that they contact frequently, and FutureComm should make it especially easy to contact them. Second, there is value in knowing which of those people are currently within reach of FutureComm, as the "buddy lists" common to instant messaging applications have demonstrated. Of course, FutureComm's needs are somewhat different, due to its broader coverage of communication media.
People can be included in a user's CommPoint in two ways. First, users can specify in their Address Book that a certain person should always be included — these people appear at the top of the CommPoint list. CommPoint also includes a few slots for people who have not explicitly been included in CommPoint, but who have recently been contacted by the user. The algorithm for choosing these people has not been specified here. The simplest technique would be a "first-in, first-out" stack, so that new people replace old people as messages are sent. The exact number of entries allowed in CommPoint is also unspecified, but is presumably a system parameter that starts with a reasonable, but changeable default value.
Another unanswered question about CommPoint is the extent to which it can provide presence information other than a user's availability through instant messaging. This depends on the backend capabilities of FutureComm. FutureComm should be able to tell which of the people in CommPoint are logged into FutureComm, and so should be able to provide presence information about their accessibility through e-mail and telephone. In a similar way, FutureComm may be able to tell whether a person's cell phone is turned on, and so reachable by either telephone or SMS messages. These issues raise the question of whether the people who appear in CommPoint must be FutureComm subscribers, either for marketing reasons or because, as a practical matter, FutureComm might only have access to presence information for FutureComm members.
Ultimately, the value of CommPoint is that it offers a great deal of valuable functionality in a very small amount of space. Consequently, it can be included in the palette section of most FutureComm screens, and can effectively support users' communications needs throughout FutureComm.
FutureComm Friends: Information sharing between members. Assume for the moment that FutureComm offers some sort of member directory, similar to that on America Online. This directory would contain listings that users create for themselves, to be made available to other members through some sort of directory or search function. The obvious problem with such a directory is that the information available in it is available to all the members of the service. People are by now either sufficiently knowledgeable or paranoid about the Internet to not want to distribute highly personal information about themselves in this way. As a result, these profiles are frequently underused, and the opportunity of being able to use the Internet to securely distribute personal information to a chosen set of friends is lost.
FutureComm addresses this issue through FutureComm Friends. This is a list of other FutureComm members, specified by a user in his Address Book, with whom the user wants to be able to share information. The most direct use of FutureComm Friends is in the member profile: Users are able to create two distinct profiles: one that is visible to any FutureComm member, and another, presumably more informative one, that is visible only to that user's FutureComm Friends. Thus, a user could disclose his home address and phone number to his Friends, but not to the general public. FutureComm Friends affect other parts of FutureComm as well: users can make certain items on their calendars available to their friends (e.g., "Out of town this week"), and they can make documents available to their friends through the FileShare section of FutureComm. For now, the thing to note is the ability of FutureComm to facilitate the creation of communities within its subscriber base, and to draw users to the service by the offering of these unique capabilities.
The modules of FutureComm
FutureComm is built from one large browser window; push buttons in the navigation bar allow users to switch the window's focus from one task to another. There is not a general concept of having two FutureComm windows open at the same time, although users can always force a second window to be open via the "Open link in new window" browser operation. Note that that this ability, which can't be ruled out, could have implications for the design of FutureComm's backend.
FutureComm supports ten specific tasks; they are:
- Registration: Sign up as a user and create the user IDs to be used in the service.
- Home: The home page for FutureComm, with notifications of new messages and other system actions relevant to the user.
- E-mail: Send and receive e-mail.
- Voice: Send and receive voice mail, and specify the connections between the user's telephone service and FutureComm.
- Instant message: Send and receive instant messages.
- Addresses: Create address book entries for contacts, and maintain personal profiles for the service.
- Calendar: Create events on a web-based calendar.
- FileSpace: Store files in a central, web-accessible server for later download, and share files with other members.
- CommSites: Easy creation of web content.
- Search: Search all the information stores of FutureComm.
Registration
When the FutureComm demo is launched, the user is shown a page that handles the registration process for a new FutureComm member. An initial screen collects the member's name and address, other contact information, and credit card / billing information. At this point, the screen's header offers only a "help" button, and there is neither a navigation bar nor a command bar. These features will not appear until the user has successfully registered and is fully logged into FutureComm.
The master user may now create some number of additional user IDs for other family members or other purposes (e.g., "Jim at work" and "Jim at home"). The master user is the only user permitted to create these additional IDs for the account. As before, proposed IDs must be tested for uniqueness in the FutureComm namespace. The master user can also select the services to be available to this user — a parent might allow all family members to have e-mail, but younger children might not have access to file sharing. Once all user IDs have been constructed, a screen summarizing all the IDs created for this account is presented, and the user is taken to FutureComm's home page.
Once this information has been collected and verified, the user is asked to create a master ID. Every FutureComm account has exactly one master ID, corresponding to the person responsible for the FutureComm account and for all billing issues. This ID must be unique in a namespace associated with FutureComm, since it will become the user's e-mail address and instant messaging screen name. Once a valid ID has been created, the user specifies which of FutureComm's services should be included in the FutureComm navigation bar. This is in keeping with a the intent of keeping FutureComm simple — new users might start with only e-mail and instant messaging, and gradually add other services as they gain experience with FutureComm.
The master user may now create some number of additional user IDs for other family members or other purposes (e.g., "Jim at work" and "Jim at home"). The master user is the only user permitted to create these additional IDs for the account. As before, proposed IDs must be tested for uniqueness in the FutureComm namespace. The master user can also select the services to be available to this user — a parent might allow all family members to have e-mail, but younger children might not have access to file sharing. Once all user IDs have been constructed, a screen summarizing all the IDs created for this account is presented, and the user is taken to FutureComm's home page.
Home
The home page also contains a small version of the user's calendar; it begins by showing the events for today, but can be changed to show other dates. A CommPoint is also present; the presence of both of these features can (presumably) be customized by the user. The Customize button in the command bar provides access to pages where the user can change his password, select FutureComm services (non-master users might only be able to de-select services), and create and delete user IDs (this option should only be available to the master ID user).
The procedures for reading and creating messages are relatively standard. A message is read by clicking on the message's subject in the index page. This brings up a page that shows the content of the message, allows access to any enclosures in the message, and allows the user to reply to or forward the message. The user can also save the address of the recipient in his address book, or, for spam-control purposes, block future messages from this person.
A new message can be created through the Compose button in the command bar, or the New E-mail button in the window's header. This, as with the forward and reply options in the received message display, brings up a page with a text field for the message's entry and buttons for selecting attachments. Addresses for all the fields of the message can be typed into the appropriate fields, or they can be selected from a reduced version of the address book. The message can be sent from any of the user's accounts, as selected in the popup account menu at the top of the mail form.