Quoting Addy Osmani
Summary
Addy Osmani, drawing from 14 years at Google, highlights that any observable behavior in a system, once adopted by a sufficient user base, effectively becomes a dependency, irrespective of explicit promises. This includes users scraping APIs, automating system quirks, and caching bugs. He asserts that compatibility work should be viewed as integral product development, not merely maintenance, due to its critical role in user retention and system stability. Osmani emphasizes that deprecation processes must be designed as comprehensive migrations, incorporating adequate time, robust tooling, and user empathy, suggesting that much of "API design" is, in practice, "API retirement."
Key takeaway
For API Product Managers overseeing evolving platforms, recognize that every user-observed behavior can become a de facto dependency. Your focus should shift from viewing compatibility as a secondary task to integrating it as a primary product feature. Plan deprecations as well-supported migrations with clear timelines and tools to minimize user disruption and maintain trust in your ecosystem.
Key insights
User behavior transforms observable system traits into dependencies, making compatibility a core product concern.
Principles
- Compatibility is product, not maintenance.
- Deprecations require migration planning.
- Empathy is key in API retirement.
Method
Design deprecations as migrations by allocating time, developing tooling, and applying empathy to guide users through changes.
In practice
- Audit existing API behaviors for implicit dependencies.
- Allocate dedicated resources for compatibility efforts.
- Develop clear migration paths for API changes.
Topics
- API Design
- Software Compatibility
- API Deprecation
- Product Management
- User Behavior
Best for: VP of Engineering/Data, AI Product Manager, Software Engineer, Product Manager, AI Architect
Related on AIssential
Editorial summary, takeaway, and curation by AIssential. Original article published by Simon Willison's Weblog.