Tech Talk: Why choose an API as a product?
Tech Talk: Why Choose an API as a Product?
December 10, 2020
Particle Health Team
We know what APIs are, and what they do. So why choose an API as a product? APIs have become largely ubiquitous in the tech landscape, and for good reason. While there are alternatives, it's important to understand why we don’t choose them. Check out Part 2 of our three part miniseries on APIs.
Reasons to Choose APIs
APIs have become largely ubiquitous in the tech landscape, and for good reason. However, it’s important to understand that there are alternatives, and it’s equally important to understand why we don’t choose those alternatives.
In reality, there are a vast array of alternatives to APIs, but here we will discuss two of the most common: software suites and direct integrations.
Software Suites
A suite of software comes in the form of a program that is delivered and installed on the user’s computer (e.g. Microsoft Office) and provides a full set of functionality directly on a user’s computer. Going this route has some significant advantages over APIs:
- The distributor of the software has an increased level of control over interaction with their backend systems.
- Think about how Slack distributes an application, but in reality, it still calls an API behind the scenes. Slack has ultimate control over how that API is used because they control both sides of the communication.
- Empowers creation of more complete feature sets.
- More control over communication via the API allows for building features on top of it that would otherwise be up to the user without a suite of software.
Disadvantages:
- Larger engineering effort needed for the distributor of the software.
- The distributor needs to build and maintain the suite of software that is provided to users.
- Delivery of software is challenging—how to get the software to customers reliably?
- Maintenance becomes complex—the burden is on the user to update and maintain the software installed on their computer.
Direct Integrations
Direct integrations often have similarities with APIs, but the key distinction is that each new user is individually and specially integrated with the parts of your systems that they wish to use. The advantages over APIs are:
- More control over the integration process.
- Each integration is done as a one-off, allowing for frequent communication between the user and the owner of the system.
- No need to build API request and response handling.
Disadvantages:
- Large onboarding effort needed for each user.
- Less control over how users interact with systems, as they are free to do just about anything, which can be detrimental.
- Direct integrations are messy and time-consuming, often requiring the use of APIs anyway.
Qualities of a Good API
Now that we’ve stated a strong case for API as a product… What makes an API “good”? A “good” API has the following characteristics:
- Easy and simple to program against.
- Requires the minimum number of requests to do the maximum amount.
- Minimum complexity for maximum functionality.
- No superfluous functionality—avoid API bloat.
- Low maintenance costs for the user.
- Documentation, documentation, documentation—good documentation is essential.
Phew. We’ve covered a lot of ground here. But wait, there’s more! In Part 3, we dig into the Particle Health API.
About the author: Particle Health Team.