28
alreadywelldescribedin(GreenbergandMarwood1994).Whiletheyconcentratedonuser-
interfaceeffectsinsynchronouseditors,exactlythesamekindsofunexpectededitingre-
sultscanoccurwhenasynchronouschangesarecombined.Severalstrategiesmayhelpin
addressingthiskindofproblem:
Trackinguser’sactualchanges(ratherthandeducingthemviaadiff)maymakethere-
sultsofinteractionsclearerbyhavingtheinputtothemergeexactlycorrespondtothe
user’seditingactions,andnotjusttheireffects.Thismeetstheuserneedforthemodel
tooperateonperceptibleobjects.Thechangesactuallymadewheneditingareclearly
accessibletointrospectionbyauthors.
Editinghistoriesthatreflecttheidentityofobjectsastheyareperceivedbyusersoffer
additionalopportunitiesformerging.Iftheidentityofobjectsispreservedwhenthey
aremoved,mergeoperationsarebetterabletopreserveuserintentions.Amotivating
exampleisthatlarge-scaletext-movementoperationslikechangingtheorderofpara-
graphsshouldnotnecessarilyconflictwithinternalchangestothemoveddata,suchas
sentence-levelrewritestotheparagraph.
Localdeterminationofhistoryisatoolthatshouldbeavailabletoauseratalltimes.On
noticingsomethinganomalousinthesharedobject,itshouldbepossibletoseethehis-
toryofchangesthatapplyjustwithinthatregionofthesharedobject.Mergedasynchro-
nouschangehistoriesarelikelytobelargeandcomplex,sothataviewofchangesthat
isoptional,local,andavailableonrequestmaybemoreusefulthanacomplexviewthat
attemptstoshowallchanges.
Givenexactknowledgeofeditingoperationsperformed,andtheabilitytoexaminejust
thosechangesintheexactregionwhereanactualorpotentialconflictoccurred,itiseasyto
offertheuseroptionstocorrectmergeproblems.Thiscanbedoneeitherbytheuseofcol-
laborativeundofacilitiestoremoveanunwantedchangefromthehistory,orsimplybyper-
formingneweditstoimprovetheresult.
29
1.9 Configurationandversionmanagement
Manyofthetypesofstatetrackingdiscussedaspartofthesectiononconcurrencyare
thelogicalvariationsoftheproblemofversionmanagement.Thisproblemhasbeenvery
thoroughlyexaminedinthecontextofsoftwaredevelopment.However,theproblemsofde-
velopingsoftwarearedifferentfromsomeformofcollaborativework,particularlythe
authoringofdocuments.Collaborativeeditingoftextshasanumberofspecializedproperties
thatdifferentiateitfromsoftwaredevelopment:
Theunstructurednatureofmostauthoringtasksmakesitunlikelythatauthorswillad-
heretocomplexandexplicitprocessmanagementprotocols.
Thesmallestunitoftexteditingiseitherthecharacterortheword.Thelineofcodeis
thetypicalunitforsoftware.
Thetimescaleofupdatesismuchmorevariableinauthoringthaninsoftwareengi-
neering.
Mergeandselectiveundoofchangesaremorelikelytobefrequentoperationsintext
editing.
Thewillingnessofauthorstolearncomplexversionmodelsthatenforcehighlystructured
updateprotocolsisprobablylessthanthatforsoftwareengineers.Collaborationinsoftware
engineeringistightlystructuredduetotheexigenciesofcreatingreliableprograms,espe-
ciallylargereliableprograms.Softwareengineeringsupportsystemssystemsmustaddressa
numberofdifficultproblemsofconsistencymanagementthatdonotexistforauthoring,
becauseofthelargenumberofpotentiallymachine-verifiablepropertiesprerequisitetothe
creationofworkingsoftware.Thisisnotbecauseinconsistenciesintextsdon’texist,but
becausethereisnohopeofautomaticallydetectingthem.Ontheotherhand,theproblems
ofchangetrackinginsoftwaresystemsareinsomewayseasier:formalmanagementofthe
process(inwaysthatareunlikelytobeadoptedforwritingtasks)reducesthenumberof
Previous Page Next Page