The Alan Barr Show

API-First Design


Listen Later

What is design

Mike Montiero says, "A designer solves problems within a set of constraints".

What is API Design?

The goal of API design is to try and get the defined API interface as right as possible at the beginning because the consequences are severe and lasting when you don't get them right. The reason it is severe is because people can build on top of the API and you cannot change it easily after that.

The goal of API design is to try and get the defined API interface as right as possible at the beginning because the consequences are severe and lasting when you don't get them right. The reason it is severe is because people can build on top of the API and you cannot change it easily after that.

API design is a cultural change in how people apply a process to doing their work. Microservices, domain driven design, cloud native, project to product, and inner sourcing are types of cultural transformations companies go on.

The Goal of Design

You are responsible for the work you put into the world based on Mike Montiero's summary of Victor Papanek's Design for the Real World.

API-First Design versus Code-First?

According to Kevin Sookocheff, this might be a false dichotomy with api development existing on a continuum.

  • API Description First
  • Coded API Description
  • API Framework
  • Implementation First
  • Implementation First suffers from two problems that other practices do not. A lack of forethought in API design and the risk of the API description becoming out of synchronization with the API description.

    Good APIs according to JJ Geewax.

    • Operational
    • Expressive
    • Simple
    • Predictable
    • API Creation Process according to Kirsten Hunter

      • Business Value
      • Metrics
      • Use Cases
      • API Design & schema model
      • As designers of software it is our job to frame for others the decisions they are making.

        Publishing an API is a consequential and irreversible decision. By adding friction to this activity we can create compounding leverage by developing a foundation of proven API design patterns to start with instead of starting from scratch each time. We can create better software products by removing the friction that makes doing work hard for no good reason. We can also improve what we make by adding friction that results in better quality experiences.

        Poor designs cause real problems in the world like the Amazon s3 cli that cause an outage and the Citibank $500,000,000 UI problem.

        ...more
        View all episodesView all episodes
        Download on the App Store

        The Alan Barr ShowBy Alan Barr