Project: Disconnection Handling in Real-time Groupware

Real-time Groupware

A real-time or synchronous groupware is a software application that allows communication and collaboration among geographically-distributed work group members in order to perform some common tasks. Examples of groupware include: MSN messenger, Skype communication tool and multi-player games, such as World of War Craft.

Disconnection Problems in Synchronous Groupware

Participants in synchronous groupware frequently get disconnected due to power outage, network outage, network latency and explicit departure. The disconnected participants cannot continue with the ongoing collaboration activities. When they rejoin the session, they might not able to 'catch up' with other peers and experience different user-level problems, such as misinterpretation and confusion about the changes that occurred during their absence.

Current research shows that when reconnected users are able to see missed information as feedback in an understandable format (e.g. seeing a quick replay of the missed events), they can 'catch-up' with the ongoing collaboration. However, adapting feedback mechanism in groupware is difficult for the developers as they need to handle various disconnection scenarios and timeframes. Existing techniques only handle a limited set of disconnection scenarios and there is little support for handling different timeframes. Therefore developers must have a deep understanding of the issues underlying disconnection, and need to do all development tasks relating to disconnection from scratch.

Solution

In order to address the disconnection problems, we are deeply investigating disconnection in synchronous groupware. The investigation resulted in comprehensive design knowledge around the engineering process of constructing disconnection aware groupware applications. We presented the deign knowledge in three forms:

  1. a five dimensional design space for manipulating and presenting reconnection information,
  2. a set of disconnection design patterns demonstrating how various strategies in the design space can be combined for providing reusable solutions to commonly occurring disconnection and reconnection problems, and
  3. a plugin software architecture showing how a wide range of strategies in the design space can be adapted as plugins in groupware applications.
DiscoTech Toolkit

In order to make the disconnection design knowledge practically accessible, we have built the DiscoTech toolkit. DiscoTech implements various strategies of the design space as plug-ins following the plug-in software architecture. We have built several disconnection aware groupware applications (DAGAs), such as Chat, Collaborative Sketching, Collaborative Paper Reviewing System and a Multi-player Tank Game using DiscoTech in order to justify the practicality of the design knowledge.

The toolkit simplifies developers' tasks for constructing DAGAs. Figure 1 shows how DiscoTech addresses user-level disconnection problems by taking into account developers' effort. The preliminary evaluation of the toolkit shows that it is usable and performs well.

Figure 1: Discotech's flow diagram to handle disconnection

Although it is possible to implement the toolkit following both the client/server and peer- to -peer software architecture model, the source code for the client/server version is freely available. However, this version is still under construction.

Downloads

DiscoTech Source Code

Tutorial

This tutorial demonstrates how to construct a disconnection aware groupware application from a single user application. To go though the tutorial click the following link:
Instructions to Use DiscoTech


For More Information
  1. Roy, B., Graham, T.C.N, Gutwin, Carl (2012) DiscoTech: A Plug-In Toolkit to Improve Handling of Disconnection and Reconnection in Real-Time Groupware. The 2012 ACM Conference on Computer Supported Cooperative Work, Seattle, Washington, USA (To Appear)
  2. Roy, B., Graham, T.C.N, Gutwin, Carl (2011) DiscoTech: A Toolkit for Handling User Level Disconnection Problems in Synchronous Groupware. The Grand 2011 WIP paper.
  3. Roy, B., Graham, T.C.N, Gutwin, Carl (2011) DiscoTech: A Toolkit for Handling User Level Disconnection Problems in Synchronous Groupware. Poster presented at Arts and Science Graduate Student Symposium at University of Saskatchewan. (Awarded as the best poster in science division).

Participants

Banani Roy
Queen's University and University of Saskatchewan
T.C. Nicholas Graham
Carl Gutwin
University of Saskatchewan