Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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.

like image 722
elviejo79 Avatar asked Apr 24 '11 19:04

elviejo79


People also ask

How does Google Docs do real time collaboration?

In Google Docs, Sheets, Slides, Forms, and Google Sites, you can work together in the same document in real time. Commenting on any file brings a conversation into context so you avoid back-and-forth email and lost time. Just click New and select one of the file types below.

How do you write Collaborative on Google Docs?

Click “Share” in the upper right hand corner to start collaborating. Anyone you share with will be able to edit, rename, format, and contribute to the document (unless you specify that they can only view it). Sharing settings allow you to decide whether other people can edit or simply view the document (see Figure 2).

Is Google Docs a collaborative tool?

Abstract. Google Docs is a powerful collaborating tool. Traditionally, collaboration can be done by attaching documents to e-mail and sending them to collaborators. By using Google Docs, one needs to have only one copy of document which is kept in the web.

Why is collaboration tools important in Google Docs?

Most useful for: There may be times when people can't meet face to face for group work so this collaboration tool in Google Docs allows people to have 24-hour access to a shared document and can contribute at a time that suits them.


1 Answers

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:

  • Understanding and Applying Operational Transformation
  • Google Wave Operational Transformation
  • Real-time Collaborative Editing with Web Sockets, Node.js & Redis
  • Operational Transformation library?
  • OTpad: Operational Transformations Testing (Etherpad in nodejs)
like image 198
Michelle Tilley Avatar answered Oct 08 '22 08:10

Michelle Tilley