De techniek achter de Data Portability Workgroup

Ik legde eerder al uit wat de Data Portability Workgroup is, en dat Open Social absoluut geen Data Portability is. In dit artikel wil ik beschrijven hoe de Data Portability Workgroup dit voor elkaar wilt krijgen, met enkel bestaande technieken. Of zoals zij het zeggen “We need a DHCP for Identity. A distributed File System for data.”. Maar welke techniek wordt dan precies bedoeld? Door de voorgestelde technieken naast elkaar te leggen en uit te leggen wat elk onderdeel doet, wordt ook meteen duidelijk wat er straks allemaal mogelijk is. Zullen we beginnen?

Over OpenID heb ik al eerder geschreven en is een soort Open Source MS Passport. Je kunt met 1 gebruikersnaam en wachtwoord inloggen op meerdere websites. Bij OpenID kies jij als gebruiker een ‘Identity Provider’ die je vertrouwt. Dit kan je provider zijn (XS4All), je favoriete website (Hyves, of Google), de overheid (Finland biedt het al aan), of je kunt het zelf worden. Het gaat erom dat je een partij kiest waarvan je zeker bent dat het je gegevens vertrouwelijk zal behandelen, want door middel van de gekozen Identity Provider log je in op andere websites die OpenID ondersteunen. Dit betekend bijvoorbeeld dat je met je Hyves gebruikersnaam en wachtwoord kunt inloggen op eKudos.nl. eKudos.nl zal in dit voorbeeld dus je wachtwoord nooit te weten komen. Naast gebruiksgemak heeft OpenID dus ook een veiligheids aspect. In deze blogpost plaatste ik een video van 4:55 waarin het hele concept in beeld en geluid uitstekend wordt uitgelegd.

OAuth is een veilig authenticatiesysteem voor API’s. Als ik, bijvoorbeeld, onder de naam van @timanrebel een tweet op Twitter wil plaatsen zal ik moeten inloggen op Twitter. Maar hoe doe ik dit dan als ik de tweet wil plaatsen via Tweetburner? Helaas ondersteunt de API van Twitter nog geen OAuth, en zal ik Tweetburner mijn gebruikersnaam en wachtwoord van Twitter moeten toevertrouwen in de hoop dat ze deze enkel gebruiken om de tweet op Twitter te plaatsen. Maar net als bij OpenID vind ik het fijner om dit niet te doen, zeker omdat ik regelmatig nieuwe mashups probeer. Flickr ondersteunt wel OAuth en als ik mijn foto’s wil uploaden via een applicatie op mijn Mac, hoef ik daarvoor niet mijn gebruikersnaam en wachtwoord aan de applicatie te verschaffen. Ik word doorgestuurd naar Flickr en krijg de vraag of de applicatie (dat kan dus een desktopapplicatie zijn, maar ook een webapplicatie of een widget) toegang mag hebben tot mijn gegevens. Ik geef die toestemming en de verzoekende applicatie krijgt van Flickr een token (een unieke string) waarmee het Flickr een volgende keer kan vertellen dat het de applicatie is die ik toestemming heb gegeven. Voordeel? Op deze manier wordt je MSN/Hotmail niet meer ‘gehackt’ als je op een ‘leuke Russische site die je smilies belooft’ je gegevens achterlaat. Zelfs de vage Russische site zal je moeten doorsturen naar Microsoft om jezelf daar te authentificeren en zal nooit toegang hebben tot je gegevens en daar misbruik van kunnen maken.

RSS (Really Simple Syndication of RDF Site Summary) is waarschijnlijk voor de meeste van jullie wel bekend. In plaats van dat ik 20 keer per dag naar Tweakers.net, Marketingfacts, Techcrunch, Emerce of Dutchcowgirls ga, krijg ik in mijn RSS Reader (in mijn geval Google Reader) automatisch de nieuwe artikelen van deze websites binnen. Commoncraft maakte er in april 2007 al eens een video over; RSS in Plain English.

RSS is echter niet alleen te gebruiken voor nieuwsberichten, maar voor allerlei soorten data. Zo ontvang ik alle tweets van Twitter waarin mijn naam of bedrijfsnaam genoemd wordt via RSS en plaats ik mijn foto’s van Flickr via RSS door op mijn blog. Door deze brede adoptatie van RSS stelt de Data Portability Workgroup RSS voor als syndicatie techniek.

OPML (Outline Processor Markup Language) is een XML formaat voor outlines, maar wordt het meest gebruikt om een lijst van RSS feeds te ex- of importeren. Erg handig als je op een dag besluit niet langer Google Reader te gaan gebruiken maar Netvibes. Ik hoef dankzij OPML niet langer meer de 65 URL’s van mijn favoriete RSS-feeds handmatig stuk voor stuk te kopieren. Aangezien RSS door de Dataportability Workgroup aangewezen is als favoriete syndicatie techniek om verschillende soorten data te verspreiden, mag OPML niet ontbreken om de verzameling van deze feeds te kunnen delen met andere applicaties.

Microformats is een formaat om data te verspreiden, waar de mens op de eerste plaatst komt en de machine op de tweede. RSS is enigzins leesbaar voor ons, maar liever zien we dat Google Reader het voor ons vormgeeft. Een profiel op Hyves is goed leesbaar voor ons, maar een applicatie kan er niet eenvoudig data uithalen om te hergebruiken. Met Microformats kun je xHTML vormgeven volgens gedefinieerde standaarden, zodat ‘machines’ hier bijvoorbeeld contactgegevens, agendapunten of geografische locaties uit kunnen filteren, zonder dat er voor elke website een nieuw filter hoeft te worden geschreven. De hCard (HTML vCard) is een goed voorbeeld voor contactgegevens en wordt door onder andere Twitter ondersteunt. XFN is een ander veel gebruikt microformat voor het definieren van links op een pagina (bijvoorbeeld Blogrolls of Friends lists). Google Profile maakt hier onder andere gebruik van om deze links te verzamelen.

RDF (Resource Description Framework) is een formaat van het W3C, wat in eerste instantie enkel bedoeld was voor metadata. De uitleg over RDF die op de Wikipagina wordt besproken is in mijn ogen zo goed, dat ik hem enkel hoef te quoten:

Het model is gebaseerd op ideeën uit de grafentheorie, logica en taalkunde. Kenmerken van bronnen (resources) worden uitgedrukt in de vorm van een drieledige subject-predicaat-object structuur (in RDF-termen een triple). Het subject is in essentie de resource die beschreven wordt. Het predicaat is welk kenmerk of aspect van die bron beschreven wordt. Het object tenslotte is wat de waarde van dat kenmerk is.

En om het dan nog verder te concretiseren, een voorbeeld:

Timan is een persoon

Timan heeft als eigenschap dat hij een persoon is. RDF lijkt op dat gebied vrij veel op onze natuurlijk taal. RDF is, net als het Engels en Nederlands opgebouwd uit <subject><predicaat><object>.

Timan

Timan is het onderwerp.

is een

De eigenschap, of predicaat in mooie woorden, is in dit voorbeeld ‘het zijn’

persoon

De waarde van het predicaat, oftewel het object.

Waar deze indeling toe leidt is dan weer mooi grafisch weer te geven als:

En wat uitgebreider als:

RDF heeft de mogelijkheid om betekenis te geven aan (onderdelen van) webpagina’s en is daarom van essentieel belang voor het Semantische Web. Het Semantische Web is een doorontwikkeling van ons World Wide Web (WWW), waarbij applicaties net als mensen de informatie die het Symantische Web/WWW bevat kan interpreteren, verwerken en linken.

APML (Attention Profiling Mark-up Language) is een XML formaat om ‘Attention Profiles’ te kunnen ex- en importeren. Wat OPML is voor RSS feeds, is APML voor vormen van opgeslagen persoonlijke interesses. APML is dus niet enkel bedoeld om Behavioural Targeting data te verspreiden. Digg bijvoorbeeld geeft je de mogelijkheid om door middel van APML een overzicht te genereren van de categorien die je in de afgelopen 30 dagen het meest hebt ge-Digg-t. Deze gegevens kun je vervolgens weer gebruiken om, eventueel op andere sites, recommendations te ontvangen van onderwerpen die jouw hoogstwaarschijnlijk zullen interesseren. Interessanter wordt het als een dienst als Tastebroker.org de gegevens van verschillende websites gaat combineren, in dit geval Last.fm, Pandora en BBC Radio Shows, om hier een gecombineerd muziekadvies uit te genereren.

XMPP (Extensible Messaging and Presence Protocol) is een protocol gebaseerd op XML om realtime instant messaging en vriendenlijsten te faciliteren. Jabber, en dus ook Google Talk of Hyves’ Kwekker, maakt hier gebruik van. XMPP wordt echter steeds vaker gebruikt om berichten tussen verschillende applicaties uit te wisselen. Google en Technorati gebruiken bijvoordeeld XMPP om alle berichten van Twitter te indexeren. Door de enorme hoeveelheid updates is het niet langer haalbaar om RSS-feeds uit te lezen en worden de berichten door Twitter verstuurd naar Google en Technorati. XMPP is dan ook een ‘push’ protocol, terwijl RSS een ‘pull’ protocol is. Simpel gezegd; ik vraag via RSS de laatste artikelen op van Marketingfacts, maar krijg van Twitter via XMPP de berichten van Marco Derksen toegestuurd.

Samengevat

Samengevat hebben we nu technieken voor authenticatie, het verspreiden en synchroniseren van gegevens (op zowel push als pull manier), verspreiden van gedragspatronen en mogelijkheden voor software om het web beter te begrijpen en aan elkaar te linken. Dit alles maakt een “free, open, remixable web” mogelijk, waarbij wij als gebruikers de baas zijn over onze gegevens en privacy. Je identity, contacten en media “are free to follow you, wherever you go”.

Join the conversation

DataPortability – Join The Conversation from Smashcut on Vimeo.

Leave a comment