We sure are living in fascinating times. With a seemingly endless set of powerful tools just a click away, the ability to seamlessly scale a weekend project into a thriving enterprise with a few mouse presses, and an audience of well over 2.5 billion internet users constantly plugged in ready to consume new content, I can’t think of a better time than now to be a web developer. It seems like every day we are bombarded with news about some new gadget that runs on some technology that seemed like a mere pipe dream just a few years ago. Between Google’s self driving cars, Amazon’s drones, and a selection of wearable tech large enough to paralyze even the geekiest of us it is no doubt that there is indeed some fascinating technology being developed every day. While all of these gadgets are indeed insanely awesome, at the end of the day I am a web developer and I have become increasingly more excited about the emergence of a different sort of technology that not only is driving the growth of these gadgets, but that has the capability of having enormous impacts on our lives if it hasn’t already. What I’d like to talk about in this post is of the accelerating trend of companies developing and releasing application programming interfaces, most commonly referred to as APIs, as well as a few things I’ve learned over the past couple of months familiarizing myself with tools to help us work with these APIs.
First, you need to understand what an API is. A recent article on ‘readwrite.com’ described as a set of requirements that govern how one application can talk to another’. Imagine two different libraries. The first library has a locked door and small windows. You might be able to see a few of the books and maybe even read some of the titles, but its near impossible to get in and find the books you’re looking for. Now, imagine a second library that upon arrival you joyfully walk up and identify yourself at the front door. You might have to wear shoes, bring a driver’s license, and keep your voice down, but as long as you follow the rules you’re allowed to browse around for whatever it is you’re looking for. And even more than that you are handed a pamphlet containing extremely specific instructions as to how to find whatever book or books it is you are looking for. As you’ve probably guessed this is exactly what APIs provide for developers.
New APIs are popping up every day with companies from Dominos to Bloomberg providing access to data in the hopes that people will do awesome things with their data, or to provide easy access to a service such as Walgreens QuickPrint API, that allows an application to print documents from a variety of Walgreens stores around the United States with a simple HTTP Post Request. Any app on your phone, computer, or tablet that accesses data from a site other than its own such as allowing you to login in through Facebook is effectively using that company’s API. You’re probably thinking, okay awesome, so we can build pizza delivery apps, that can print our receipt from Walgreens for one of our Facebook friends to pick up at a later date. But this enormous amount of available data is going to have a much larger impact on our lives. Data scientists, casual researchers, and weekend hackers are able to literally drink from the firehose of data and mix, match, compare, and combine it all into amazing applications. Don’t get me wrong, I thoroughly enjoy building hilariously stupid apps from time to time, but I do challenge those with the skills to combine some of these APIs and build something awesome.