One of the hardest things about finding out your API is unusable is deciding what to do with that feedback. Do you release a new version of the API that’s more usable and support both versions indefinitely? Do you deprecate the old version and risk losing customers who are now forced to migrate?
Wouldn’t it be better if you could just avoid the problem entirely? This is where the design-first API process comes in. Rather than building an entire API from scratch, teams using the design-first API process build a prototype of an API, before building the backend functionality. In this way, the design-first API process lets you quickly iterate on usability improvements while it’s still early enough to act on what you learn. In this blog, I’ll walk you through how you can implement the design-first process at your company.
As the API ecosystem has grown more mature, we’ve started to see a number of tools for doing API mocking. Just like how designers of graphical user interfaces start in a tool like Figma before writing a single line of code, designers of APIs can use API mockup tools before writing any backend logic. Some good options include:
It can be tempting to try to build your whole API surface at one go, but remember that your goal at this stage is to maximize opportunities for learning. That means starting with a critical user journey. If you are designing the APIs for a machine learning platform, for example, a critical user journey might be:
Using the mockup tool you selected, write the APIs you think you would use for this one critical user journey.
While we would all like to believe our APIs are self-documenting, consider taking the time to write a basic conceptual overview of your service. This will be useful not just for helping testers build context but also will save you time once you are ready to release your API. You should cover things like:
Now for the most important part: find some customers and show them what you’re building! For the most valuable feedback, you want to test with developers who have never seen your APIs before. These could be people in your own company who work on different teams, or potentially new team members who are still learning about your technology stack.
You could also consider using a professional API usability testing service like Usabl. The advantage of using a professional service includes:
Once you have seen what your customers have to say about your design, iterate! Consider:
By incorporating design-first practices into your API development, you can ensure you get your API surface right the first time, minimizing support costs for your team and increasing customer satisfaction.
Learn more about how API usability impacts your business