Have you ever wondered how programs on your computer and the websites you visit “talk” to each other? To understand that, we first have to delve into the weird and wonderful world of APIs, or Application Programing Interfaces.
What is An API?
The phrase API appears regularly in computer-science fields. But what does it mean? Well, definitively put, it refers to a tool, or library, that assists developers in writing code that interfaces with other software. These can range from the low-level tools that allow Windows and OS X applications to use aspects of the underlying operating system, to those powering the apps on your phone. In short, it defines a way in which a computer program communicates with another computer program.
But APIs aren’t inherently interesting. The application of these tools is what really matters. Here’s how APIs are making the web awesome, opening up governments, and increasing consumer choice.
APIs in Business
You might assume that the technology world is inherently cut-throat, with incumbents not wishing to provide a leg-up to the competition. But you’d be wrong. Indeed, many large technology firms, such as Twitter, LinkedIn and Facebook, even allow the use of their service by third parties and competitors.
Yes, there’s a genuinely compelling commercial reason why a competitor would release an API, and then have allow anyone to use it. With respect to Facebook and Twitter, we see how third parties have enriched these services with their own code. A great example of this is seen in Klout, which allows developers to measure their social influence, find influential people in their spheres of interest, and schedule Tweets and Facebook postings.
Having an API also allows users to create alternative applications for existing mobile and desktop computing platforms – such as these alternative Facebook apps for Android we looked at in 2013, as well as for newer, more tentative platforms. It is for this reason why Facebook, Twitter, Instagram and LinkedIn all have presence on smaller, less commercially significant platforms, the likes of which include Windows Phone, Blackberry 10, Firefox OS and Tizen (what’s Tizen?).
Having an API also allows users and companies to manipulate an existing product to serve their own interests. We’ve covered some incredible examples of this in the past, including the API released by Norwegian startup Appear.in, which allows users to integrate their own HTML5 driven videoconferencing applications within their blogs, websites and applications.
APIs In The Browser
The HTML5 specification has defined what the modern browsing experience should look like – fast, interactive, and with the least plugins possible. Although support for the standard is nowhere near completed, and remains wildly inconsistent across browsers, there’s still an amazing amount of functionality on offer.
We’ve discussed HTML5 at length in the past, and even penned an e-book about it, but it can never hurt to recap. The latest functionality in the HTML5 specification makes it easy to create rich, detailed games and animations with Canvas; for websites to store data on the user’s computer, without using cookies; and for websites to determine your location and even determine the battery status on your computer.
What you might not know is that these individual components of the HTML5 are largely considered to be APIs in the truest sense. How so? Well, firstly, like all APIs, there’s a published and carefully designed standard of how this functionality of the browser works, and how developers use it.
Much like the Appear.in API, or the Facebook or Instagram API, developers use this standard and functionality in order to make data transactions, like with the IndexedDB API, or to access browser functionality, like with the Canvas API.
APIs In Government
In recent years, we’ve seen an unprecedented opening of government, and a sustained surge towards transparency. In the UK, we’ve seen the launch of data.gov.uk, which is a ‘one-stop shop’ of government datasets and statistics, ripe for analysis by statisticians, journalists and data scientists. In the US, they’ve also been steadily marching towards openness, but with a slightly different edge. Rather than just distribute their open data as excel spreadsheets and CVS files, they’ve chosen to use APIs.
The background behind this lies in Executive Order 13571 issued by the Obama administration on April 27, 2011. Titled ‘Streamlining Service Delivery and Improving Customer Service’, it demanded that government agencies examine how they can improve the delivery of services, and emphasized that this should be achieved with digital technologies. Shortly after that, Obama announced “Digital Government: Building a 21st Century Platform to Better Serve the American People”, which defined how this content would be delivered to the American public. Namely, with an open API which would simultaneously act as the lynchpin behind a number of government IT projects, but also provide access to privately-developed applications.
This project is perhaps one of the first of its kind, but has been a phenomenal success, with a majority of US government agencies releasing open data sets, including the National Institute of Health, the US Army, and the Department of Homeland Security.
For the most part, to take advantage of these APIs, you’ll likely need to have a solid background in programming, as well as a degree of competency in data visualization, data science and statistics. But as an end-user, you can take advantage of the applications and websites that use these datasets. One impressive one I’ve noticed is AirNow, which allows you to monitor air quality in your neighborhood.
America is not alone in using APIs to open their government and increase transparency. Other governments who have since released open data APIs include those of Australia, New Zealand and the United Kingdom.
The Rise of the API
APIs sound dull, but they’re anything but. They’ve changed the ways governments operate, and they’ve brought an unprecedented range of choice when it comes to how you use the Internet.
You can even use an API to scrape data from websites to help you find and dissect information more effectively.