34
terleaved,asupportmodelthatworksequallywellforbothkindsofworksignifi-
cantlysimplifiestheproblem.
3. Itshouldprovideacompleteinfrastructureforsupportingsingleandmultipleuser
undoandredo.Authorsneedtobeabletochangetheirminds,andmayneedto
undootherauthors’changesinordertomaketheirown.Notonlyshouldasystem
supportsuchactivity,butitshouldalsobeabletotracksuchchanges,andpossibly
revertthemlater.Inthesocialgive-and-takeofediting,decisionsshouldbetracked
andbecapableofbeingrevisited.
4. Itshouldsupportflexibleversionmanagementforversiongraphswithbranchingand
fullmerging(multipleancestry).Whenchangesarebeingmade,significantstatesof
thedocumentarefrequentlyextremelyimportant,andmustbetracked.Whileac-
commodatingdivergentstatesmaybeuseful,mostauthorshiptasksrequirethepro-
ductionofafinalversion,sothatintegrationofseparateversionsshouldbeaseasy
asistechnicallyfeasible.
5. Itshouldprovidereferencemechanismsthatallowtheeasyandconsistentmainte-
nanceofhypertextlinks,evenacrossversionsinamulti-usereditingcontext.Withthe
WWW,hypertextwritingisobviouslymovingfromaspecialapplicationintothe
mainstreamofdocumentauthoring;lessobviously,linkingfeaturesarebuiltinto
mostcurrentwordprocessors.Whileinclusionoflinksindocumentsisnowrelatively
straightforward,maintaininglinksduringacollaborativeeditingprocessisnot.The
useoffine-grainedlinkingaspartofthecollaborationprocessitselfcanalsobevery
important.Thisisalreadyapartofcurrentpracticeintheformofannotationfea-
tures.
6. Themechanismshould,ifpossible,beextendabletocoveravarietyofgeneraldata
structures.Manydocumentsarealreadymulti-mediadocuments(atleasttotheex-
35
tentofincludingtablesandpictures).Authoringsystemsshouldbecapableofsup-
portingchangestodocumentpartsofalldatatypes.
7. Itshouldallowtheapplicationtocontroltheparametersfordataconsistency.Rather
thanenforcingasinglemodelthatcannotbecorrectforallapplications,itshould
enableapplicationstodeterminehowmuchconsistencyisappropriate,andwhen.By
postponingpolicydecisionstothegreatestextentpossible,agreatervarietyofap-
plicationscanbeaccommodated.
8. Itshouldprovideadefinitivesemanticsforinterpretingandmodelingasynchronyand
inconsistency.Achiefdifficultyinimplementingsystemsthathavetodealwithdis-
tributedediting(synchronousorasynchronous)isunderstandingwhatisgoingon
withrespecttotimesofupdatesandthemovementofdatabetweenthepartiesto
aneditingsession.Onethingthataframeworkanditsunderlyingmodelcanprovide
isasimplemodeloftemporalandcausalinteraction.
9. Itshouldprovideapplicationimplementerswithaneasydefaultoption.Conflictand
versionmanagementarecomplex,thornyproblemsforimplementersandforusersas
well.Itisusefultohavea(potentiallylesssafe)“seenoevil”policyavailableifit
canreduceasystem’sdemandsonauserfortheenforcementofsafetyandconsis-
tency.Aframeworkshouldhelpapplicationwriterstoofferusersaconvenientway
toignorepotentialproblems,ordeferthem—perhapsindefinitely.Theexactforof
defaultisworthcarefulconsiderationasitislikelytobeused.Itisalsodesirable
thatasystembeabletosupportachoicebetweenasmallnumberofdefaultpolicies.
Thediscussioninsection1.8supportsthefollowingadditionalrequirementsforamerge
function,listedinorderofpriority:
1. Reasonabilityofchangemodel.Whilecomplexitymaybeinvolvedwhenchanges
combine(sinceeditinghistoriesaretricky),thebasicoperationsprovidedmustbe
intelligibleandunsurprisingtousersandapplicationdesigners.
Previous Page Next Page