Home Death to API's, Long live standards

Death to API's, Long live standards

There are too many API's in the world and the problem is getting worse not better.  Before the web the number of people creating programing interfaces was relatively small.  Most software applications didn't have plug-ins and most applications were self-contained. 

Now every web site that's developing software has their own API to allow developers to code to their website. Let's take a simple example of 10 more popular sites for photos: Flickr, Facebook, Picassa, SmugMug, Kodak, Snapfish, Shutterfly, Photobucket, MobileMe and Phanfare.  Each one has it's own API and each one has it's own authentication layer, it's own way to send, enumerate and thumbnail files. It's stupid and broken.

It's broken because anyone who wants to support multiple partners needs to code at least 10 different tools to support each one.  This is perhaps great for Flickr since they are high on the list but generally bad for everyone else.

Consider instead how standards work. What if each one of these sites supported a simple standard such as FTP.  In a manner of minutes you could add support for 10-20 or even 100 different photo sites.  Sure FTP's not perfect, nor is it optimized for photos but standards rule and we as a web-community need push, evangelize and encourage sites to move back to standards and away from API's. 

Myabe I'm being extreme. After all, API's are a good way for two systems to talk to one another.  Especially when those systems are proprietary.  Oh and what if the existing standards are poorly written or poorly designed?  Sure API's have thier place but it shouldn't be the tool of choice. 

If you're a developer trying to connect to a popular site it may not matter. You code with what you have. If there's an API you use it, if there is a standard you use that. If that fails perhaps a little reverse engineering.  

But if you're in that same developer on the other side of the fence trying to decide how others may interact with your service ask yourself if it wouldn't be better to use conform to a standard rather then write a whole new API? If a standard doesn't exist take the extra effort to build a community and evangalize one.

This post is licensed under CC BY 4.0 by the author.