- Groupware Toolkits for Synchronous Work
Saul Greenberg and Mark Roseman. Groupware Toolkits for Synchronous Work. In M. Beaudouin-Lafon (ed.), Trends in CSCW. John Wiley & Sons, 1996. (postscript version)
Summary
This paper is an overview of the components in groupware toolkits needed for
synchronous work, and is also a survey of many existing groupware
toolkits. Discussed are run-time architectures, groupware
programming abstractions, groupware widgets, and session
managers. Also discussed is the GroupKit toolkit.
In Detail
- DistView: Support for Building Efficient Collaborative
Applications using Replicated Objects
Prakash, Atul and Shim, Hyong Sop. DistView: Support for Building Efficient Collaborative Applications using Replicated Objects. In Proceedings of CSCW '94, pp. 153-164. (PDF version from ACM D-Lib)
Summary
DistView is a toolkit that supports building collaborative
multi-window applications. It introduces a simple synchronous collaboration
paradigm, the object-level replication scheme. All events
to an object are indirected through a proxy, which communicates to the
object it represents as well as broadcasting the event to all other
replicated clients.
Each application state is copied to the individual clients. Objects that
are dependent on the local machine (e.g. a File Input Stream) are referenced
to via the proxy. Thus, all events go through the proxy. By sending events
only, the network bandwidth is reduced.
There does not seem to be an easy way of seeing what applications can be
exported. Users must use the talk window to coordinate activities. Also,
the view of the window is a strict view (except for closing, iconifying, and
moving the window). Performance seems poor, with a slowdown of
two orders of magnitude. Lastly, there is no resolution of non-idempotent
actions (e.g. if one object sends email, all clients with this object will
send email).
In Detail
- Consistency Guarantees: Exploiting Application Semantics for
Consistency Management in a Collaboration Toolkit
Dourish, Paul. Consistency Guarantees: Exploiting Application Semantics for Consistency Managment in a Collaborative Toolkit. In Proceedings of CSCW '96, pp. 268-277. (PDF version from ACM D-Lib)
Summary
Prospero is a toolkit that allows programmers to express application
requirements so that the toolkit structure can be tailored to specific
needs. Prospero is based on consistency guarantees, where promises
and guarantees are negotiated; divergence, whereby different users
manipulate objects in different ways; and synchronization, whereby
these divergent objects are remapped into a consistent state.
Prospero seems to be a very flexible system that can be used across many
domains. Prospero also allows multi-synchronous work, that is parallel
simultaneous activity. Different users can be using the same objects at the
same time. Also, opportunistic work is supported, allowing flexibility on the
users part.
However, much of the burden is placed on the application programmer. The
programmer must determine what the promises and guarantees are, and how
to implement synchronization of divergent objects.
In Detail