next up previous
Next: Ensemble: Implicit Sessions Up: Session- and Artifact- Previous: Aspects: Multiple Locking

Groupsketch and GroupDraw: Multiple Gestures and Optimistic Locks

So far, we have seen joint manipulation of textual documents. Groupsketch and Groupdraw [] are two collaborative programs developed at Calgary by Saul Greenberg's group that allow group editing of drawings. Groupsketch is a simple drawing program that allows users to draw the sketch pixel-by-pixel while Groupdraw is a structured or object-based drawing program allowing users to create geometric objects such as lines and circles and perform object-specific commands on them.

Groupsketch has many of the features of the previous applications: It displays identical images of the sketch window on the screens of all participants, displays cursors of all participants in each of these windows, lets any user enter any command at any time, immediately broadcasts all actions to all users, and supports modelessness. In addition, it provides special support for gestures. A cursor (or telepointer) movement can be used as a gesture, so cursors are made larger than their normal size. Four gesture kinds are supported, pointing, writing, erasing, and directing attention, and each has its own cursor shape. A cursor is labelled with the name of its user.

Groupdraw is similar with a few important differences, some of which have to do with the fact that the editor is object-oriented: Like Grove, it provides fine-grained access control, and allows an object created by a user to be writeable, readonly, or unreadable by others. It allows users to scroll to different parts of a shared window. Moreover, it provides a pallete for selecting and manipulating objects, and does not link different users palletes, which can cause the collaboration to be less fluid. It also supports implicit locking/unlocking by locking an object when it is selected/unselected by a user. When a user tries to manipulate any object, its agent checks with a remote server about its locked status. During the time it is listening for a reply, it performs the action, and undoes it if the object was, in fact, locked. This optimistic locking approach is similar to the GROVE optimistic broadcast and CES fasttop operation, and works well in practice.



next up previous
Next: Ensemble: Implicit Sessions Up: Session- and Artifact- Previous: Aspects: Multiple Locking



Prasun Dewan
Tue Jan 28 17:46:09 EST 1997