Skyscanner’s Bonamy Grimes explains why an API-first, rather than mobile-first strategy can provide a more future-proof approach to creating compelling customer experiences regardless of device.
“Mobile First” was a term coined by Luke Wroblewski to describe a strategy of focusing user experience design on devices with the most constraints.
As the device constraints relax moving from phones to larger devices (fablets, tablets, PCs, TVs etc), the design can adapt to make use of the increased screen real estate and more powerful processors.
Unfortunately in recent times this phrase has been used outside the original context of interface design, and is often quoted as the need to have a mobile-first strategy.
At Skyscanner, we rejected the idea of having a mobile strategy altogether. Instead we decided to focus our strategy around the customer rather than any particular device.
This led to an “API First” approach, where we defined the services the user to interact with, and then went on to develop light weight client applications to interface with these services.
This led to:
• An integrated user experience across all platforms
• The ability to start a task on one device and finish it on another
• Simpler client applications (business logic residing in APIs not replicated in each device)
• A predictable development program where native applications could be developed in parallel for numerous devices
One of the challenges with this approach was ensuring the functionality was divided appropriately between the API and the client.
To address this we found it best to focus on two different platforms in parallel. So for example you might have one team working on an HTML5 client, and another team working on an Android application, but both working against the shared API that delivers the service.
Having more than one team working in parallel ensures the components that are common are forced to reside in the API rather than being duplicated in each client or app.
We found the API development was best delivered by an in-house team.
• The API team needs to be very familiar with the problem domain
• An application of any size is going to interface with a number of APIs, therefore it is important to provide a consistent interface for each service
• Most of your operational effort is going to be around the APIs (maintaining service, response times, scaling, data storage etc.), not the client’s applications
In contrast the development of the applications themselves are excellent candidates for outsourced projects
• Work with partners who specialise in coding on particular platforms
• Leverage this experience to deliver a user experience that is familiar for any given device (interaction design for iOS is not the same as that for an Android device).
• Because the complex business logic is wrapped up in the API, the project can be delivered by smaller teams focusing on user experience rather than complex rules.
API first development isn’t the only reason for the success of the Skyscanner applications, but it has certainly helped us deliver a great experience across iOS, Android, Windows 8, Windows Phone, Blackberry and HTML devices.
What do you think? Have we reached the limits of our multi-device world, or will we inevitably end up with more to cope with as the years go by?
About the Author:
With an eye for product, and a passion for mobile, Skyscanner co-founder Bonamy Grimes led the development effort that has resulted in a multi award winning flight search app that has been downloaded over 25 million times.
Bonamy was invited to write for the UX stream of the BIMA blog by the stream’s curators: Nile Experience & Service Design