1. A method of updating a document based on instructions received from multiple devices, the method comprising: providing, by a server, via a network, to first and second devices, an option to access a software application maintained by a third party website independent of the server; providing, by the server, to the first and second devices, via embedded frames within parent frames of the third party website, access to a document generated by the software application associated with the third party website; receiving from the first device a first instruction specifying a first change to an object instance within the document; receiving from a second device a second instruction specifying a second change to the object instance; communicating the first change and the second change to the parent frames; transmitting the first change and the second change to the server; determining a transformed operation based on the first change and the second change, the transformed operation comprising a third change that is different from the first and second changes, wherein the transformed operation resolves conflicts between the first and second changes while maintaining the effect of each change, wherein determining the transformed operation comprises: determining if a first result of applying the first change and then the second change to the object instance, and a second result of applying the second change and then the first change to the object instance, are the same; and determining the transformed operation, when it is determined that the first and second results are not the same; transmitting to the first device a first request to apply the transformed operation to a first visual representation of the object instance; transmitting to the second device a second request to apply the transformed operation to a second visual representation; and wherein the first request and the second request are communicated from the parent frames to the software application via the embedded frames.