Design Thinking for APIs

D

Design thinking is a widely used “outside-in” approach to develop great user experiences. It’s about time that building the API experience, as the gateway to a business’ digital assets, follows the lead.

Let’s Talk

Humans interact with computer applications through a user interface. This could be a screen and keyboard, swiping on a mobile phone, or speech recognition like Siri or Alexa. Computers talk to other computers using Application Programming Interfaces (APIs). These define specific ways in which applications allow other programs to call it to execute a function or to exchange some data. Not exactly like “Hey Siri, book me a flight to somewhere tropical.” More like “Hey developer, you can talk to me through this cryptic procedure that doesn’t behave like you expect it to. Have at it.”

Computers talking to other computers is nothing new of course. APIs have been around for ages. Developers typically expose the innards of applications by wrapping callable interfaces around them. It didn’t have to be eloquent and a little elbow grease went a long way. This is no longer good enough in the more interconnected world of digital business. Digital ecosystems connect to partners and deliver digital assets to consumers. The “inside-out” way of designing APIs makes it harder for a business to become a digital business.

Remote Controls as APIs

Consider this analogy: I want to watch a show from an Apple TV (a computer) to my TV (a computer with a display) with sound through a receiver (a computer with an amplifier). Should be simple. I have all the equipment and it’s hooked up. All I need is to use the remote controllers, the APIs to the electronics, to tell it what I want it to do.

Enter this:

Stack of remotes

Good luck with that. If you figure it out, try to explain it to your friends who are house sitting while you’re on that tropical vacation. Or to your parents.

Digital Crown Jewels

APIs play a much larger role than ever before in digital business. They connect ecosystems of people, processes and digital assets, the crown jewels of the business that are managed by applications. APIs are the core of the digital platform. Sure, we build on cloud platforms and manage the architecture, but for digital business platforms, the API experience for partners, developers and machines is key.

Outside-in, Inside-out

Product design has long used design thinking as an approach to developing compelling physical products. It is a human-centric approach for products used by people. It is based on an iterative cycle to understand the consumer, define the problem, ideate a solution, build a prototype and test it. The goal is to learn to see what works. Rapid cycles with low-cost models and hands-on testing by consumers. The approach reflects “outside-in” thinking: to design a good user experience, let’s start with a consumer mindset, not with an engineering mindset. It’s not that engineering is less important, it just needs context.

No surprise that design thinking took off to drive the user experience of software. Apps and web interfaces target consumers after all, whether external or internal.

So why don’t we design APIs along the same lines? Maybe because they are designed by developers for developers. And we all know that developers aren’t people. You can just lock them in a room and slide a pizza under the door until the work is done. I jest. I think the reason is that many developers think as engineers, so they expect the consumption side to sort itself out by using an engineering mindset.

Remember the Universal Remote?

Here’s an example of an engineering solution to a poor API experience: API mediation. This is a translation layer on top of APIs to make them easier to consume, by external partners, for example. It is the equivalent of the universal remote: the mother of all remotes.  It comes pre-configured to mimic other remotes (and if not, may the electronics gods have mercy) and combines sequences into tasks. Like “stream a movie”. Sometimes, it even works. Usually not.

There is a place for API mediation, but that’s another topic. Why wouldn’t we start with outside-in thinking to start with?

Design thinking for APIs

What if we use a design thinking-based approach for API development? Same five steps, with some specifics around building interfaces. It doesn’t have to be for a digital platform, but digital platforms increase the need.

Something like this:

Design Thinking APIs diagram

The five steps are:

  1. Emphasize: Who is it for? What is it for? Who are the intermediary consumers and ultimate consumers? What do the APIs connect to? Why do we want to make life easy for developers and business partners?
  2. Define: What does a day in the life of developers and partners interacting with our digital business look like? What is their mental model? What are their skills and experience? What do interaction scenarios look like? What business events drive this?
  3. Ideate: What would make our APIs easy to use? What engagement model would attract developers and partners? How about self-service? What sort of interface models make sense? How can APIs be discoverable? What would an API lifecycle look like?
  4. Prototype: Create a developer portal (low fidelity first). Develop some reference models that implement the high-value scenarios first. Share sample implementations, with test data, to show how the APIs are used in real life.
  5. Test: Work with actual or potential API consumers to validate the engagement approaches. Plan a hackathon to gain new insights and ideas. Observe how the ideas and prototypes work when used by developers and partners. Learn what would inspire better or more use of the APIs, and how they could drive business innovation. Gain insights into how the APIs need to evolve as a product, not just an interface into another product.

Rinse and repeat with short cycles, please.

Takeaway

Design thinking is a tried-and-true approach that improves the user experience of products, services and software applications. API development traditionally follows an engineering-centric instead of a human-centric design approach. As the use of APIs mushrooms in the interconnected world of digital business, this “inside-out” thinking holds us back.

There is a great opportunity to introduce design thinking to improve the way we build and use the entry points into the digital ecosystem.

Ernst Rampen ©2018

Recent Posts

Categories

Follow Me