When designing a RESTful web application, many of us will frequently jump right to representations–what types should be offered, how their content should be structured. This is particularly true when the primary representation type of an application is XML – often we’ll have something in mind, we can almost see the XML document structure needed to accomplish the goal, so why not just start with that?
Because you’ve got to define what it is that your representation is representing before you define the representation. The reason is simple: your representations will be better, because while you’re crafting them, you’ll have in mind the thing that you’re representing
This may seem kind of obvious, and the truth is, I think I agree. It is obvious – but only if you’re designing this application on your own. Once you’re designing an application with one or more other people, there’s a very good chance that you don’t all haveexactly the same conception of your resources – and the best way to obviate that is to clear that up from the get-go. Start with your resources.