APIs Make the Mobile Revolution Possible
Software developers are turning to REST APIs to deal with the exploding number of human-computer interaction modes, ranging from mobile phones, desktop computers, medical devices, in-vehicle computing, and various consumer devices such as interactive televisions.
REST is a software architecture that allows all these devices to access data and compute services over the Internet, most types of data networks, or the cloud. For example, when you check the weather on your smartwatch, it uses a REST communication method to connect to an external source of the weather analysis. In this way, a small, low-powered device such as a watch or a thermostat can take advantage of the compute resources of a large weather forecast system.
The beauty of REST is that the communication from your device such as a TV to a data source such as local news is simple. REST uses the same verbs as your web browser. These are GET, POST, PUT, and DELETE.
This simple communication process allows the companies to build highly scalable systems that can handle dozens of different types of devices and scale to millions of simultaneous users. For example, using the Netflix API, people can use their phone, tablet, XBox, computer, smart DVD player, or TV to access personalized data and create an unique viewing experience for each person.
Types of RESTful Services Being Used
My company, Restlet, surveyed the general U.S. population online through news sites, entertainment sites, and through mobile devices. We collected 530 fully completed surveys.Of the survey, 56 percent of people were using smartphones, 32 percent tablets, and 51 percent used laptops. This showed that users have multiple devices and are getting their data in different ways.
Wide Adoption Despite Problems
Within your own city, you can probably see the spread of smartphones, tablets, and smartwatches just by walking around the local coffee shop. Our survey results show that the majority of the general U.S. population connects to data more than once per day.
This is a huge opportunity for businesses, but there are a few problems that we need to overcome. The massive online adoption is creating enormous challenges for businesses as customers expect a seamless flow of data from different devices.
Let’s take the example of a customer who inputs data using a mobile phone on a company’s web site. Later, they call the company and interact with the customer service team. How many customers are disappointed or frustrated because they had to give the same information to the call center again? Our survey results also indicated that an astounding 86 percent of Americans are concerned about the ability of call center agents to access information they already provided online.
Even more amazing fact is that 89 percent of the respondents expressed concerns about the safety and privacy of their data when using a connected device.
Despite the concerns, adoption will almost certainly increase. Businesses are adapting by changing the way software is created.
API-first Design Method Arises to Solve Data and Device Problems
Many businesses are now planning their APIs first, prior to written code. This is often called an API-first approach. In this new approach, developers are faced with new considerations to design, develop, deploy, manage, and document APIs. An API-first approach is not a sudden jump in software design. Businesses usually go through an evolution.
As the number of devices increase and the number of SDKs rise. The development team moves to an API-first and back-end driven model. By this, I mean that they design how the APIs will interact with multiple client devices first and then design the back-end system. This is generally done by the back-end team.
As the user interface and overall user experience becomes more important for a business, the back-end and the front-end teams begin to work together to design APIs at the start of a project. This is the third evolutionary phase in software design. I refer to it as collaborative API-first.
This model will again break down as a single API can’t handle the unique experiences for each type of device. In addition to the differences in sensors, screen size, and network connectivity on each device, each device will have different release and upgrade cycles.
The solution is to develop an API-first and front-end driven software development model. In this model, each device will have its own API.
Eventually, we move into a model where the user experience with a large number of devices becomes the top priority. We move into a model where the APIs are not only driven by the front-end and UX teams, they are owned by the front-end team.
It’s a big jump from the previous models of code-first and back-end driven. The change won’t happen in one movement. My experience is that software development teams evolve through different stages, changing as their customers demand a seamless experience across multiple devices.
Although modern smartwatches and futuristic IoT devices get all the attention, we should give more respect to the humble and surprisingly simple REST API that is making the mobile revolution possible.