A decent API can be a wonderful thing, allowing a host of innovative products to build up around a core service, and as such add value to the core service. Everyone’s a winner! If you want an example you need look no further than Twitter. Would Twitter really have taken off to the extent it did without numerous developers building around it? Probably not.
Unfortunately whilst some organizations pay lip-service to the idea of anAPI, their controlling culture means they stop the innovation they are meant to encourage. The latest (and by no means the first) API to annoy me is from Transport for London:
My initial joy at an official API soon turned to annoyance. Rather than allowing me to play with the data and seeing what I can do with it, I am expected to fill in a form beforehand explaining who I am and what I want to do! There is nothing wrong with asking me to sign up and with an email address, but should my phone number be mandatory?
And what if I don’t have an IP address? What if I want to create an application for my mobile, that will sit on my mobile and have a different IP address every time I use it?And even if I did know what I was planning to do with the data, the idea that I would have any idea what the audience would be is just stupid.When creating an API don’t try and gather all the information you can, just gather the information you absolutely need. And if you need too much, improve your API so you don’t have to ask for so much! Every form and field that you insist on including in the sign-up will dissuade numerous developers from innovating around your services. Everyone loses.
Was this API worth the months of waiting? No. #barclayscyclefail