The media is ga-ga right now about Google’s OpenSocial story but most accounts are missing the key question here, which is about identity rather than APIs. An honourable exception is David Berlind – one of my top 10 tech journalists – who posed an interesting question at a press briefing but received an incomplete answer (a common experience). He asked how identities are mapped between containers.
I’ll explain. OpenSocial is an API for writing social widgets – JavaScript applets which hook into your relationships as expressed by people you’ve added as “friends”. Mark Andreessen has a great overview of the API, which is based on the concept of containers and apps. A container is a site such as MySpace or Orkut, which is where you’ve defined a set of relationships. An app is a widget or other JavaScript application that calls the OpenSocial APIs. The OpenSocial docs, which have just gone live, define a JavaScript API for widgets, and data APIs for People, Activities and Persistence, where Persistence covers retrieving and updating key/value pairs. All the data APIs use the GData protocol.
The big deal about OpenSocial is that many containers will support the same API, making it easier for developers to write apps. For example, music discovery site iLike, already big on FaceBook, can write one app that will more or less work in both MySpace and Orkut. And some new container site can start up, and by supporting the OpenSocial APIs be immediately attractive to developers with existing OpenSocial apps.
That’s definitely an advantage, but who are my friends? My Facebook friends? MySpace friends? Orkut friends? LinkedIn friends? If the social app concept is as big as people think it is (count me as a little sceptical), then the existence of multiple incompatible friend networks will soon become intolerable. Further, if I sign into a new container site, the big barrier to entry is that I have to recreate a friends network on this new site. Some sites workaround this problem in the crudest possible way. You have to give the new container site your username and password for some other container, and it pretends to be you and sucks out your existing contacts.
There is no simple answer to this. Even if you could do it, many people would be reluctant to merge multiple existing networks, because they represent different roles which they want to keep distinct. Social and business are the obvious ones, but that’s just the start.
There are several implications. First, the impact of OpenSocial on Facebook is probably less than some are implying. Facebook’s advantage is its bank of existing accounts and relationships. MySpace has lots of these too; but the arrival of OpenSocial has not changed that fact.
Second, the OpenSocial API is not such a big story yet. The big story will be when common identity gets added to OpenSocial. Right now, we have several containers vying to the one true identity provider for the internet, and a brave but so far unsuccessful effort by OpenID to free us from that alarming prospect. OpenSocial could evolve some federated way to unite identities. Or Google could try to make its Google Account system the center of our digital lives.
The identity wars matter more than the API wars.
Update
Others are also asking about this. Here’s a couple:
Dennis Howlett on a first Enterprise take
Bob Warfield who talks about a meta-social network
I’ll add more info as I find it, or by all means comment.
Hi Tim, good point about the desirability, and sustainability, of mapping identities between various kinds of networks, thanks.
I’ve been wondering whether this is like some kind of sharecropping scheme, where Google bribes developers with an easy API to current network data, with the harvest being richer access to consumer data for Google. If so, it could be bigger than PROMIS or CARNIVORE. Have you found any info to disprove such a potential?
tx, jd