20
I will not consider these social problems here, but rather concentrate on consequences
and implications for systems design.Greenberg and Marwood (Greenberg and Marwood 1994)
have examined the interface anomalies that arise with any form of group concurrency con-
trol for synchronous editors. Most of these anomalies involve either unexpected screen up-
dates, or inability to effect a change, despite an interface state that seems to allow it. This
problem is unavoidable to some extent since there is no way for changes to be instantane-
ously shared. Since their paper examines only real-time collaboration tools, based on the
concept of a single shared state, it does not consider the potential advantages of allowing
different views at different instances of an editor.
Enabling coordination, in this case, amounts to giving users a way to selectively undo
each other’s changes and updates. This essentially moves the responsibility for arbitration of
user changes from the application back to the collaborators. This may actually improve the
possibilities for collaboration, by allowing a wider variety of potential working styles, de-
pending on the authors’ needs, and the state of a project. In fact, out-of-sequence undo
turns out to be necessary for multi-user editing, even at a low level, since individual users
may want to undo their own changes even after their local application has received further
updates from other users. The general problem of multi-user undo is really to be able to
undo operations regardless of their temporal order of occurrence.
A variety of single-user undo schemes have been implemented over the years. (Vitter
1984)provides a good survey of undo models, which have really not changed that much in
the interim. While undo has generally been an implementer’s problem, some undo models
(Archer, Conway et al. 1984; Leeman 1986) have been formalized. Most of the exploration of
variation in undo techniques has been focused on the proper choice of undo facilities to pro-
vide a single user of a text editor. The question most at issue is what logical models are most
directly useful as commands for a single user to execute during a single editing session.
I will not consider these social problems here, but rather concentrate on consequences
and implications for systems design.Greenberg and Marwood (Greenberg and Marwood 1994)
have examined the interface anomalies that arise with any form of group concurrency con-
trol for synchronous editors. Most of these anomalies involve either unexpected screen up-
dates, or inability to effect a change, despite an interface state that seems to allow it. This
problem is unavoidable to some extent since there is no way for changes to be instantane-
ously shared. Since their paper examines only real-time collaboration tools, based on the
concept of a single shared state, it does not consider the potential advantages of allowing
different views at different instances of an editor.
Enabling coordination, in this case, amounts to giving users a way to selectively undo
each other’s changes and updates. This essentially moves the responsibility for arbitration of
user changes from the application back to the collaborators. This may actually improve the
possibilities for collaboration, by allowing a wider variety of potential working styles, de-
pending on the authors’ needs, and the state of a project. In fact, out-of-sequence undo
turns out to be necessary for multi-user editing, even at a low level, since individual users
may want to undo their own changes even after their local application has received further
updates from other users. The general problem of multi-user undo is really to be able to
undo operations regardless of their temporal order of occurrence.
A variety of single-user undo schemes have been implemented over the years. (Vitter
1984)provides a good survey of undo models, which have really not changed that much in
the interim. While undo has generally been an implementer’s problem, some undo models
(Archer, Conway et al. 1984; Leeman 1986) have been formalized. Most of the exploration of
variation in undo techniques has been focused on the proper choice of undo facilities to pro-
vide a single user of a text editor. The question most at issue is what logical models are most
directly useful as commands for a single user to execute during a single editing session.