Forgive me if the headline sounds technical. This is not going to be a technical discussion on what Application Programming Interfaces (APIs) are. But we are moving towards a world where websites and applications are going to be interconnected using them. For that reason, it is important that you know what they are.
What is an API?
First thing’s first. If you don’t already know, APIs are ways for computer applications to talk to one another. They are a set of published code and data that allows developers to send and retrieve data to and from other systems.
For example, APIs are the way your e-commerce system talks to your payment provider. They are the way your website can pull information from Facebook. And they are the way pretty much every mobile application talk to the server.
The reason why APIs are so powerful is that they let you connect systems to automate workflows and share data. Continuing with the e-commerce theme, it is easy to see the power in the following workflow:
A customer buys something from your online store, which by the way is updated with prices and stock from your warehouse management system. The order is automatically sent and properly handled in your book keeping service, and sent on to your logistics solution which speaks directly to the logistics companies when the payment gateway sends your e-commerce system notice that the order is paid in full.
That’s pretty neat, isn’t it?
The world of interconnected niche systems
Online service developers have long wanted to develop the “one system to rule them all”. That’s never going to happen.
Jason Fried, CEO of Basecamp (a project management service—which we use) always stresses that the typical customer doesn’t really want to mess around with tons of systems. I agree.
However, we are moving towards a world of interconnected niche systems that speak to each other through APIs. It is much easier to build a niche system, than to build that master system. And it’s not just because of development time and effort. It is because workflows and demands are so different.
Thus, I believe in connecting niche systems to get a (preferably automated) workflow that fits the processes, rather than fitting needs and processes around the system. That usually doesn’t work too well.
That’s why I am excited about how APIs are growing, becoming easier to use and ubiquitous. It makes it simpler and easier to design good systems, and brings computing and automation power to more companies who previously couldn’t afford it.