We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Talks - Lynn Root: The Design of Everyday APIs
Learn API design principles to create intuitive, user-friendly interfaces through discoverability, constraints, feedback & conventions that reduce cognitive load.
-
APIs should be designed with discoverability, affordances, signifiers, constraints, mappings, and feedback to create an intuitive user experience
-
Follow language idioms and conventions - leverage what the programming language naturally affords and what users already know
-
Make APIs flexible for users while maintaining clear constraints - allow basic use cases to work easily while supporting more advanced functionality
-
Minimize cognitive load by:
- Using consistent and appropriate method naming
- Limiting positional arguments in favor of keyword arguments
- Providing sensible defaults
- Not requiring users to provide data the API can generate itself
-
Use symmetrical naming patterns and logical pairs (create/delete, get/set) to make APIs predictable
-
Make error handling and feedback clear and unambiguous - communicate results effectively back to users
-
Design for composability - operations should return data types that can be chained together
-
Provide convenience methods to reduce boilerplate and repetitive code (like iteration helpers)
-
Put the most important information “above the fold” in documentation - how to install, basic examples, and getting started guide
-
Test the API by writing example user code first to identify pain points and unnecessary complexity early
-
Clean up method names by removing redundant nouns when the object type is clear from context