If you read my articles or listen to the T-Suite Podcast, you know I have a little obsession with APIs (or application programming interfaces). APIs promise to make it much easier for developers to connect from one system to another and significantly reduce the amount of code to write. While APIs have been around for decades, there is a relatively new and fast-growing market for API platforms.
For example, if you want a database for your app, but have no interest in setting up servers, you can sign up for Amazon AWS or Microsoft Azure. With nothing but code, you access their APIs to create a database and start populating it. You can do all that in a matter of minutes, rather than the days, weeks, or months you would spend purchasing equipment, licensing software, and setting up firewall rules. There are so many other scenarios, like using Google Maps to display your stores on a map, using Alexa to play a favorite playlist, and so much more.
API providers tend to handle complex problems with sometimes unfathomable amounts of code, but for a software developer using the API, it could be just a few lines of code. I am personally playing with that right now. Using AWS Polly, I was able to write about 10 lines of code to convert the voices in my podcast to text. All the machine learning, artificial intelligence, language detection, and a host of other complexities were taken care of for me. Once the API was complete, I had a full-text copy of the conversation.
A great API is easy to work with, requires minimal documentation, and uses open standards like REST and JSON. But what happens in the background to make these APIs work? Most APIs we think of today are based on software. Let’s say I want to create an API that guesses the next lottery number for you. I can write some code that, say, looks at the historical records and uses some other parameters to pick some numbers for you. While my API may not make you millions of dollars, the creation of that API would be relatively straightforward and something I could code on a computer at my desk with out-of-the-box open-source software.
APIs aren’t always just software talking to more software. There are a lot of APIs that handle the details of physical transactions IRL (or in real life). In today’s podcast, Brian Thompson, product manager at EasyPost, and I talk about the complexities of creating a simple and intuitive shipping API. We discuss how, when a software developer uses their API to ship a product from a carrier like UPS, FedEx, DHL, or any of hundreds of local or specialty carriers, there is a lot more going on than meets the eye.
Featured image: Shutterstock