If you’re hooked into the social networking world, you know about Facebook and the Facebook platform, which lets developers create all sorts of applications that make use of your Facebook social network in interesting ways. Flixster, for example, lets you share and compare your movie tastes with your existing Facebook friends. No need to reconnect to your friends in every web-based application.
But there is one problem: if you write a Facebook application, you’re pretty much stuck with Facebook. Facebook never lets the application see the user’s email address or Instant Messenger account name, or any other fields that would allow the application to contact the user independently. So, unless you convince users to reenter their email addresses, you’re stuck.
Yesterday, Google launched OpenSocial, a generic API for building Facebook-like applications, but this time on top of a dozen competing social networks now all supporting the same programmatic interface. It’s very cool that you can build an app once and run it on any social network, but what’s far more interesting to me is social network portability, the idea that I, as a user, can theoretically pack up my social network and go to a different site altogether, if I so choose. And that as a developer, I can contact users and their friends directly, if users so choose.
I’m not sure yet if OpenSocial will truly allow this, but it looks like it will: the People API has gd:email and gd:im fields which are exactly the key to social network portability: global unique identifiers for your friends that can be used for messaging.
And so OpenSocial will win. Because open is better: more competition and the reduction of artificial user lock-in results in better products. Google has done a very good thing.
One interesting wrinkle: I wonder how the social network operators feel right now. Participating in OpenSocial is inevitable at this point, unless you plan on giving up the significant value that's about to be created by hordes of developers. But then, how do you compete, as the underlying social network? How do you prevent from bleeding all of your users to a newer, hipper network when users can pack up their friends and applications at the click of a button?
Maybe one way a social network can compete is on privacy: provide very good privacy controls, allow users to present different faces to different sets of friends, and generally make it really worth their while to host their social network with you. Social networks are not going to be judged on their applications anymore, but purely on how well they manage the actual social network data. So maybe, just maybe, privacy will become a competitive advantage.
UPDATE: a little birdie tells me that OpenSocial, in its current form, offers no more data portability than Facebook. That's unfortunate, but it's not entirely surprising because of the argument above: social network platforms don't care to be commoditized. So, if there's no data portability, but there is application portability, it's still hard to move from one network to another, and there's less incentive, since you can use any application on your network. This could completely reverse my point: OpenSocial might cause *more* lock-in, not less, and then there's no hope for privacy improvements anytime soon.