There was a very full discussion on APIs at d.construct. Simon Willison and Paul Hammond made a very good case for the internal consumtpion of APIs. They say that many new services are developed with much greater ease because the internal architecture is based around APIs which are published internally. This means that if someone wants to use avatars, for instance, they call the Yahoo! avatar API. If they need authentication, they call the Yahoo! authentication API. Smart stuff.
But the two then went on to talk about the general external consumption of APIs – mashups, as we’ve come to love to call them. There are several popular concerns about using mashups:
- they are not for commercial use [not so, say Willison and Hammond – many APIs are open for commercial use]
- they tie you in to one provider [not so, the early movers get to define the interface which others then follow. You can switch between Google maps and Yahoo! maps almost by just changing the name]
- you are vulnerable when the API changes [no more so that when Microsoft patches its commercial software. And the major providers do give notice because of the pressures of point 2 above – this is my view, not one expressed at the conference]
The other really interesting thing to come out of the conference was a lively discussion on microformats. Strikes me that by implemented RSS everywhere and microformats on data such as calendar events and people’s names, you could almost build a set of internal APIs which make rapid, flexible publishing a dream.