APIs Are Like User Interfaces--Just With Different Users in Mind

Whenever the mainstream business media starts to cover a technology as though it is some sort of wonder drug (like it has for APIs, or application programming interfaces), it creates a groundswell of curiosity. People want to know what exactly the wonder drug is? How does it work? How might it benefit them? Where can they get some?

This series is designed to answer some of these basic questions for all readers, regardless of their level of technical expertise or perspective (business, technical, consumer, and so on). It is not meant to be the end-all, be-all encyclopedic explanation of APIs. Rather, it is meant to give readers the basics—to make you smart enough to intelligently participate in a conversation about APIs. We envision this series as a living document that we will add to and improve over time. We welcome your feedback with that objective in mind.

Perhaps the best place to start in this introduction to our series is to simply explain APIs as an alternative to something that anyone who has used an app is already familiar with: the user interface. 

For decades, most computer software--programs that provide data like contact information or functionality like image editing--has been conceived and written with one type of user in mind: a human. No matter what chain of events is taking place under the hood of software, a human user is traditionally at the end of that chain. That end user invariably consumes that data and/or functionality through a user interface (UI)—one that’s designed to make the act of consumption as easy and even enjoyable as possible. 

But what if that same data and/or functionality could be just as easily consumed by another piece of software? In this case, the UI concerns are very different. After all: Software doesn’t have eyes, emotions or intuition, so it doesn’t need an enjoyable, intuitive graphical user interface. However, as with a UI tailored to humans, software needs an interface that makes it easy to consume data and/or functionality.

Enter, application programming interfaces, or APIs. 

An API is geared for consumption by software, which is why APIs are often explained in the mainstream media as a technology that allows applications (software programs) to talk to one another. In this context, the terms “application,” “software,” “machines” and “computers” are virtually interchangeable. For example, APIs are often discussed as being machine-readable interfaces (versus human-readable). 

The significance of APIs to the modern world should not be underestimated. With each day, their importance to three primary constituencies—customers (the public), businesses (and business-like organizations such as government and non-profits) and programmers--seems to grow. Starting about 2005, (the same year that ProgrammableWeb was founded), the groundswell of interest in APIs has given birth to a cottage industry that isn’t so cottage anymore: the API economy.

Many people will be satisfied with the information we have provided in this report so far. But if you want to know more about how APIs work, what their benefits are, and how they compare to something we use in the physical world every day, be sure to read the remaining parts of this series starting with “What Exactly Is an API?

David Berlind is the editor-in-chief of ProgrammableWeb.com. You can reach him at david.berlind@programmableweb.com. Connect to David on Twitter at @dberlind or on LinkedIn, put him in a Google+ circle, or friend him on Facebook.




I have begun programming one year ago and i was searching for an explanation of what API is. Whenever i search for an explanation of What API is tutorials on REST API or SOAP API show up. I am really thankful to programmable web for making such a good explanation by taking into account all kinds of readers from noobs to pros. Hope you further develop this course by adding detailed explanation about web services from scratch.


Thanks @udaykanthreddy. I'm very glad that you're enjoying our content!  We have many plans to expand this part of ProgrammableWeb (API U) and do plan to launch content that will show you ... soup to nuts.. how to launch a Web API.


Thank you, very illustrative information 


This seems more like a literature. Tech related writings should focus more in technical explanations rather than novel-like writings. I'm new to API, and could not get much information on What API is.