Design Software API for User Experience
Table of Contents
1. Notes for the video
One Core Principle: Every design decision should be made with the user in mind.
Three Rules:
- Deliberately design end-to-end workflows focused on what users care about.
- Reduce cognitive load for your users
- Provide helpful feedback to your users
1.1. Design end-to-end workflows focused on what users care about
- Good APIs are designed as holistic workflows, not as a set of atomic features
- Good APIs closely map to domain-specific notions that users are familiar with
- User-centric design is solution-oriented
- Checkbox-driven APIs are problem-oriented
1.2. Reduce cognitive load for your users
- Good software makes hard things simple
- Poor software makes simple things hard
- Automate everything that can be automated
- Minimize the amount of user input: infer what can be inferred
- Reduce number of steps in each end-to-end workflow
- Make steps simple to remember, consistent, intuitive
- Use consistent and standard naming conventions
- Provide good defaults.
- Good software works out of the box.
- Introduce as few new concepts as possible.
Litmus test: If the cognitive load of a workflow is sufficiently low, it should be possible for a user to go through it from memory without looking up a tutorial or documentation after having done it once or twice.
1.3. Provide helpful feedback to your users
- Have a place where users can ask questions
- Invest in high-quality documentation
- Catch user errors early and anticipate common mistakes
- Provide detailed feedback upon user error
- A good error message should answer:
- What happened, in what context?
- What did the software expect?
- How can user fix it?
References
- https://blog.keras.io/user-experience-design-for-apis.html (Design Software API for User Experience)
- https://medium.com/s/story/notes-to-myself-on-software-engineering-c890f16f4e4d (Design Software API for User Experience)
- https://www.youtube.com/watch?v=4tO3TfL0QzY