Issue #9 | APIs Simplified
Beginner's guide to understanding APIs, how it works and its benefits
Hello to my lovely subscribers, I hope you all are doing amazing and had a great weekend 😃
In this edition of newsletter, we will deconstruct APIs, how they work and why they are important in a much simplified way. The topic of APIs can really haunt people especially non-technical early PMs (like me!) hence I comprehend the pain associated it due to confusion around APIs.
I assure you after reading this, you will understand the fundamentals and everything you need to know about APIs so that you can have those conversations with the technical guys 😉
In case you haven’t subscribed to the newsletter already, what are you waiting for?! 😃
Alrighty lets start with basic definition of APIs which is floating around the internet. APIs, stand for Application Programming Interface, is an software intermediary that helps different applications to interact with each other.
I wish knowing that was enough to understand what APIs is. But certainly that’s not the case is it?
Simplistic way of putting this would be,
APIs is like a language that different applications use to interact with each other. As every language consists of grammar and defined structure so that people can learn and speak easily, similarly APIs also uses specific set of commands or code to interact with different applications.
For example, imagine you are visiting a country whose language you know a little of. You know just enough to ask for directions or ask for basic things. Remembering my time while writing this, when i first visited Berlin for my studies, with my broken German. It was hard man 😅
It’s still broken now btw 😂
Anyways coming back to the topic,
You went to the supermarket looking for some cookies to buy. But you couldn’t find it. You try to approach the staff person working there and ask “where can i find the cookies” and the staff person responds “aisle to your left in the first section you will find the cookies”.
Now you only needed to know very basic of the language to get the information you wanted (where to find cookies?) and the staff person responds only to the requested information (aisle to your left in the first section). Nothing more or nothing less. This is what APIs helps to achieve.
APIs helps different applications to interact with each other, even though those applications speak different language, by overcoming the language barrier through specific set of commands or code.
With APIs you need to make these requests in a specific way, which are basically the set of commands or code, in order to get back what you wanted.
In the above example, lets say an american walked in a supermarket in UK and requests for the same thing “where can i find the cookie”. In this case you won’t receive the answer or response to your request because in UK, they call it “biscuits” instead of “cookies” 😁.
What i am trying to put here is if the request is not asked in a specific way (set of commands or code), you won’t receive any response.
Another example which is quite common but relevant is “APIs is like a Menu”:
Let’s say you trying to order food from the restaurant. In this case, “You” are the application and the “restaurant” is the other application you want to interact with. To receive the food, you need to make a request (place a order) in a specific way (defined by the menu) to get the response (the food).
APIs are like Menu here with defined list of food that you can order in their specific way to get your desired food.
Nowadays you cannot image digital world working without APIs. You are most probably using APIs multiple times during the day without even noticing it.
Some prominent examples of APIs are:
Login using Google/Facebook/Twitter etc.
Weather apps making those request through APIs to the weather services
Pay using paypal on any e-commerse website
Travel sites using APIs from the flight provider to provide thousands of flights and destination options to users
The specific set of codes or standard these APIs adhere to, needs to be developer friendly and easily assessible. HTTP and REST are examples of such standards.
These standards consists of requests that you can make to access or change the information needed. Four most common types of request are:
GET: User of an application makes a GET request to access some information from other application’s server.
POST: POST request is being made when a new information needs to be added to the existing data.
PUT: user makes a PUT request to change an existing information on the server.
DELETE: delete existing information
Hotel Search API is making GET request to access information such as search for thousands of hotel, prices of hotels, photos, room details etc. Whereas Hotel Booking API is making POST request to book hotels which is basically adding new information to the existing data on the server.
Benefits of using APIs:
So far we have understood what APIs are and how they work. Now let’s look at the benefits of using APIs,
No need to reinvent the wheel:
Developers can use APIs to facilitate the development process by using the existing functionalities or solutions rather than creating solutions from scratch.
Automating the work flow:
APIs helps with automating the complete workflow to avoid any unncessary manual work resulting in increased productivity and quality of work.
Ease of integration:
No brainer here. The core purpose of APIs is to interact with different platforms, applications and systems in order to connect and share information and carry out diverse types of tasks.
Saves development cost:
Since using APIs helps in reducing huge development efforts by using the existing solution or functionality, it reduces the development cost significantly.
Adds an extra layer of security:
The applications are interacting with each other through these APIs and only providing the necessary information to each other. Nothing less or nothing more, which provides a extra security to your system since it is not being exposed to other application during these interactions.
This brings us to the end of deconstruction of an interesting yet complex topic. You don’t have to be an expert in this. Coming from a personal experience, knowing the fundamentals is more than enough to have confident conversations with developers.
Intersting stuff from the week:
Baselinehq ➜ Free design bootcamp to get you started with your designer journey
Beginners guide to NFTs ➜ Understand the basics of NFTs, what make them so special, how do they work and how to buy them. Basically NFT 101!
Ultimate SEO checklist for 2021➜ Complete A➜Z checklist for SEO and how to use it to grow organically
Product Management templates by Lenny Rachitsky ➜ Amazing lists of product management templates and frameworks that can help you in your PM journey especially as an early PM
Intersting stuff that i wrote:
7 Things you must do in the first 6 months of your transition to an early PM role
Awesome Problem Prioritization Framework that can do wonders for your Product-Market Fit
See you all next week. Stay healthy and stay curious! 🤘🏽😎
If you liked the article, kindly share it among your peers and subscibe to the newsletter in case you haven’t already, that would be awesome 😁