Nov 052007

Although Google’s recently announced OpenSocial APIs are described as presenting a unified API for developers to tap into a variety of disparate social networks, the truth is the only unification is that the different vendors use a similar set of function verbs and response schemas.

OpenSocial is a pattern that a social network vendor can follow to expose their social network services to web app developers. OpenSocial does not actually unify services across multiple vendors. OpenSocial does not resolve differences between vendors, particularly login identity.

In the OpenSocial model, each vendor is still its own island in the sea, requiring users to create new userid/password pairs, and requiring developers to obtain the user’s login credentials for each vendor network they wish to use. If you’re a web app dev and want to tap into your user’s stuff on 6 different social networks, you’ll need to prompt your user to enter login credentials for each of those 6 vendors.
The only point of unification / convenience is for developers, in that developers may see familiar or at least similar APIs provided by different vendors supporting OpenSocial.

Since it is only a pattern, OpenSocial does not provide any guarantee of semantics across vendors. The pattern is certainly helpful as a common grammar between tribes, but having two or twenty vendors implementing the OpenSocial API pattern does not mean that you’ll be able to write one OpenSocial client and expect it to work flawlessly with all vendors. The semantics and response schemas may vary. Caveat emptor.

This is sort of like the difference between the SQL standard and using it with any particular database vendor. Most relational database engines support standard SQL queries (as well as non-standard extensions), but the steps and tools you need to use to connect to that database engine to issue SQL queries, and what data types are supported, varies with each database vendor. SQL has been very successful, but the database landscape is still a very walled garden.

Also check out Dare Obasanjo’s analysis of the OpenSocial APIs.