http://habrahabr.ru/post/242433/
С
мая 2010 года Google Docs ввёл новый формат документов, который сохраняет подробную историю версий. Вы можете открутить действия назад, словно в замедленном фильме. Текстовый редактор сохраняет время нажатия клавиш с точностью до микросекунды.
Журналист и хакер Джеймс Сомерс сумел
взломать внутренний формат Google Docs и извлечь метки времени для каждого нажатия клавиш. Таким образом, вы можете посмотреть историю создания документа от начала и до конца. Более того, кейлоггер Google Docs очень продвинутый: он присваивает уникальные идентификаторы символам, так что знает даже, откуда и куда скопирована каждая буква!
Самое главное, что для вас открыта история нажатия клавиш и чужих документов, которыми с вами поделились коллеги для совместной работы. Это можно назвать неожиданным поведением программы. Если я создаю документ, а потом открываю к нему совместный доступ, я не могу ожидать, что все коллеги увидят полную историю, как создавался этот текст, какие слова исправлялись и какие предложения удалялись, прежде чем документ выложили на всеобщее обозрение.
Джеймс Сомерс уже несколько лет занимается созданием текстовых редакторов. Введение нового формата Google Docs в 2010 году стало для него личным вызовом, и он приступил к тщательному изучению, написал расширение к Chrome для перехвата нажатий клавиш, создал первую версию «плеера» с историей правок.
Прорыв случился в тот момент, когда Джеймс заметил на вкладке
Network в Инспекторе Chrome, что после каждого нажатия клавиши Chrome генерирует вызов
save
.
Например, при наборе точки в конце предложения отправляется следующая информация:
Эти данные сохраняются в истории изменений, вместе с метками времени. Полную историю версий документа Google Docs можно получить, если зайти в меню «Просмотреть историю изменений» (Revision History). Она вызывается по URL примерно такого вида:
https://docs.google.com/document/d/#{docid}/revisions/load?id=#{docid}&start=1330&end=1341
Достаточно всего лишь изменить параметры
start
и
end
в этом URL, чтобы скачать полную историю изменений документа. Первым ставим единицу, а последнее число подбираем
методом тыка двоичным поиском.
Для генерации «видеороликов» с историей нажатий клавиш Джеймс Сомерс запустил сайт
Draftback.com, который работает через Google API. Загрузив туда свои (или чужие) документы, можно посмотреть, как они создавались.
Draftback автоматически генерирует график с частотностью правок по времени (вверху).
Соммерс говорит, что большинство его коллег были неприятно удивлены, когда он им рассказал о такой «побочной» функциональности Google Docs. Хотя, это вполне логичная функция: как ещё сохранять историю правок, если не с помощью кейлоггера?
Но, с другой стороны, ведь такая функция может раскрыть перед нами новые грани творчества писателей и поэтов, показать историю создания журналистских статей и текстов государственных законов… Нужно всего лишь, чтобы автор работал в Google Docs, а по окончании работы выкладывал свой труд в открытый доступ. Мы можем увидеть от начала и до конца, как создавался каждый текст.