12
can also gain real value by providing durable editing histories, something that many data-
bases can live without. Authoring histories also must be able to represent and handle con-
flicting and branching lines of development, since they are inherent to the authoring proc-
ess, while the analogous situations in databases are ruled out a prioriby the consistency
requirements. Isolation is a concept that really only applies in the context of a transaction
based system. In fact, we will see that for collaboration we want to increase the ability to
merge changes productively, something that will actually increase the potential for interac-
tions between changes.
The forgoing points are more generally true in collaborative systems, where more liberal
optimistic methods are sometimes used to compensate or proceed, even in the presence of
non-serializable (conflicted) execution histories. This is possible because of the presence of
the human authors, a critical factor involved in collaboration that is not available in typical
database systems. Beyond automatic policies, there is always a last resort in collaboration: a
human being that can be trusted to correctly resolve a conflict (if she is willing and author-
ized to do so). Furthermore, for most applications, the need for absolute consistency is con-
siderably less. Dourish (Dourish 1996)has proposed two levels of consistency for collabora-
tion support systems: syntactic consistency and application consistency. Syntactic
consistency is consistency in the data structures that support the implementation of applica-
tions; if these are inconsistent, there is a bug in the system and the software will fail to
work correctly or at all. Application inconsistency is different. It refers to the consistency of
the data model implied by an application, whether that is a model for a text, a structured
drawing, or some other application object. An infrastructure that can support divergence
from a completely consistent data model is essentially an optimistic concurrency control
model, where human collaborators are responsible for resolving conflicts. The advantage of
such data models is the same as that for optimistic concurrency control: greater availability
to updates, at the cost of greater time expended resolving conflicts.
can also gain real value by providing durable editing histories, something that many data-
bases can live without. Authoring histories also must be able to represent and handle con-
flicting and branching lines of development, since they are inherent to the authoring proc-
ess, while the analogous situations in databases are ruled out a prioriby the consistency
requirements. Isolation is a concept that really only applies in the context of a transaction
based system. In fact, we will see that for collaboration we want to increase the ability to
merge changes productively, something that will actually increase the potential for interac-
tions between changes.
The forgoing points are more generally true in collaborative systems, where more liberal
optimistic methods are sometimes used to compensate or proceed, even in the presence of
non-serializable (conflicted) execution histories. This is possible because of the presence of
the human authors, a critical factor involved in collaboration that is not available in typical
database systems. Beyond automatic policies, there is always a last resort in collaboration: a
human being that can be trusted to correctly resolve a conflict (if she is willing and author-
ized to do so). Furthermore, for most applications, the need for absolute consistency is con-
siderably less. Dourish (Dourish 1996)has proposed two levels of consistency for collabora-
tion support systems: syntactic consistency and application consistency. Syntactic
consistency is consistency in the data structures that support the implementation of applica-
tions; if these are inconsistent, there is a bug in the system and the software will fail to
work correctly or at all. Application inconsistency is different. It refers to the consistency of
the data model implied by an application, whether that is a model for a text, a structured
drawing, or some other application object. An infrastructure that can support divergence
from a completely consistent data model is essentially an optimistic concurrency control
model, where human collaborators are responsible for resolving conflicts. The advantage of
such data models is the same as that for optimistic concurrency control: greater availability
to updates, at the cost of greater time expended resolving conflicts.