149
cause inconsistencies can be removed, saved for later resolution, or even ignored indefi-
nitely.
Requirement 8 states the importance of clear and definite semantics for inconsistency in
the presence of asynchrony and divergence. Palimpsest fully meets this requirement, pro-
viding methods for the automatic resolution of many consistency problems, which to some
extent limits its ability to meet requirement 7.
Merge requirement 1 specifies that a “reasonable” change model is important. The opera-
tions of insert, delete and move are very well known (close to universal). The dynamic copy
operation is more unusual, although it has obvious applications to boilerplate text in docu-
ments, quotation in messaging systems, and the like. The more usual static copy operation is
adequately modeled by insert. Dynamic copy has been included because of its usefulness in
special situations, its close similarity to move, and for the sake of completeness.
Merge requirement 2 is that user operations should be reflected in the data model. Move
and copy certainly correspond to common authorial actions, and in that sense represent a
good fit to a user’s intentions in editing. However, it could also be argued that the Palimp-
sest model does not in fact represent user actionsdirectly, since most editors use some varia-
tion of the cut and paste paradigm. A Palimpsest move corresponds to a cut/paste pair, not a
single user action. Interface actions like drag and drop, which directly represent a move op-
eration, are widely but not yet universally available. Worse, the drag and drop interface is
frequently quite inconvenient in larger documents, because source and destination do not fit
into a single editor view. This is a case where the best result in terms of merge requires se-
mantic information (whether the user intended to move text) which is obscured (though not
rendered inaccessible) by the interface technology in common use.
Merge requirement 3 states that move and copy should be directly supported, as a conse-
quence of 1 and 2. The model obviously meets this requirement. Just as the Palimpsest
cause inconsistencies can be removed, saved for later resolution, or even ignored indefi-
nitely.
Requirement 8 states the importance of clear and definite semantics for inconsistency in
the presence of asynchrony and divergence. Palimpsest fully meets this requirement, pro-
viding methods for the automatic resolution of many consistency problems, which to some
extent limits its ability to meet requirement 7.
Merge requirement 1 specifies that a “reasonable” change model is important. The opera-
tions of insert, delete and move are very well known (close to universal). The dynamic copy
operation is more unusual, although it has obvious applications to boilerplate text in docu-
ments, quotation in messaging systems, and the like. The more usual static copy operation is
adequately modeled by insert. Dynamic copy has been included because of its usefulness in
special situations, its close similarity to move, and for the sake of completeness.
Merge requirement 2 is that user operations should be reflected in the data model. Move
and copy certainly correspond to common authorial actions, and in that sense represent a
good fit to a user’s intentions in editing. However, it could also be argued that the Palimp-
sest model does not in fact represent user actionsdirectly, since most editors use some varia-
tion of the cut and paste paradigm. A Palimpsest move corresponds to a cut/paste pair, not a
single user action. Interface actions like drag and drop, which directly represent a move op-
eration, are widely but not yet universally available. Worse, the drag and drop interface is
frequently quite inconvenient in larger documents, because source and destination do not fit
into a single editor view. This is a case where the best result in terms of merge requires se-
mantic information (whether the user intended to move text) which is obscured (though not
rendered inaccessible) by the interface technology in common use.
Merge requirement 3 states that move and copy should be directly supported, as a conse-
quence of 1 and 2. The model obviously meets this requirement. Just as the Palimpsest