Dette er noe som har forundret meg lenge. Vi har i dag http/html som håndterer lenking av informasjon, noe som i og for seg er fint, men det er akk så begrensende. Linking er i bunn og grunn informasjonsaggregering, men den går kun èn vei.
photo credit: vxla
Vel, at det hele er unidireksjonelt er ikke helt sant – man kan benytte seg av linkbacks, men dette er meg bekjent en one-off ting, som ikke videreføres med beskjed om at lenkingen er terminert, eller at det originale innholdet det pekes til er endret.
Et annet problem med lenkene er at de sender deg ut av konteksten du er i for å innhente informasjonen det pekes til. I mange tilfeller er dette, vel – suboptimalt.
Ønsket mitt er som følger: Jeg ønsker å kunne inkludere deler av informasjon innhentet annenstedsfra direkte i innholdet jeg lager, slik at informasjonen kan leses direkte i kontekst av det innholdet som presenteres. Dette kan selvsagt løses ved å sitere den delen av innholdet som er av interesse, men i dèt øyeblikket man har gjort dette løper man risikoen av divergens mellom innholdet som er sitert, og den faktiske informasjonen som er tilgjengelig. I en verden hvor informasjon er plastisk er det ofte ønskelig at informasjonen som hentes inn skal kunne holdes løpende oppdatert.
La meg gi et eksempel: I en protokoll/brukerhåndbok har man beskrevet forskjellige handlinger en bruker kan utføre. Blandt disse finnes det en del atomiske handlinger (la oss som eksempel bruke: “Logg på systemet”) og sammensatte handlinger som eksisterer som sett av atomiske handlinger og supersett av disse settene igjen. La oss nå si at man har beskrevet fire forskjellige handlinger i dokumentasjonen som inkluderer handlingen “Logg på systemet”. La oss videre si at det i levetiden til systemet blir gjort endringer i det atomiske handlingen “Logg på systemet”. Hvis man har sitert/kopiert den originale beskrivelsen i de andre handlingene må man nå oppdatere samtlige av disse for at protokollen fremdeles skal gi et bilde av hvordan systemet fungerer. Dette blir fort et lite vedlikeholdsmareritt, for det er ikke en gang selvsagt hvor informasjonen har blitt kopiert til.
Lenker i dette tilfellet vil selvsagt ikke ha samme problem, men i dette tilfellet har vi problemet med kontekstendring (brukeren må følge lenken ut av protokollen og utføre det som er beskrevet i “Logg på systemet” og deretter returnere til den opprinnelige konteksten brukeren forlot).
En mulig løsning på dette problemet ville vært å utvide lenkebegrepet til å fungere som et “vindu” inn til den informasjonen man ønsker å formidle. Altså: i de fire handlingene som inkluderer “Logg på systemet” ville informasjonen bli hentet dynamisk fra den opprinnelige beskrivelsen av handlingen, og dermed ville det kun være nødvendig å endre informasjonen èn plass i systemet.
Dette er dòg ikke nok – det er også interessant for den som endrer informasjon å vite hvor det blir referert til informasjonen som er under endring – om enn ikke av andre grunner enn for å sjekke at informasjonen fremdeles er relevant i de andre kontekstene.
Det er selvsagt en del problemer som må løses innenfor et slikt system:
- Man må kunne identifisere spesifikke deler av informasjon for at referansene skal kunne håndteres. Dette burde kunne håndteres vha. strukturell metadata
- Det burde være mulig å endre referansene (monkeypatching). Dette burde være mulig ved å patche direkte ved henting av referansen (hvilket også ville gjøre det mulig for brukeren å se hvilke endringer som er gjort fra originalmaterialet)
- Linkråte. Kanskje dette problemet kunne minimaliseres ved å kjøre backenden for informasjonsdelingen over et distribuert versjonskontrollsystem (git?) hvor man beholder en lokal kopi av det refererte materialet og kan (velge) å oppdatere ved endringer i det originale materialet.
Kjenner noen av dere til systemer som kan håndtere dette allerede (m.a.o. – er dat bare jeg som har falt av teknologivogna)?