A computing device comprising: a processor module; and a memory that comprises a client-side instance of a distributed application executed by the processor module, the distributed application supporting communication between the client-side instance of the application and a server-side instance of the application through use of an application programming interface that complies with a representational state transfer (REST) architecture, the API supporting revision of a resource maintained by the server-side instance of the application independent of other revisions to the distributed application, wherein the client-side instance of the distributed application comprises: a requester component that transmits a request to the server-side instance of the application for a first resource maintained by the server-side instance of the distributed application, the request comprising at least one of an identifier of the first resource or a relation attribute that describes content of the first resource, wherein the client-side instance of the distributed application is compatible with a first version of the first resource; and a receiver component configured to receive a reply to the request, the reply comprising a second version of the first resource, the second version of the first resource comprising the first version of the first resource and a revision to the first version of the first resource. a processor module; and a memory that comprises a client-side instance of a distributed application executed by the processor module, the distributed application supporting communication between the client-side instance of the application and a server-side instance of the application through use of an application programming interface that complies with a representational state transfer (REST) architecture, the API supporting revision of a resource maintained by the server-side instance of the application independent of other revisions to the distributed application, wherein the client-side instance of the distributed application comprises: a requester component that transmits a request to the server-side instance of the application for a first resource maintained by the server-side instance of the distributed application, the request comprising at least one of an identifier of the first resource or a relation attribute that describes content of the first resource, wherein the client-side instance of the distributed application is compatible with a first version of the first resource; and a receiver component configured to receive a reply to the request, the reply comprising a second version of the first resource, the second version of the first resource comprising the first version of the first resource and a revision to the first version of the first resource. a requester component that transmits a request to the server-side instance of the application for a first resource maintained by the server-side instance of the distributed application, the request comprising at least one of an identifier of the first resource or a relation attribute that describes content of the first resource, wherein the client-side instance of the distributed application is compatible with a first version of the first resource; and a receiver component configured to receive a reply to the request, the reply comprising a second version of the first resource, the second version of the first resource comprising the first version of the first resource and a revision to the first version of the first resource.