Seven Challenges for Developers of Mobile Groupware

Synchronous groupware applications play a major role for, e.g. shared document editing, co-operative software development or shared workspaces. Groupware applications allow geographically distributed teams to collaborate without significant time delays. Several groupware platforms have been developed to simplify the development of synchronous groupware applications and relieve the developer from standard problems such as communication, synchronisation, coordination or concurrency control. Currently, there exists a growing market for mobile devices such as PDAs, mobile phones, and electronic pens. Upcoming communication technologies (e.g. wireless local or personal area networks, mobile telephone networks) promise new services for mobile communication. Extending stationary groupware concepts and platforms to mobile environments would offer great potentials. However, too straightforward approaches, e.g. simply running existing groupware platforms on mobile devices, fail due to the different nature of mobile devices and networks. In the year 2000, we started to investigate, how mobile users and developers of mobile groupware applications could be supported with the help of groupware platforms. In order to examine the specific problems in more detail, we created two platforms: QuickStep was especially designed to support groups of handheld users, the second platform Pocket DreamTeam was an extension of our stationary groupware framework DreamTeam. For both platforms, we had the following design goals: • We want to support synchronous collaboration. Due to some device and network characteristics, we relaxed the notion of strict synchronous collaboration and introduced the term relaxed synchronous collaboration [6] for group members who collaborate synchronously, but may be disconnected from the network for short periods. • We want to support developers of new mobile groupware applications with the help of a development and a runtime environment. The development environment should offer communication and data abstractions as well as an application programming interface (API) for group specific services and widgets. The runtime system should perform standard tasks such as controlling communication links, distribute shared data, manage session and user profiles, perform group rendezvous etc. • As a technical platform for mobile end-user devices, we decided to use handhelds as shown in fig. 1. We in particular decided not to use notebooks. Due to their size, weight and battery life, mobile working capabilities with notebooks are limited. We especially want to investigate problems related to small mobile devices and want to transfer our solutions to even smaller devices such as electronic pens or mobile phones later.