

How I reverse-engineered Google Docs to play back keystrokes (2014) - twampss
http://features.jsomers.net/how-i-reverse-engineered-google-docs/

======
vmarsy
(2014) should be added to the title.

There was some previous discussion about it here:
[https://news.ycombinator.com/item?id=8562483](https://news.ycombinator.com/item?id=8562483)

------
bobmagoo
That would make for a hell of an anti-plagiarism tool. If you were a teacher
and took 30 essays written in gDocs, threw them into the change timeline that
he built, the copy/pasted ones would hugely stick out. It would even catch the
folks that put a paid/plagiarized essay up on one screen and type it out again
given all the natural backspacing and editing.

~~~
phn
It falls apart if someone makes the document in any other tool and then pastes
it on gDocs.

Unless you make it a requirement to do the entire thing on that platform...

~~~
bobmagoo
Yeah, you'd have to, but gMail/gDocs is pretty prevalent. I know a bunch of
schools already use it for their email/office suite so it wouldn't be too hard
to make that requirement. I really like it because it's grabbing metadata out
of something people already use rather than having them use some horrible web
app from the 90's that was contracted out by a now defunct company.

~~~
nashashmi
I am against making anything like this a "requirement." It defeats openness.
And all for a stupid anti-cheating system. It's better just to go to
turnitin.com

------
vacuo
This is simply fantastic. I always thought operational transformation was
pretty difficult to implement robustly, but looking at Google's implementation
lets you build interesting experiments without getting all those details right
-- like building the world's best writing time machine. It reminds me of Cory
Doctorow's approximation built on git:
[http://craphound.com/news/2009/02/13/flashbake-free-
version-...](http://craphound.com/news/2009/02/13/flashbake-free-version-
control-for-writers-using-git/)

I think there are great possibilities for building on this idea...

------
imperialdrive
Kudos to the OP and Author - One of the best posts this year. The writing,
samples, typography, everything about this was damned good - all that effort!
Now I can make the drive to work with something to think about :)

------
bdavisx
Google Docs is using what's called EventSourcing, in case you aren't aware of
that. It's one way to make collaborative editing possible (probably the
easiest?).

[http://martinfowler.com/eaaDev/EventSourcing.html](http://martinfowler.com/eaaDev/EventSourcing.html)

------
th3iedkid
Are there any machine learning applications on these play-back time-series ?

------
RyanMcGreal
I read this thinking, "This reminds me of Etherpad," only to reach the part of
the story that describes Etherpad and how the author incorporated and improved
on its ideas. Great piece.

