Wednesday, 28 March 2012

Why API's suck, and what they lack

The Social Media Movement is slowly moving towards monetisation. Social Business, yes even Social Enterprise, is nigh.
Infographics bite the dust in an ever-increasing frenzy to prove that social is here to stay, to rule, to conquer the world!
And as yet another evidence of that, API's are brought forward - by the hundreds, no the thousands - to prove that the Brave New Open World has finally (yeah, really finally this time, right?) come

Well, I don't think so. API's suck - big time

First of all, API's aren't open. The fact that you can read about an API and use it, by making a request to it and getting data in return, is not a god-like miracle: it's so self-evident that it's boring. If you call an API open because it does allow you to do that, you might as well call a radio open, or a TV: change the channel, and - oh no!, it's a miracle - you get a different set of data on the spot.
API's are closed: the companies that offer them, decide what's in them, when it's in them, where it's in them, and how it's in them: and you just have to put up with that

Second of all, API's are for free, mostly, and no uptime is guaranteed. Whenever an API breaks down, it's tough luck. Does it stop supporting a method, or suddenly change the return value, its order, or dataype, without telling you? Normal behaviour.
API's are "a gift from God", if you like: they come and go without much, if any, notice. Builds a business around a free API? You better think twice before billing your customers - what if the API stops, changes, backfires, dies?
I'm a registered Twitter API developer, but I never get an email or something when it changes. That sucks

Third, API's are badly documented, if any. The Twitter API? I consider that wholly undocumented, sorry. Yes you get a small description per function, and if you drill deeper, also a description of some parameters to use when you call the function, but none of the return ones get described, let alone mentioned.
Their format? Unknown, have to find out for yourself.
Their occurrence? Lawd knows.
When can you count on a value to be there, i.e. when is it mandatory, and when is it conditional or just optional? You tell me - Twitter doesn't

Is this just an unfortunate example? No, Twitter is actually fairly well documented. Compared to Facebook and e.g. their open graph protocol, they're amateur-ish, but compared to all the others, they're swell.
I went to Programmable Web, a site that tracks down so-called Open API's, lists them on their website and does a short summary of them with links. Handy

I tried a few: most of these are just bait-sites, where you find a small promise and a big button for Pricing Details or Contact Our Sales. Some are in Russian, Chinese - how useful is that? Open? I just picked a few, please judge for yourself how very usefull, intuitive, clear, concise, helpful... - ah forget it:

So, out of these randomly 10 API's, I count one fair, one good, and one impressed API, all judging by my own standards of course (wrote my first program 30 years ago, if that helps as a reference) - and 8 utterly useless ones.
Is that a result to be proud of, or happy with? No. Good grounds to cheer about social business now finally taking off because of the multitude of splendidly well-documented API's with 100% guaranteed up-time?
LOL - I'll admit that I'm slightly exaggerating here, but honestly, this is all crap. Sure, you can fool and fumble around a bit, and slap one service onto another after you've tried and tested a lot, but these are not API's - or maybe, these ARE API's: clumsly little slap-togethers that are highly undocumented and can only be accessed and asserted by techies

Social Business? Still remains a techfest for the full 100% it seems - if you rely on API

0 reacties:

Post a Comment

Thank you for sharing your thoughts! Copy your comment before signing in...