Typical Collaborative Software Applications
This page describes several types of collaborative software applications and their associated design options. Comparing those design options across applications yields interesting new perspectives on well-known applications. Also, in many cases, these systems can be used together, and in fact, are intended to be used in conjunction. For example, group calendars are used to schedule videoconferencing meetings, multi-player games use live video and chat to communicate, and newsgroup discussions spawn more highly-involved interactions than in any of the other systems.
Consider how these systems can be integrated in other ways. We are still quite far from developing the grand groupware system that encompasses every type of communication, and we will probably never get there since the possibilities are constantly evolving with changes in both our patterns of social interaction and the technology we have available.
Asynchronous or non-realtime collaborative software
Email is by far the most common collaborative software application (besides of course, the traditional telephone). While the basic technology is designed to pass simple messages between 2 people, even relatively basic email systems today typically include interesting features for forwarding messages, filing messages, creating mailing groups, and attaching files with a message. Other features that have been explored include: automatic sorting and processing of messages, automatic routing, and structured communication (messages requiring certain information).
Newsgroups and mailing lists are similar in spirit to email systems except that they are intended for messages among large groups of people instead of 1-to-1 communication. In practice, the main difference between newsgroups and mailing lists is that newsgroups only show messages to a user when they are explicitly requested (an “on-demand” service), while mailing lists deliver messages as they become available (an “interrupt-driven” interface).
Workflow systems allow documents to be routed through organizations through a relatively-fixed process. A simple example of a workflow application is an expense report in an organization: an employee enters an expense report and submits it, a copy is archived and then routed to the employee’s manager for approval, the manager receives the document, electronically approves it and sends it on, and the expense is registered to the group’s account and forwarded to the accounting department for payment. Workflow systems may provide features such as routing, development of forms, and support for differing roles and privileges.
Hypertext is a system for linking text documents to each other; an obvious example is the Web. Whenever multiple people author and link documents, the system becomes group work, constantly evolving and responding to others’ work. Some hypertext systems include capabilities for seeing who else has visited a certain page or link, or at least seeing how often a link has been followed, thus giving users a basic awareness of what other people are doing in the system. Page counters on the Web are a crude approximation of this function. Another common multi-user feature in hypertext (that is not found on the Web) is allowing any user to create links from any page, so that others can be informed when there are relevant links that the original author was unaware of.
Group calendars allow scheduling, project management, and coordination among many people, and may provide support for scheduling equipment as well. Typical features detect when schedules conflict or find meeting times that will work for everyone. Group calendars also help to locate people. Typical concerns are privacy (users may feel that certain activities are not public matters), completeness, and accuracy (users may feel that the time it takes to enter schedule information is not justified by the benefits of the calendar).
Collaborative writing systems may provide both realtime support and non-realtime support. Word processors may provide asynchronous support by showing authorship and by allowing users to track changes and make annotations to documents. Authors collaborating on a document may also be given tools to help plan and coordinate the authoring process, such as methods for locking parts of the document or linking separately-authored documents. Synchronous support allows authors to see each other’s changes as they make them, and usually needs to provide an additional communication channel to the authors as they work (via videophones or chat).
Synchronous or realtime collaborative software
Shared whiteboards allow two or more people to view and draw on a shared drawing surface even from different locations. This can be used, for instance, during a phone call, where each person can jot down notes (e.g. a name, phone number, or map) or to work collaboratively on a visual problem. Most shared whiteboards are designed for informal conversation, but they may also serve structured communications or more sophisticated drawing tasks, such as collaborative graphic design, publishing, or engineering applications. Shared whiteboards can indicate where each person is drawing or pointing by showing telepointers, which are color-coded or labeled to identify each person.
Video communications systems allow two-way or multi-way calling with live video — essentially a telephone system with an additional visual component. Cost and compatibility issues limited early use of video systems to scheduled videoconference meeting rooms. Video is advantageous when visual information is being discussed, but may not provide substantial benefit in most cases where conventional audio telephones are adequate. In addition to supporting conversations, video may also be used in less direct collaborative situations, such as by providing a view of activities at a remote location.
Chat systems permit many people to write messages in realtime in a public space. As each person submits a message, it appears at the bottom of a scrolling screen. Chat groups are usually formed by listing chat rooms by name, location, number of people, topic of discussion, etc.
Many systems allow for rooms with controlled access or with moderators to lead the discussions, but most of the topics in which researchers are interested involve issues related to unmoderated realtime communication, including anonymity, following the stream of conversation, scalability with number of users, and abusive users.
While chat-like systems are possible using non-text media, the text version of chat has the rather interesting feature of having a direct transcript of the conversation, which not only has long-term value, but allows for backward reference during conversation. This feature makes it easier for people to drop into a conversation and still pick up on the ongoing discussion.
Decision support systems are designed to facilitate groups in decision making. They provide tools for brainstorming, critiquing ideas, putting weights and probabilities on events and alternatives, and voting. Such systems enable presumably more rational and even-handed decisions. Primarily designed to facilitate meetings, they encourage equal participation by, for instance, providing anonymity or enforcing turn-taking.
Multi-player games have always been reasonably common in arcades, but are now becoming quite common on the internet. Many of the earliest electronic arcade games were multi-user; for example, Pong, Space Wars, and car racing games. Games are the prototypical example of “non-cooperative” multi-user situations, though even competitive games require players to cooperate in following the rules of the game. Games can be enhanced by other communication media such as chat or video systems.