As many have anticipated, Google has announced its OpenSocial platform, a set of APIs that allow developers to target multiple social software platforms.
As you might imagine, there's already a lot of good coverage of this on the web, and I'm going to just provide some highlights here:
OpenSocial is a set of three common APIs, defined by Google with input from partners, that allow developers to access core functions and information at social networks:
- Profile Information (user data)
- Friends Information (social graph)
- Activities (things that happen, News Feed type stuff)
Hosts agree to accept the API calls and return appropriate data. Google won’t try to provide universal API coverage for special use cases, instead focusing on the most common uses. Specialized functions/data can be accessed from the hosts directly via their own APIs.
Applications can have full functionality on profile and/or canvas pages, subject to the specific rules of each host. Facebook, by contrast, limits most functionality to the canvas page, allowing a widget on the profile page with limited features.
OpenSocial is silent when it comes to specific rules and policies of the hosts, like whether or not advertising is accepted or whether any developer can get in without applying first (the Facebook approach). Hosts set and enforce their own policies. The APIs are created with maximum flexibility.
OpenSocial attacks Facebook where it is the weakest (and the strongest): its quintessential closed nature. Several Facebook developers have groused that a special Facebook-only mark-up language makes the task of writing Facebook apps tougher. (Recommended reading: Anil Dash on the historical limitations of proprietary development platforms.)
Open Social is very practical. Many standards die an early death because they are too complicated and hard to implement. Open Social is what you want in a standard -- it's expansive enough to do useful things, but limited enough to be very easy to implement, both for containers and for apps.
At this Thursday's launch event, you will see Open Social already running in a variety of containers, including Ning, Orkut, Hi5, and LinkedIn, and across a variety of apps, including iLike, Flixster, and Slide. I'm talking about working code. At Ning, it took us only a few days for us to add support for Open Social as a container -- because we already had all the necessarily underlying APIs and mostly just had to map to them -- and the app developers in the launch created Open Social versions of their apps even more quickly. We also have live running examples, such as iLike, of the same app running in multiple containers -- Ning, Orkut, and Hi5 -- proving the interoperability that the Open Social specification promises.
Now, all that said, Open Social is not quite ready to go live on Ning and the other partners. The API has to stabilize a bit, and containers have to finish testing and validating their implementations. But public production systems aren't far off -- Ning, for one, will go live as soon as we possibly can, probably just as soon as Google finalizes the API.
So far, the platforms/companies that are participating in OpenSocial are
- Orkut (no surprise)
- Oracle (the company that I work for)
I suspect there will be more soon. OpenSocial may not be perfect (or even perfectly open), but it definitely is a major step forward. This bears watching.