The World of Open APIs
The software development process has experienced a massive paradigm shift in the last two decades. And one of the breakthroughs has been the exponential usage of APIs (Application Programming Interface). As the name suggests, APIs act as a messenger between two separate blocks of code (in different programs/services) and lets them communicate with each other to perform a specific task.
For example, suppose you are at a restaurant and you want to order food, you would not go to the kitchen to place the order. Instead, there is a waiter (API) who takes your order (request), communicates it to the chef in the kitchen, and once the food (response) is ready, brings it to you. You need not know how the food is being prepared in the kitchen. All you need is your food to be ready within, say, 30 minutes. And that’s what the waiter ensures. The API helps in answering the WHAT rather than the HOW — the underlying details are hidden from the caller and only the output is provided.
There are mainly 3 types of APIs. The first API allows an application to request another application to solve a particular problem. For example, if you are trying to purchase any product from Flipkart using your credit card, on the payments page, Flipkart calls the bank’s API service to ensure that your credit card is a valid one. Similarly, any website which lets you log in using Google or Facebook id uses the latter’s APIs to validate your identity.
The second type of API is the one that lets one application request the other for a piece of information. This is similar to calling a helpdesk for information. For example, suppose you want to know London’s weather while you are sitting in Mumbai. The weather application on your smartphone uses an API that collects information from London’s weather department and displays it in front of you.
The third kind of API is the one that lets developers access the various features of the device. For example, Google Maps uses the device’s geolocation API to track our current location. On the other hand, fitness apps use special APIs of the device to track the direction and speed of our movement
APIs act as a great source of revenue for the companies that own them. These companies let their core services be availed by external entities through APIs for a pre-decided amount. For example, food delivery apps like Swiggy or ride-hailing apps like Uber use the Google Maps API to display maps on their application screens. The easy access to Google’s API ensures that these companies can avail their services easily for a monthly fee and need not spend huge amounts of effort and money in developing a similar system from scratch.
What is an Open API?
It is an application programming interface that is shared freely with software developers where the owner of the API gives access to the consumers or the developer community. Though implementing an open API may give rise to security concerns, many companies provide access to them to encourage third-party software developers in other verticals to come up with innovative solutions to solve customer problems. The most common example of this is the concept of Open Banking where banks expose their APIs to other financial service providers to ensure greater transparency of user data.
Benefits of an API exposure
The exposure of open APIs has led to a win-win situation for enterprises as it allows the product managers to ship additional features to the clients at a rapid pace. Here are a couple of other advantages:
- Empowering the customers (users of the API) by giving them the flexibility to innovate. How much ever hard any company tries, they would never be able to solve the pain points of each and every customer. So by exposing APIs, they can create a cohesive ecosystem that is beneficial for the end-user
- Exposing the APIs act as an additional revenue source in the form of professional services. Its opens up the opportunity for building a partner network and earn extra income, that can be utilized for key strategic initiatives
How APIs are important for a Product Manager?
Similar to any feature or a product, an API needs to have its own business case, user personas, strategic roadmap, sustainable revenue model, detailed launch plan, etc. While getting an API built, a PM needs to own the entire functionality and approach of the product life cycle and understand that the users of this API (the developer community) are completely different from the existing product users. Understanding the needs and pain points of this community can be a challenging task, and the PM needs to have a deep understanding of this audience to navigate it more quickly.
Moreover, getting buy-in from the senior leadership can be difficult while building APIs. It involves a significant amount of investment in terms of man-hours, and one of the major issues with APIs is that it might be difficult to track its progress — as it is just a block of code, and hardly consists of any polished UI to enrich the experience. Hence, due to a lack of understanding, the non-tech units and the executives might not be very satisfied with the end product.
The operating expenses of building and maintaining an API can be significantly higher and approval from the leaders is imperative to ensure that sufficient budget is allocated to the various other units (excluding engineering) who would be required along the entire lifecycle. Hence a comprehensive business case is needed to get alignment. Additionally, the product manager needs to think of other ways to make money out of the API. Getting the pricing model right is a prerequisite for the open API’s success. To ensure proper User Acceptance Testing, a small-scale UI needs to be developed so that a PM can get a sense of how the product would look to the client. Though this is not mandatory, it can help secure the senior management buy-in as this UI could be used by them too to gauge the final product experience.
Overall, the addition of an API can benefit the enterprise in several ways and can give them a competitive advantage which would ensure rapid adoption of their core functionality. Despite the alluring features, a highly skilled product leader is needed to maneuver the various challenges that could arise in the process.