UbiCollab: A Service Architecture for Supporting Ubiquitous Collaboration
Abstract
Ubiquitous computing integrates computation into the environment, and enables users to move around and interact with computers more naturally than they currently do. This helps to address some of the traditional challenges of computer supported collaborative work (CSCW), as users are not bound to a desk and a personal computer, and are not forced to stay in a static environment where ad-hoc collaboration is impossible. UbiCollab is a platform for the support of ubiquitous collaboration, and it provides such functionality as context-awareness and automatic device discovery. The vision of UbiCollab is to be both flexible and extendible, so that it can provide ubiquitous collaboration support for many different existing and non-existing domains and settings. A previous study has compiled a set of requirements that needs to be fulfilled in order for a platform to reach this vision. This work re-designs the architecture and the platform components of UbiCollab so that they conform to these requirements. OSGi is chosen as the underlying architecture, supporting the requirements of flexibility and extendibility, and a suitable OSGi framework for the platform is chosen. The platform components and their application programming interfaces (APIs) are designed, and a selected number of these are implemented with full or partial functionality. A testbed of applications and external services is used throughout development to test the flexibility and functionality of the platform and the completeness of the APIs.