System Design: Google Docs

Learn what collaborative document editing is and what plan to follow for designing such a service.

Problem statement

Imagine two students are preparing a report on a project they’ve just completed. Since the students live apart, the first student asks the second student to start writing the report, and the first student will improve the received copy. Although quite motivated, the students soon understand that such a collaboration is disorganized. The following illustration shows how tedious the process can get.