Surfnet logo

Designing for Disconnection in Synchronous Groupware

This is an ongoing project.


Synchronous groupware depends on the assumption that people are fully connected to the others in the group, but there are many situations (network delay, network outage, or explicit departure) where users are disconnected for various periods. There is little research dealing with disconnection in synchronous groupware from a user and application perspective; as a result, most current groupware systems do not handle disconnection events well, and several user-level problems occur. To address this limitation, we developed the Disco framework, a model for handling several types of disconnection in synchronous groupware. The framework considers how disconnections are identified, what senders and receivers should do during an absence, and what should be done with accumulated data upon reconnection. We have implemented the framework in three applications that show the feasibility, generality, and functionality of our ideas. Our framework is the first to deal with a full range of disconnection issues for synchronous groupware, and shows how groupware can better support the realities of distributed collaboration.

A central assumption of synchronous groupware is that the members of the group are temporally present – that is, they are actively observing changes to the shared workspace and noticing new updates as they arrive. Many types of groupware have been successfully built on this model, such as shared editors, instant messaging systems, audio and video conferencing tools, and multi-player games. These applications work by sending real-time communication messages, awareness events, and model updates. When the synchrony assumption holds, these systems only need to send the current state of the activity – they can assume that other participants will receive the new information soon after it is sent, and that no-one misses anything. However, there are many situations in group work where the synchrony assumption does not hold, and where people have become disconnected from synchronous interaction – because of network delay, network outages, or explicit departure. These episodes can cause several problems:

  • interruptions in real-time streams (audio, video, or telepointers) lead to interpretation difficulties;
  • network outages often force people into laborious re-connection procedures, and often cause loss of current state information such as an avatar’s location;
  • temporal absences cause people to miss real-time communication and awareness events, leading to loss of context or confusion about how changes occurred;
  • if work continues on both sides of a disconnection, problems can occur when trying to merge different versions of the shared data upon reconnection.

Although researchers have investigated many issues within these areas, there is little work on underlying design principles that will allow synchronous groupware to deal comprehensively and appropriately with periods of asynchrony. To address this shortcoming, we have designed an application-level framework for dealing with disconnection in synchronous groupware. The Disco framework is based on the three phases of the asynchronous period – detecting that a group member is disconnected, determining what to do during the absence, and dealing with accumulated data when synchronous interaction resumes. The framework divides the design space using three concepts: the endpoint role (sender or receiver), the receiver’s connection state (connected or disconnected), and a set of adaptation mechanisms based on the length of the disconnection or the volume of data accumulated during the absence. These divisions define categories of adaptive behaviour stating what senders and receivers should do during a disconnection. We have implemented the framework at the application level and have tested it on three different systems (an instant messaging system, a shared graphical editor, and a real-time game). The example systems show that our framework allows a much larger range of responses to periods of asynchrony than what has been seen in previous groupware systems. The adaptive behavior specified in the framework can help to solve the problems of interpretation and missed information mentioned above.

We make three main contributions. First, we expand on previous ideas about asynchronous periods within synchronous activity, and show that several types of disconnection (interruption, network outage, and explicit departures) can be brought together under a single conceptual umbrella. Second, we identify and categorize both new and previously-studied techniques for dealing with disconnection (including systems, interface, and interactional aspects). Third, we provide an application-level reference implementation that demonstrates the functionality and feasibility of our design, and that shows the range of adaptive behaviours that are possible.


Images and Videos






NSERC – SurfNet