7
Inadditiontotheinherentresearchinterestthatsynchronouscomputer-supportedwork
has(asthemost“revolutionary”waytoapplytechnologytotheproblem),theprevalenceof
toolkitsforsynchronousworkreflectsthetechnicaldifficultyofsupportingreal-timeinter-
action(andtheconsequentattractivenessoftheproblemtoresearchers).Themostpopular
modelforsynchronousinteraction(theWYSIWISor“WhatYouSeeisWhatISee”paradigm)
makesheavyperformanceandconsistencydemands.EventoolkitslikeSuite,whichallow
lesstightlycoupledinteractionstyles,aredominatedbythemechanismsneededtosupport
synchronous,consistentinteraction.Thattheperformanceimplicationsoftheseapproaches
aresodifferentisoneobvioustechnicalreasonthatthissplitbetweensystemshaspersisted
forsolong.Morefundamentally,computerimplementationssupportingasynchronouswork
differradicallyfromimplementationssupportingsynchronouswork,because,inorderto
guaranteeconsistency,asynchronoussystemsmustgenerallyaccommodatethepossibilityof
inconsistenciesarisingduringoff-linework,orimposeaworkstyleinvolvingtheexplicit
managementofaccessvialockingorrollback.Whilelockingandrollbackcanstillcreate
anomaliesintheuserinterfaceofsynchronousapplications(GreenbergandMarwood1994),
thesemechanismshavebeenappliedinthedesignofsynchronousapplicationsinorderto
guaranteeconsistency,andreducetheimpactofinconsistency.
However,recentresearchhasclarifiedwhatmightseemtobeanobviouspointaboutthe
usefulnessofdividingworkintoseparateclassesofsynchronousandasynchronous(Dourish
1995;Dourish1996).Whilecurrentapplicationsareoftenorientedtooneortheotherof
thesemodesofwork,projectsthemselvesarenotsplitthiswayinactualworksituations.
Mostcollaborationinvolvesartifactsthatmaybeworkedonsynchronouslyandasynchro-
nously,eachatdifferenttimes,aspartofdifferentphasesofcollaboration.Further,since
authoringworkstylesareoftenopportunistic(BeckandBellotti1993),explicitaccesscon-
trolmayblockusefulactivitywhetherthiscontroltakestheformofapredefinedworkflow,
orisaconsequenceofautomaticsystemsynchronizationpolicies.TheProsperotoolkit
8
(Dourish1996)givesapplicationauthorsaccesstoarangeofinteractionstylesfromfully
synchronoustofullyasynchronoususingacommontoolkit.Inordertosupportmovement
fromsynchronoustoasynchronouswork,Prosperoallowsconsistencyfailurestooccurand
helpstheapplicationtohandlethem.InProspero,applicationsareimplementedbyadding
codetoaclassframework,andsuchfailuresarehandledbyoverridingupdatemethodsin
theclassesprovided(whichincludeasharabletextbuffer).Thisabstractionpaysoffbyal-
lowingtheimplementationofgeneralizedundo,versionmanagement,versionmerge,and
thepersistentaddressingofdataelements.Prospero’sapproachisverypromising,sinceit
actuallydoesintegrateeditorialworkcleanlyalongtheaxisfromsynchronoustoasynchro-
nouswork.
ThelimitationsofProsperoasageneraltheoreticalmodelstemfromitsfundamentally
operationalnature.Consistencyisactivelycheckedbycodethatcanthentakeanexplicit
actiontoresolvetheconflict.Editingchangesandupdateoperationsthemselvesarerepre-
senteddirectlybycodethatimplementstheirapplication,andanyconflictresolutionpolicy.
Prosperoabstractscommonsharededitingapplicationbehaviorsandprovidesatoolkitof
convenientabstractions,butdoesnotprovideanabstractsemanticsofoperationsandopera-
tionresolution.ThefactthatProspero’soperationalsemanticsarebasedontraditionalcon-
sistencytechniquessuchaslockingalsomakesforsomeproblems,sincetheyoffermuchless
powerinexchangefortheircost,especiallyoncethestrongguaranteesoftraditionallocking
aresoftenedtodeclarationsofprobablebehavior.Thelackofasingleunderlying
concurrencymodelmeansthatreasoningaboutthesemanticsofaProsperoapplicationfun-
damentallyinvolvesreasoningaboutageneralprogram,andnotamorerestricted(declara-
tive)description.
ThePrepeditor(Neuwirth,Kauferetal.1990;Neuwirth,Kauferetal.1994)wasdevel-
opedatCMUasaresearchvehicleforexaminingcollaborativewritingsupporttools.Inaddi-
tiontosystemdevelopment,thePrepgrouphasdoneempiricalresearchontheprocesses
Previous Page Next Page