DataPortability, Microsoft's Contacts API and OpenSocial.org
(No, the picture I created on the right ISN'T the new DataPortability logo; I totally missed out on the closing date, but it will serve as an image for this blog post. There have been some very cool submissions for the competition however.)
There were two interesting announcements yesterday in the portability space. The first was from Microsoft, announcing that they would be "working with Facebook, Bebo, Hi5, Tagged and LinkedIn to exchange functionally-similar Contacts APIs, allowing us to create a safe, secure two-way street for users to move their relationships between our respective services" (Contacts APIs provide contact data portability). The second was from Google, Yahoo! and MySpace, jointly announcing that an OpenSocial Foundation is to be formed as a non-profit entity (OpenSocial provides social application portability). Unfortunately, there is still some confusion regarding exactly what data portability functionality OpenSocial will offer (if any), and at the moment the consensus seems to be that DataPortability and OpenSocial aren't as related as previously thought.
DataPortability (including Microsoft's move in this area) is mainly about users being able to have portable data (profiles, identities, content like photos, videos, discussion posts) that they can move between the services and sites that they trust and choose to use. (See Uno de Waal's interesting post on how the Microsoft Invite2Messenger service allows you to get your Facebook friends' e-mail addresses in plain text.)
OpenSocial on the other hand is more about "gadget" portability, where social applications can be deployed across a variety of social networking sites. As summarised by Julian Bond, OpenSocial consists of a gadget API (for gadget programmers) and a standard for site owners to implement these gadgets on their own sites. The part of OpenSocial related to DataPortability is a REST API, details of which are a bit vague right now. Not to be confused with OpenSocial (although the similar names make this difficult), the Social Graph API from Google is more related to DataPortability as it indexes semantic data from many social networking sites like Hi5, MySpace, LiveJournal, Twitter, etc. and allows users to bring their social graph with them when they sign up for a new site that supports the API.
Apart from the lack of intersection between Microsoft (plus affiliate Facebook) and Google, a good few companies are in multiple "camps" (DataPortability, Contacts APIs, OpenSocial), as shown by the Venn diagram I drew below:
Marc Canter and others have pointed out that although the Contact APIs from Microsoft are not open in themselves, at least the APIs seem to export as much data as they can import. Marc also says that Microsoft (and other big companies) may not be explicitly following the actions (e.g. the technical recommendations) of the DataPortability initiative, but rather claims that it would hurt them if they didn't open up and go along with some portable data efforts given the current climate and the tide of users in favour of this.
For users to have true data portability, there needs to be some consensus on both the APIs and the formats needed to transfer / represent this portable data. It may be that a number of APIs and formats are required for different scenarios. The Semantic Web is an ideal means for representing the data to be ported from social websites, in that is well suited (using vocabularies like SIOC and FOAF) to represent how people and all kinds of objects on these sites are connected together (documents, discussions, meetups, places, interests, media files - whatever). Of course other data formats may be used, but most importantly, it would be a waste of time to come up with a bunch of new formats for representing the data that needs to be portable, because a lot of work has been done on how to best provide interoperable, reusable and linked data through efforts like the Semantic Web, AtomPub and the microformats community.
I'll be attending the DataPortability Lunch Meetup in London on the 6th April 2008 if anyone there feels like a chat about some of these topics...