Explaining To Normals Why Every API Is Different
I enjoy having conversations with "normals" about APIs, especially when they approach me after doing a great deal of research, and are pretty knowledgeable about the landscape, even if they may lack deeper awareness around the technical details. These conversations are important to me because it is these folks that will make the biggest impact with APIs--it won't be the entrepreneurs, developers, architects, and us true believers.
While having one of these conversations yesterday, the topic of API design came up, and we were talking about the differences between seemingly similar APIs like Flickr and Instagram, or maybe Twitter and Facebook. I was asked, "why are these APIs are so different? I thought the whole thing with APIs is that they are interoperable, and make integration easier?" << I love getting asked this because it helps me see the API space for what it is, not the delusion that many of us API believers are peddling.
So why are the designs of APIs so different, even between seemingly similar APIs?
- Integration - APIs make integration into web, mobile, and devices apps easier. It will also make integration with other systems easier. However, very few API providers truly want their APIs to work seamlessly with the competition!
- Silos - Many API providers operate in silos, and I have encountered teams who do almost no due diligence on existing API design patterns, standards, or even looking at the potential competition, and what already exists before crafting their API design strategy.
- Intellectual Property - Not many folks see the separate between their API design, the naming, ordering, and structure of the interface, and their backend API code, resulting in some distorted views of what is proprietary and what is not.
- Venture Capital - The investors in many of the companies behind APIs are not interested in being open and interoperable with others in their industry, resulting in a pretty narrow, and selfish focus when it comes to API design patterns.
These are just a handful of the reasons why APIs are so different. It can be hard for people not immersed in the world of technology to cut through the hype, walled garden belief systems, and delusions we peddle in the world of APIs. What makes it even worse, is when you see APIs become a facade for a variety of industries, and begin masking the unique hype, belief systems, and delusions that exist in these verticals. #FUN
When you are only focused on the technology of APIs this all seems simple, and pretty straightforward. Once you begin layering in the business of APIs things get more complicated, but are doable. It is when you start considering the politics of APIs you begin to see the darker motivations behind doing APIs, seeing more of the illnesses that plague the API sector, and infecting each vertical it touches. All of this contributes to many APIs never living up to the hype, or even pragmatic expectations, and will continue to hurt the bottom line of companies who are doing APIs.