206-960-2891 robert@majureworks.com

Application Program Interface

If you’re a program or project manager, regardless of industry, you’ll likely encounter the acronym API. API stands for Application Program Interface. In plainer language, it is how software applications talk to each other; exchanging information and data. Program Manager API skills are a crucial for both program and project management careers.

APIs are ubiquitous. (That’s a big word.) They’re everywhere. Here is a sample of familiar apps and online companies that publish APIs: Facebook, National Public Radio or NPR, Google Maps, Weather Channel, and ESPN. A developer can write software that exchanges information with these and countless other apps. For example, with NPR, you can create a station finder service and publish it on your own website. Of course, one must comply with each company’s terms and conditions, including branding and security. We certainly have no shortage of news about mismanaged information. Expect scrutiny from these companies on how and why you use their data.

Okay, we made it through the API acronym. It gets worse. How about HTTP, REST, JSON, and OAuth. Ugh! It’s like a secret handshake to get into the API club. I’ll do my best. If you’re an expert on these topics, please turn away. I may mangle the details and turn this into an API horror scene. However, my goal is to help program and project managers be conversational. They know how to find experts in their professional network.

HTTP

HTTP stands for Hypertext Transfer Protocol. Um, forget I said that. HTTP is a way for software applications, often web browsers like Chrome or Firefox, to make a request to another software service and expect a response to its request. Figuratively, I need some information. Ok, here it is. Or, I want you to store some information. Ok, I’ll do that. Example requests may be in the form of GET, PUT, POST or DELETE. I want you to GET me the NPR station list. Ok, here it is. Or, I want you to PUT my station in your database. Ok, I did. // See, this is not so scary.

REST

REST is a common term and you’ll encounter it often in the API world. REST stands for Representational State Transfer. Informative name, right? REST enables software applications to talk to each other without worrying about details like browser choices (Chrome versus Firefox) and numerous other technical details. It enables computer systems to seamlessly interact with other systems across the web. Here are a couple of REST guideless to make it real. First, the user interface is separated from data storage specifics. This allows the user interface, like your web browser interface, to not be held hostage to a specific data storage scheme; kind of an internet democracy. Second, interactions should be stateless. In other words, to interact through an API, an application need not remember a past scenario to complete its current request. Think of it in human terms. If you initiate a conversation with someone, it will be irritating if the person refuses to talk to you until you recount all prior conversations. I’m sure you will think, why bother. The same applies to software applications. If it is too much trouble, let’s skip talking to NPR through an API. And, your web experience is diminished

JSON

Let’s talk JSON; Javascript Object Notation. Who thinks of these names? JSON is a data interchange language. If software is to communicate through APIs, we need an agreed-to language for this to work. Think of a time when you when you were in a country that spoke an unfamiliar language; tough to impossible to communicate. I’ve sat there and just smiled during a group conversation, reading body language, but not having a clue of what was being said. JSON helps computers talk to each in understandable terms. JSON is text-based and blends a human-centered language with terms familiar to programmers. It can still be dense for the non-programmer, but not impossible comprehend, especially with just a bit of expert help.

Oauth

Security is critical. OAuth, open authorization, is a way for users to grant access to some of their data without sharing their password. For example, if a software application wishes to access NPR information or resources, the application must be authorized as a client along with a secret that uniquely identifies, and authenticates, the software application. Afterward, the app receives a token granting access through the API. It’s elaborate, and it works. Think of granting someone access to your home. You need to know their identity, the purpose of their access, which rooms they can use, what they are allowed to leave or take out of the house, and then provide a house key.

I’ve used National Public Radio, NPR, as an example. Their API web site is relatively easy to understand and can be found at dev.npr.org.

API Economy

In our digital world, APIs make the world go ‘round. You’ll even hear the term API economy; referring to an organization’s ability to fulfill their mission and exchange economic value, on a digital basis.

If you’re planning a program or project management career, you’ll inevitably be asked to manage some aspect of the API economy. Go for it; and learn to speak API.

%d bloggers like this: