Вам нужно будет создать клиентское приложение javascript, которое будет хранить изменения и состояние в локальном хранилище HTML5. Таким образом, для пользователя он может выполнять действия, которые впоследствии могут быть сохранены / синхронизированы на сервере (например, когда он снова подключен к Интернету).
Sproutcore идеально подходит для этого. Я не уверен, взаимодействует ли какая-либо из готовящихся библиотек javascript (Backbone.js, spine.js) с локальным хранилищем.
Надеюсь, это поможет.