An Implementation Architecture to Support Single-Display Groupware
Single-Display Groupware (SDG) applications use a single display shared by multiple people. This kind of interaction has proven very useful for children, who often share a computer for games and educational software, and also for co-located meetings, where multiple people are in the same room discussing, annotating and editing a design or presentation which is shown on a computer screen. We have developed a number of SDG applications that use multiple 3Com PalmPilots and Windows CE devices to emulate a PC’s mouse and keyboard. All users can take turns sharing a single cursor to use existing applications like PowerPoint. We have also created other new applications where all users have their own independent cursors. This paper describes the architectural additions to the Amulet toolkit that make it easy for programmers to develop applications with multiple input streams from multiple users. Amulet supports shared or independent editing, and shared or independent undo streams. The implementation differs from other Computer-Supported Cooperative Work (CSCW) architectures in that others have one Model and multiple Views and Controllers (one for each user), whereas we have one Model and one View, and multiple Controllers.