В последнее время облачные приложения приобретают всё большую популярность. Они обладают рядом преимуществ: не требуют установки, хранят сведения удаленно (что снижает вероятность их потери), упрощают отправку документов, избавляют от необходимости беспокоиться о формате файлов, переносят сложные вычисления с машины пользователя на, как правило, значительно более мощный сервер. Но, кроме всего перечисленного, они позволяют совместно разрабатывать документы, не заботясь о настройке соединения.
Однако организация эффективной совместной работы с документами сопряжена с рядом трудностей, вызванных необходимостью выполнения следующих условий:
- Все изменения должны происходить мгновенно. Нужно предоставить пользователю возможность продолжать работу с документом, не дожидаясь подтверждения внесения правок со стороны сервера.
- После окончания работы версии файла у клиента и на сервере должны совпадать.
- Принцип сохранения намерений (intention preservation): необходимо сохранить изменения, внесенные каждым пол