Application developers are the customers of your API. Success is measured by how quickly those developers enjoy success using your API in their applications. And rapid adoption of an API by your internal, partner, or external developers is all about design.
Building upon their prior work in API design, Marsh Gardiner and Brian Mulloy unveil RV, a style of API design that embraces developer adoption as its guiding principle. They explore the constraints and opportunities introduced by RV and discuss RV's place in the context of other design approaches like REST and Hypermedia.
See the youtube video of this webcast https://www.youtube.com/watch?v=u-bGz9HQIuo
URIs are interfaces
Obviousness
Every thing gets a resource, an address.
This is the naming of things. We have a long history of mapping people-friendly names onto machine ids.
There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton
So we have things. Things are nouns. Things have a state.
Now we need to be able to take primitive actions on those things. Things are stored somewhere. Our basic palette of verbs gives us CRUD.
http://en.wikipedia.org/wiki/Create,_read,_update_and_delete
Being pragmatic, let’s spend some time to apply some of them directly.
Similar things belong in groups
Case sensitivity
Avoid hierarchies
https://stripe.com/docs/api
Consider the developer adoption perspective when wrestling with API design problems.
Check out resourceverb.com for more background and patterns, and get in touch with us through the channels you find there.
… and start making better APIs.