Using metalevel techniques in a flexible toolkit for CSCW applications

Paul Dourish
1998 ACM Transactions on Computer-Human Interaction  
Ideally, software toolkits for collaborative applications should provide generic, reusable components, applicable in a wide range of circumstances, which software developers can assemble to produce new applications. However, the nature of CSCW applications and the mechanics of group interaction present a problem. Group interactions are significantly constrained by the structure of the underlying infrastructure, below the level at which toolkits typically offer control. This article describes
more » ... design features of Prospero, a prototype CSCW toolkit designed to be much more flexible than traditional toolkit techniques allow. Prospero uses a metalevel architecture so that application programmers can have control over not only how toolkit components are combined and used, but also over aspects of how they are internally structured and defined. This approach allows programmers to gain access to "internal" aspects of the toolkit's operation that affect how interaction and collaboration proceed. This article explains the metalevel approach and its application to CSCW, introduces two particular metalevel techniques for distributed data management and consistency control, shows how they are realised in Prospero, and illustrates how Prospero can be used to create a range of collaborative applications.
doi:10.1145/287675.287676 fatcat:zqgtkg5yufhprjg6p7ifx4iebe