9
involved in different sorts of authoring. As any asynchronous collaboration system must,
Prep deals with the problem of divergence. Prep applies a specialized differencing algorithm
(Neuwirth, Chandhok et al. 1992)that can produce reports about the points of divergence
between separately edited documents. Their use of parallel displays provides a good interface
basis for the work of conflict resolution. Their experimental results have also shown that
displaying changes at different levels of detail is a crucial aid for authors’ understanding of
the differences between versions. The differencing algorithms applied by Prep are based on
those used by that standard UNIX “diff” command, with specialized modifications to handle
a lack of fixed line breaks, and to enable reporting at different levels of detail. Based on the
change reports produced by the algorithm, Prep allows a change-by-change merge of differ-
ing versions to create a new coordinated version. This merge process is again based on ex-
isting tools, in this case an adaptation of the Unix program “diff3”.
Essentially, the Prep approach to divergence is to adapt the existing difference tech-
niques developed for software engineering to the different problem of comparing texts. This
approach is workable, but has some inherent drawbacks. It is not suitable for on-line work,
since it is based on using whole document states. Thus, Prep generates differences in two
separate ways, as the result of a computational process, and by monitoring editing opera-
tions. Divergence is accommodated by the parallel document facilities of Prep: updates can
be applied to produce a new state in a new column. One very significant fact is that Prep is
able to use the leverage gained by directly manipulating editing operations, gaining flexibil-
ity in update distribution as well as informative historical displays for co-authors. The de-
pendence on diff algorithms implies certain limitations, since they can only effectively de-
tect certain types of changes. In particular, the detection of moving blocks of text is
difficult, and becomes even more difficult if the blocks are then further changed. There has
been recent progress in addressing this problem (Chawathe, Rajaraman et al. 1996). How-
ever, these solutions are based on comparison heuristics, rather than change logs, so even
involved in different sorts of authoring. As any asynchronous collaboration system must,
Prep deals with the problem of divergence. Prep applies a specialized differencing algorithm
(Neuwirth, Chandhok et al. 1992)that can produce reports about the points of divergence
between separately edited documents. Their use of parallel displays provides a good interface
basis for the work of conflict resolution. Their experimental results have also shown that
displaying changes at different levels of detail is a crucial aid for authors’ understanding of
the differences between versions. The differencing algorithms applied by Prep are based on
those used by that standard UNIX “diff” command, with specialized modifications to handle
a lack of fixed line breaks, and to enable reporting at different levels of detail. Based on the
change reports produced by the algorithm, Prep allows a change-by-change merge of differ-
ing versions to create a new coordinated version. This merge process is again based on ex-
isting tools, in this case an adaptation of the Unix program “diff3”.
Essentially, the Prep approach to divergence is to adapt the existing difference tech-
niques developed for software engineering to the different problem of comparing texts. This
approach is workable, but has some inherent drawbacks. It is not suitable for on-line work,
since it is based on using whole document states. Thus, Prep generates differences in two
separate ways, as the result of a computational process, and by monitoring editing opera-
tions. Divergence is accommodated by the parallel document facilities of Prep: updates can
be applied to produce a new state in a new column. One very significant fact is that Prep is
able to use the leverage gained by directly manipulating editing operations, gaining flexibil-
ity in update distribution as well as informative historical displays for co-authors. The de-
pendence on diff algorithms implies certain limitations, since they can only effectively de-
tect certain types of changes. In particular, the detection of moving blocks of text is
difficult, and becomes even more difficult if the blocks are then further changed. There has
been recent progress in addressing this problem (Chawathe, Rajaraman et al. 1996). How-
ever, these solutions are based on comparison heuristics, rather than change logs, so even