People in tech love to do things themselves. It makes perfect sense because while computer science was largely born on college campuses and in military facilities, the technology business we know today emerged from the garages of tinkerers and self-taught engineers. When it comes to making updates and improvements to their apps, most developers would opt to build the functionality themselves than look elsewhere. But is this always the smart move?
APIs provide a path to incredibly deep functionality with very little development investment. Though some believe that paying for an API is more expensive than developing in-house, there are often times and circumstances when utilizing an API can be less time-consuming, less costly, and more reliable than building from scratch.
A quick note about APIs
Though Application Programming Interfaces (APIs) have existed more or less as long as electronic computation, what most people (this author included) mean when they refer to APIs today are actually Web APIs. Web APIs first became popular in the web 2.0 era, when internet development largely pivoted to the social internet and advances in home computers enabled web applications as a viable alternative to local software. Today, almost every major piece of connected software you use either has and/or utilizes several APIs to function.
What are APIs capable of?
At the risk of being blunt: pretty much everything. Today nearly every comment section, weather information, share button, or calendar is powered by a server-based API, and more often than not that API is developed by a third party and licensed for use. While SaaS platforms like Calendly are built on integrating multiple APIs to create a better user experience. Likewise, many successful businesses like Weather Underground have been built around selling their API as a service to improve other websites and services. With far more than an estimated 50,000 Web APIs in use today, it’s safe to say that if there’s likely an API available for every feature you can think of.
Now that’s not to say that every company that develops apps should primarily rely on third-party APIs to function. Instead, it’s better to think of APIs as a form of digital outsourcing: APIs provide a shortcut to additional essential functionality, allowing your team to focus on the core features that already make your platform great.
When’s the right time to use an API?
When considering whether to build vs. buy you should take a look at your product roadmap. Evaluate which new features could be addressed with an API rather than building it new. Now ask yourself a few questions and answer them honestly.
First and foremost:
1. Is this in my team’s primary skillset?
Often finding the best candidate means staffing for experience, talent, and expertise in a particular skill set. If you’re building an eCommerce dashboard, you’re going to want people used to working on eCommerce central features like inventory management or customer analytics. If you’re building a web platform you’re going to need someone who's great with CSS, and so on.
This means your team might be perfect for addressing core functionality, but might not be equipped to handle more edge-case or value-add features. As a developer, I may be the best in the world at building an email application, but that doesn’t mean I’ll know how to make an instant messenger as well as people who’ve spent their whole career in that space. If your team isn’t suited to handle this feature, you either have to factor in the extra time it takes to build it or the time it takes to learn how to build it.
What that means is that you have a group of incredibly talented people spending time to remake something that has already been made, a situation that many would refer to as building a better mousetrap.
2. Will building and implementing this feature delay other core improvements?
Time spent on adding a new feature invariably means time not being spent iterating or improving upon existing features. When your product team has parallel priorities, it might not be feasible or sensible to try and give equal attention to both, which can lead to crunch, exhaustion, and burnout. An API can expedite your product roadmap and give your team the room to do their best work.
Of course, once you introduce a feature you’re also never truly done working on it, improving it, and squashing bugs that can arise. There’s also the risk of unforeseen technical debt, which can hinder how your team develops subsequent features. What all of this means is that any time and energy that would have been devoted to quality assurance and customer support could be spent on development, as most licensed APIs provide dedicated support and QA channel.
Picking a trustworthy API with a solid reputation for quality and reliable customer service can help jumpstart your product roadmap, which can not only add more value to your app but also increase your revenue and lower your development costs.
3. Is the cost of licensing an API lower than the cost of developing in-house?
More than a few times in my career as a consultant have I heard product managers bristle at the idea of licensing a third-party API for additional functionality. The number one response by a wide margin is: “why would we pay for a service when we can build it for free?” Of course, if you factor in time spent and the number of team members working, no feature is ever truly free. While a five-figure sum may sound expensive for a lifetime API license it may pale in comparison to the cost of paying your developer to build it.
A simple formula is to add together the monthly pay for your developers, multiply it by the number of months they estimate it will take them, now do the same with your quality assurance team and add those two numbers together.
(Total Monthly Development Pay x Months Spent) + (Total Monthly QA Pay x Months Spent)
This is the actual cost of developing and implementing a new feature, and if there are any snags or slowdowns, that cost will just go up. This, of course, assumes that you don’t have to add on any new developers or contractors in order to complete the project, which only creates additional costs, to say nothing of the requisite ramp-up time. Now compare it to the cost to license a third-party API. If it’s cheaper, why wouldn’t you use the API?
There’s no right or wrong way to develop your application - ultimately the primary goal of development is to continually improve and innovate in order to delight your customers and remain competitive. APIs are a much-needed shortcut to additional functionality that makes your product more compelling while keeping your product timeline moving at pace.