An Application Programming Interface (API) is essentially a machine-readable version of an application, and more specifically, the data in contains. bkkeepr is first and foremost an application that does stuff with data, and bkkeepr.com is the human-readable version of that application. What an API does is allow third parties to build small applications, widgets and so on that utilise that data in new and different ways. (This is another post, but I pretty much believe that everything should have an API. And not just everything on the web. E.G.)
bkkeepr is itself built on Twitter‘s API, and uses data from a wide variety of other web services, including LibraryThing, Google, Amazon and others, via their APIs. So opening up bkkeepr’s data in turn is something I’ve intended to do from the beginning.
The bkkeepr API is very basic at the moment, allowing you to do two things: get all of a particular reader’s reading data, and get all the reading data about a particular book. There’s more information about it here.
The most important function of the API, to my mind, is that it gives users control over their own data. It’s not locked up in a database over which they have no control, and they can pull it out and store it elsewhere any time they like. I’ll say that again: it’s their data, not mine, and they should have control.
It also gives people the opportunity to build cool things. Here are some examples, some dull, some fun, that I’ve been thinking about:
- bkkeepr ‘bestsellers’ – hot books, favourite books, the most read. Charts, and suchlike.
- Find a friend – who’s reading similar things? I like this particularly as it would allow you to branch back to Twitter – or any other service – and find new people with similar interests there.
- Better widgets (because frankly, the current bkkeepr badge is pretty basic).
- Reading speed – silly, because I don’t think the speed at which you read means anything, as long as you read at all, but, like Dopplr’s personal velocity, it’s a neat data toy, and could be implemented fairly easily with book page numbers from Amazon’s Associates API.
- Pretty stuff with covers and calendars (in the spirit of the awesome LastGraph).
- I’d love to see booksites implement a ‘who’s reading this now?’ widget, but realistically I think bkkeepr needs a few more users to see that happen…
There are a tonne of possibilities, and I’d love to see people do interesting stuff. bkkeepr currently has just over 500 users – not many, but I’m hoping adding features like the API and its results will draw more in. To those who say that an API is just a way to outsource the development of an application to those with more time on their hands, I say: yes. Yes, it is. Have fun.