I can't believe I missed this gem that Roy T. Fielding put out in October! If you're not up for reading the monster dissertation at least read this post and the comments.
A REST API must not define fixed resource names or hierarchies (an obvious coupling of client and server). Servers must have the freedom to control their own namespace. Instead, allow servers to instruct clients on how to construct appropriate URIs, such as is done in HTML forms and URI templates, by defining those instructions within media types and link relations. [Failure here implies that clients are assuming a resource structure due to out-of band information, such as a domain-specific standard, which is the data-oriented equivalent to RPC's functional coupling].Spot on Roy! "Form follows function"
I understand how hard it is to implement an architecture and want to get it right according to the specification. Every time I look at his dissertation I come across something I missed last time I visited it. His post is a quick and dirty checklist that I can now referr to.
Users of the new Fellowship One will be seeing the above as well as other principles lined out in the post implemented in the new RESTful API (the API demoed in the video was a prototype. URIs, hypertext, and the like in the finished version conform to RESTful architectural principles).