Gabe Wachob provides tips for API developers. In contrast to my low-level approach, Wachob looks at API design from a holistic perspective. Although he speaks on API design for web services, most of his tips are relevant to every aspect of API design. For example:
- API can be seen as a separate product you are delivering
- One can document the service and not just the API
- Provide a reference client application to demonstrate usage of the API
The one that I am most fond of involves developing against your API “fun and personal”. Wachob links another post explaining that last point, in which he writes:
“If you are a developer, you know what the thrill of the hack is – when your building something, and you sit down and implement a new feature and all of a sudden, your stuff plugs into a bunch of other people’s stuff and what was once a cool standalone thing is now part of an ecosystem of interoperating cool stuff. The whole becomes greater than the sum of the parts. And you, the developer, are part of it.”
Here Wachob references web services, developer communities and open source development. I need to think about how this translates to the design of product APIs and protocol stacks and I’m open for new ideas.