How do you write a real-time webbased collaboration tool such as google docs?

elviejo79 picture elviejo79 · Apr 24, 2011 · Viewed 14.5k times · Source

I'm really curious about

How one would go about writting a collaboration tools such as google docs?

The closest thing that I can think of is to write a messaging system like a chat and then send messages back and forth so that each client updates itself.

Do you know of a tutorial / demo where they program a small tool like this?

What tools do they use to do this kind of apps?

TIA for any pointers you can provide.

Answer

Michelle Tilley picture Michelle Tilley · Apr 24, 2011

Google Docs works via operational transformation.

The basic idea of operational transformation is to transform (or adjust) the parameters of an editing operation according to the effects of previously executed concurrent operations so that the transformed operation can achieve the correct effect and maintain document consistency.

Google produced a video about operational transformation for Google Wave; this technology was ported to Google Docs.

As for technology, check out the following links: