{"id":3330,"date":"2015-08-14T16:19:43","date_gmt":"2015-08-14T16:19:43","guid":{"rendered":"http:\/\/johnjohnston.info\/blog\/?p=3330"},"modified":"2015-08-14T16:25:27","modified_gmt":"2015-08-14T16:25:27","slug":"draftback-amazing-document-playback","status":"publish","type":"post","link":"https:\/\/johnjohnston.info\/blog\/draftback-amazing-document-playback\/","title":{"rendered":"Draftback amazing document playback"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"\/\/draftback.com\/embed\/81e4711bcce67be74ef78d7b3cc99d4c?autoplay=true\" width=\"100%\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<blockquote><p>Draftback is a <a href=\"https:\/\/chrome.google.com\/webstore\/detail\/draftback\/nnajoiemfpldioamchanognpjmocgkbg\">Chrome extension<\/a> that lets you play back any Google Doc\u2019s revision history (for docs you can edit). It\u2019s like going back in time to look over your own shoulder as you write.<\/p><\/blockquote>\n<p>from: <a href=\"http:\/\/draftback.com\/\">Get Draftback to Play Back Google Docs<\/a><\/p>\n<p>The above is not a video but an embed from Draftback!<\/p>\n<p>Quite amazing, in the short playback above you can see how horrible a typist I am and also see Ian Stuart adding text to the document at the same time as me!<\/p>\n<p>After I posted on G+ this <a href=\"http:\/\/mashe.hawksey.info\/\">Martian Hawksey<\/a> commented with a link <a href=\"http:\/\/features.jsomers.net\/how-i-reverse-engineered-google-docs\/\">How I reverse-engineered Google Docs to play back any document&#8217;s keystrokes \u00ab James Somers (jsomers.net)<\/a>. Which give detail of the creation, a fascinating read.<\/p>\n<blockquote><p>The data that Google stores is, as you might expect, kind of incredible. What we actually have is not just a coarse \u201cvideo\u201d of a document \u2014 we have the complete history of every single character. Draftback is aware of this history, and assigns each character a persistent unique ID, which makes it possible to do stuff that I don\u2019t think folks have really done to a piece of writing before.<\/p><\/blockquote>\n<p>And among explanations that go over my head things like this:<\/p>\n<blockquote><p>When you\u2019re using Google Docs, you\u2019re not actually typing into where you think you\u2019re typing. You\u2019re typing into a textarea in an iFrame off-screen, and through the postMessage API, those events are being sent to the \u201cedit surface\u201d that you see, which does stuff like draw your cursor. (Your cursor on Docs isn\u2019t actually a cursor, it\u2019s a 2px-wide <code>div<\/code>!)<\/p><\/blockquote>\n<p>from: <a href=\"http:\/\/features.jsomers.net\/how-i-reverse-engineered-google-docs\/\">How I reverse-engineered Google Docs to play back any document&#8217;s keystrokes \u00ab James Somers (jsomers.net)<\/a><\/p>\n<p>Would this be a useful tool in the classroom? For discussing pupil work or demonstrating writing?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Draftback is a Chrome extension that lets you play back any Google Doc\u2019s revision history (for docs you can edit). It\u2019s like going back in time to look over your own shoulder as you write. from: Get Draftback to Play Back Google Docs The above is not a video but an embed from Draftback! Quite [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"mf2_syndication":[],"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"webmentions_disabled_pings":false,"webmentions_disabled":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[62,483,459],"post_format":[],"class_list":{"0":"post-3330","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-wwwd","7":"tag-google","8":"tag-privacy","9":"tag-writing","10":"kind-article","12":"h-entry","13":"hentry"},"better_featured_image":null,"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p57zFQ-RI","jetpack_likes_enabled":false,"jetpack_sharing_enabled":true,"kind":false,"_links":{"self":[{"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/posts\/3330","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/comments?post=3330"}],"version-history":[{"count":3,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/posts\/3330\/revisions"}],"predecessor-version":[{"id":15285,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/posts\/3330\/revisions\/15285"}],"wp:attachment":[{"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/media?parent=3330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/categories?post=3330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/tags?post=3330"},{"taxonomy":"post_format","embeddable":true,"href":"https:\/\/johnjohnston.info\/blog\/wp-json\/wp\/v2\/post_format?post=3330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}