Requirements of Google Docs’ Design
In this lesson2 sections
Requirements of Google Docs’ Design
Define what collaborators should see while edits are pending, what “saved” means, and which history remains recoverable. Then estimate document creation and viewing separately from the continuous edit stream.
Requirements
We will define the functional and non-functional requirements for a collaborative editing service.
Functional requirements
Users can perform the following activities:
Document collaboration: Multiple users can edit a document simultaneously, and a large number of users can view it.
Conflict resolution: Propagate edits and reconcile concurrent operations using a defined document model. Replicas may temporarily differ while updates are in flight, but must converge under the protocol’s delivery assumptions.
Suggestions: Offer word or phrase completions and optional grammar suggestions. Treat accepting a suggestion as an edit; it must not silently overwrite a collaborator’s intervening change.
View count: Editors can see the document view count.
History: Users can view the collaboration history.
Keep creation, deletion, and access management simple, but retain authorization checks on every document session and edit. Core collaboration depends on knowing who may read or modify the current document.
The rest of this lesson is for Premium members
Premium opens every lesson in this course, along with all questions and solutions on PracHub.