
Abstract
There are two general approaches to providing computer support for
synchronous collaboration. One is the sharing of legacy single-user
applications. This is referred to as collaboration transparency, because
the sharing is provided by a mechanism that is unknown, or
transparent, to the application and its developers. The second approach,
collaboration awareness, is to design an application specifically to
support cooperative work.
This work presents two distinct contributions: First, we present a
critique of collaboration transparency as it is currently implemented in
contrast to collaboration-aware implementations. We find conventional
collaboration-transparency systems lacking in terms of efficient use
of network resources and support for key groupware principles:
concurrent work, relaxed WYSIWIS, and group awareness. Second, we
examine the causes of these deficiencies, and then present an
alternative implementation approach based on an object-oriented
replicated
architecture where selected single-user interface objects are
dynamically replaced by multi-user extensions. The replacement is
transparent to the single-user application and its developer. As an
instance of this approach, we described its incorporation into a
Java-based
collaboration-transparency system, called JAMM.