APIs drive business growth
Application programming interfaces are crucial to business growth in the application economy.
How do companies like Airbnb manage to continually update their rental inventory from millions of listings, in thousands of cities located in 200 countries? How does Uber track its drivers and link them to customers on a global scale? FedEx is another example - how does it continuously track its fleet and parcels globally?
The answer is application programming interfaces (APIs). The rise of APIs represents a business opportunity and a technical challenge. For business leaders, APIs present an opportunity to open new revenue streams and maximise customer value through providing high quality, differentiated, profitable features and services faster and cost-effectively.
But, before I delve into a discussion on the potential of APIs, let me clarify what it means. APIs provide a way to connect computer software components. Essentially, they provide a means by which companies can open up their backend data and make it available for re-use in new application services. APIs specify the way in which different software components interact with each other and they enable content and data to be shared between components.
APIs are not a new concept by any means. However, as computer system and network complexities have grown, the need for APIs has increased with it, and even more so as companies started adopting the World Wide Web as the primary network for business and systems integration. Companies are now seeking ways to connect their information technology assets.
APIs facilitate interaction with a product programmatically instead of manually through a user interface and there are many benefits associated with their use. They connect mobile apps, cloud platforms, partners and Internet of things devices to enterprise data.
With the right APIs in place, one can easily master digital initiatives like accelerating mobile app development, offering a consistent omni-channel experience, unlocking data silos and accessing new markets, to name but a few. APIs provide the key to unlocking growth opportunities at scale in the application connected economy.
Automate and integrate
While smaller customers may be happy with a sleek user interface where they can interact with an application, large companies will typically seek to automate that task. APIs enable customers of any size to automate and integrate standard applications with external data sources or end-user portals.
When it gets to product sales, there is no 'one-size-fits-all' customer. Different customers have different needs and different environments. To scale up sales, a product needs to integrate into all those different environments and fill all those needs. It is typically not feasible to have out-of-the-box support for all integrations and use cases. APIs make it possible to extend a product on demand and without intervention of the core product engineering teams.
So, what's in it for the business?
Enterprise architects are the people charged with the task of creating the APIs that make backend systems available for re-use in new Web and mobile apps.
The business goals and technical challenges of an API program are intimately related.
It is important that all stakeholders understand the business goals and technical challenges of an API program are intimately related. Program managers must take responsibility for clearly communicating the key business objectives of a proposed API to the architects who will actually build the interface.
Architects, meanwhile, must take responsibility for maintaining a clear focus on the business goals throughout the process of deploying an API infrastructure and designing the interface itself. All technical decisions should contribute to the creation of an interface that empowers developers to build client apps that end-users will really value.
One size does not fit all
It's clear that different customers have different needs and dissimilar environments, therefore, a software application capable of integrating these different environments while fulfilling the customer requirements is essential, especially if sales are to be boosted. It is typically not feasible to have out-of-the-box support for all integrations and use cases. APIs automate the process of extending a product on demand and without the intervention of core product engineering teams.
Amazon is an example - its APIs make it possible to seamlessly integrate third-party sellers' ERP systems, automatically adding products to the Amazon catalogue, synchronising inventory, managing delivery and supply chain, as well as sales reporting and sending invoices.
However, companies such as eBay target small, private users with their easy-to-use Web interface - this type of user will typically sell second-hand products one by one and take the time to publish the advertisement manually. But, they also focus on large companies that automate the process of publishing their goods and registering the sales through eBay. That would not be possible without APIs.
Advantages of APIs?
The main advantages become apparent only when development organisations adopt an API-first approach to development. If APIs are developed as an afterthought, they are likely to be incomplete and add a development and support burden instead of lifting it.
Regardless of the level at which an API works, or of whether it consists of documented public Java method signatures or a RESTful Web service, the main requirement for an API is constancy. By using an API, a company is making an investment. It doesn't want that investment to last only until the next version of the product. The API should not change, or at least, stay backward compatible.
That argument is valid for consumers of the public API of a commercial product, but it is just as valid for the internal developers of that product. Even if a company owns the entire product, backend code, data model and user interface, it still benefits from constancy in the interfaces between those pieces. When developers optimise some code to make the backend faster, they don't want that to affect the user interface.
An important advantage of API-first development is reduction of complexity. The availability of complete, documented, immutable APIs can be an enormous help to ensure a clean, layered and modular product architecture. They can help reduce coupling between components and duplicate code. But, most importantly, the bottom line is they help increase quality.
In my next Industry Insight on APIs, I will explore the software trends driving the application economy.