How does OT help make offline editing work in a way that a similar algorithm relying on a centralized system doesn't? Both are a form of Command pattern, both can store a buffer of changes to send to the server now or at a later time - OT just has more requirements and complexity in order to support peer-to-peer merging too, which Google Docs as far as we can tell doesn't actually use. I fail to see the difference vis-a-vis offline editing. (Not to mention that the very concept of "offline" requires there to be some central server from which you are disconnected).