What is API First?
In this post we will take a look at what is API first application design, where does it come from and what value it brings to organisations.
Lets start from the smart phone technology breakthrough in 2007 and a large small screen adoption which followed.
Apple rediscovered the concept of the smartphone with iPhone release in 2007.
It quickly became clear that we as consumers are ready for the vision of smart devices Apple offered us. Google also ramped up the efforts on its Android mobile OS enabling the healthy competition.
Adoption skyrocketed. Digital interactions through smart apps skyrocketed. There was no turning back.
What exactly was different for technology landscape?
What challenges did all this rapidly growing smartphone adoption brought to the technology and businesses?
Lets take a look at average online business company before the smart phone revolution.
Their underlying technology looked something like that.
The way for consumers to buy online was by using the standard desktop browsers.
Technology strategy for companies was to maintain all the business applications inside the business ownership boundaries and only share the HTML content and generated views back to the Internet browser (see the above picture).
Large, monolithic technology architectures were working just fine.
With smart phones gaining adoption, consumer interaction with business has changed to this
There is one significant element here once it comes to technology strategy.
In the pre 2007 diagram we saw that even though consumers were accessing e-commerce properties over the Internet, the full control over technology and application business logic stayed within the business domain and ownership.
In the new smartphone powered world – mobile applications needed the data.
Mobile applications controlled the functionality as well. Listings, checkout flow, payments, notifications and others.
Suddenly, existing technology stack had to externally share much more than HTML representation markup. For mobile applications to work – business technology systems had to share the data, in most cases the private data.
As small screen adoption was not slowing down, technology organisations were faced with the following preasures:
- Loss of control of where business applications run. Previously companies had full control of the technology system and only sharing generated markup content for browsers. Now mobile applications, even if created by companies themselves were running on large range of different mobile devices.
- The need to expose all the data needed for customer journeys. Sending HTML to browsers was not enough anymore. Mobile applications need the actual data endpoints to be exposed.
- Technology strategy and investments to manage such data. In order to me players in mobile app space, organisations are faced with creating and maintaining open API strategy and investments.
- Is technology stack ready? For the existing business applications, most of whom were not designed for exposing data over APIs its a reality check time. How will they support high volumes of growing communication from smart devices?
What about APIs?
With all this context we are ready to talk about what API or Application Programming Interface actually means.
In this context its the way to clearly define the standards of how the data is exposed.
From within controlled business domain to the public domain. This data is being shared with the large numbers of smart devices who are out of business control boundaries.
Why API first?
What API first design means?
We recognise that smart devices and small screens are the way customers will be mostly interacting with digital businesses in the future. Even if the shape or form of these devices will change.
There is no turning back on this paradigm and the challenges I have mentioned in the above section will become the norm for companies who’s business depends on the technology.
With this in mind, we should aim to build the technology strategy around the ports & adapters type of architectures.
We should clearly define the needed APIs and interfaces before starting deliver the actual technology systems. This is a big cost and time saver for organization.
API first means we now have to consider the readiness to expose sensitive data to the public environments in order to support business challenges arriving from the smart device adoption.