When a site designs an API, what they usually do is take their internal data model and expose every nook and cranny in it in great detail. Obviously, this fits their view of the world, or they wouldn’t have built it that way, so they want to share this with everyone. In one way this is like the form-fitting lycra that weekend cyclists are so enamoured of, but working with such APIs is like being abespoke tailor – you have to measure them carefully, and cut your code exactly right to fit in with their shapes, and the effort is the same for every site you have to deal with (you get more skilled at it over time, but it is a craft nonetheless).
Conversely, when a site adopts a standard format for expressing their data, or how to interact with it, you can put your code together once, try it out on some conformance tests, and be sure it will work across a wide range of different sites – it’s like designing a t-shirt forthreadless instead.
Putting together such standards, like HTML5, OpenID, OAuth or OpenSocial or, for Dave’s example of reviews,hReview, takesmore thought and reflection than just replicating your own internal data structures, but the payoff is that implementations can interoperate without knowing of each others’ existence, let alone having to have a business relationship.
Related articles by Zemanta
- Google Calendar Adds Labs and Opens Up An API (techcrunch.com)
- The Assembled Web (slideshare.net)
- OpenID for Google Apps is Here, But Not Everybody’s Happy (readwriteweb.com)