142
2. Minimalinteractiontime.Asinthecaseofemail,thereisfrequentlyaminimalpe-
riodoftimethatshouldelapsebetweenactivitiesonachannel.Foraninteractive
socketconnectionthisperiodoftimemightbeinstantaneous,whileforanemail
connection,itmightbeadayorlonger.
3. Autonomy.Someconnectionsspontaneouslyproducenewevents,whileotherspro-
ducethemonrequest.Autonomousconnectionshavetheirowntimetableforpro-
ducingevents.Forexample,mostlaptopsonlyhavenetworkconnectionsavailable
whentheuserhaschosentotakeaction.
4. Persistence.Someconnectionsguaranteethatinformationsentonthemwillpersist.
Thisistrueforaconnectionthatcreatesafilecontainingtheinformationsenttoit
andisoftentrue(orsupposedtobe)forremoteservermachines.
5. Interrupting.Someconnectionsproducechangesontheirown,andothersneedto
bepolled.Interruptingconnectionsproduceeventsontheirown.
6. Timed.Someconnectionsperiodicallyproducenewchanges,ortransmitchanges
thathavebeenacceptedbutnottransmitted.Timedconnectionstakeactionontheir
ownatspecificintervals.
7. Pullable.SomeconnectionstakerequestsforparticularchangeIDswhichtheywill
attempttoproduceatalatertime.Pullableconnections,whenavailable,allowcon-
flictresolutionpoliciestoautomaticallyrequestmissingchanges.
Thissetofpropertiesisexemplary,notexhaustive.Onlyafewoftheseproperties,pul-
labilityanddirectionality,affecttheinterfaceofaconnectionintermsofitavailableopera-
tions,asopposedtoitsbehavior.Theothersonlyaffectthewaythatconnectionwillinter-
actwithagivenpolicy.Considerthepushydistributionpolicydescribedintheprevious
section.Appliedtoadirectnetworkconnectionitwouldprovideservicesappropriatetoan
interactiveeditingapplication.Thesamepolicycommunicatingwith3collaboratorsover
emailchannelswith1-daytransmissiontimerswouldmaintainroughsynchronizationbe-
143
tweenlooselycollaboratingindividuals.Thearchitectureproposedhereallowsthepatternof
communicationtobeabstractedawayandmanagedseparatelyfrommanydetailsofcommu-
nicationmediumandprotocol.
7.2 Theapplicationinterface
ThemostbasicinterfacebetweenanapplicationandaPalimpsestdatastorewouldbethe
setofmethodspresentedinFigure7.2.Thatinterfacenotonlyprovidesalotofdetail,butit
assumesthattheapplicationisbuildingitsdisplaysdirectlyfromthePalimpsestdatastruc-
tures.Whilethatisavalidoption,inmanysituationsitisnotthemostconvenientoption.
Norisitnecessarilythemostefficientoption.Thereasonisthatmostuserinterfacetoolkits
alreadyhavehighlydevelopedinteractivetext-editingmodules.Thesemodulesarenotal-
waysthemostfull-featuredinteractiveeditorsavailableonaplatform;generallyspecialized
toolslikeprogrammingeditorsandwordprocessingpackagesoccupythisniche.Theiruse
usuallyprovidesasignificantsavingsinapplicationdevelopmenttime(becauseevenbad
text-editorstakealotofworktowrite),andtheyoftenincludespecializedperformancefea-
turesthatmaybehardtoduplicate.
Finally,itisoftendesirabletointegratecollaborationfeaturesintoexistingprograms
thatalreadyhaveeditinginterfacesclearlydefined.Thecaseforextendingexistingapplica-
tionsratherthanbuildingnewoneshasbeenstronglyadvocatedintheOpenHypermedia
systemscommunity(Nürnberg,Leggettetal.1998;GrønbækandTrigg1999(forthcoming)).
Therelatednotionofcollaborationtransparency(LauwersandLantz1990)alsohasalong
history.Thearchitecturepresentedhereisnottryingtosolvetheproblemofproviding
usefulcollaborationusingunmodifiedapplications.Indeed,collaborationsupportthatallows
fordivergenceandprovidesmethodstorepairdivergentstatesisprobablyincompatiblewith
theuseofunmodifiedapplicationsthatarenotalsopowerfulprogrammingenvironments
(liketheEmacseditor).
Previous Page Next Page