Private Draft Branching in Collaborative Document Editing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud-based document collaboration platforms lack the ability to allow users to privately draft their edits without revealing them to other collaborators in real time, which can be uncomfortable for users who prefer to keep their work product hidden during the drafting process.
Innovation Solution
A method is implemented where a mainline causal tree structure is used to manage editing instructions, allowing users to take sections of a document into a draft mode, creating a separate draft branch to store private edits, and merging these edits back into the mainline structure upon publication, while using an RTree for managing edits in spreadsheet documents.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If all users are able to see one another's edits in real time in a cloud-based document collaboration platform, then collaboration transparency and real-time feedback are improved, but user privacy and comfort during the drafting process deteriorate
Solution Approach 1:
The document is segmented into different branches in the causal tree structure. The mainline branch contains published edits visible to all collaborators, while draft branches contain private edits visible only to the drafting user. This segmentation allows users to separate their private drafting work from public collaboration, resolving the contradiction between transparency and privacy.
Solution Approach 2:
The causal tree structure acts as an intermediary between private draft edits and public collaborative edits. Edits are first created in draft branches (private), then selectively merged into the mainline branch (public) through a publish action. This intermediary structure enables users to control when and how their edits become visible to others, balancing privacy and collaboration transparency.
2Object-affected harmful factors
If a separate draft branch is created to store private edits, then user privacy during drafting is improved, but system complexity increases
Solution Approach 1:
The causal tree structure serves multiple functions: it stores both draft edits (private) and published edits (public), manages version history, and enables selective merging. By making the causal tree multi-functional, the system avoids needing separate complex structures for drafting and publishing, thereby reducing overall system complexity while maintaining user privacy.
Solution Approach 2:
The system pre-creates draft branches as part of the standard editing workflow, allowing users to immediately begin private drafting without additional setup. The draft branch structure is prepared in advance with all necessary properties, so users don't need to manage complex private editing mechanisms manually, reducing the perceived complexity for users.
3Loss of information
If edits are merged from draft branch to mainline causal tree, then collaboration transparency is improved, but loss of private drafting capability deteriorates
Solution Approach 1:
The visibility of edits is dynamic rather than static. Edits exist in a draft state (private) and can transition to a published state (public) when the user chooses to merge them into the mainline. This dynamic state transition allows users to maintain private drafting capability while enabling collaboration transparency on demand, resolving the contradiction between the two features.
Solution Approach 2:
Users perform the merge action from draft branch to mainline only when they are ready to share their edits with collaborators. This preliminary private drafting followed by selective publishing allows users to maintain full private drafting capability while achieving collaboration transparency at the appropriate moment, rather than forcing immediate transparency.
Data Source
AI summary
A method for facilitating private drafting is described. A request to edit a section of a document in a draft mode is received from a first user of a plurality of users collaborating on the document. An edit for the section of the document in the draft mode is received from the first user. A result of the edit is displayed on a computing device of the first user but not on computing devices of other users of the plurality of users. A request to publish the edit is received from the first user. In response to the request to publish the edit, the result of the edit is displayed on computing devices of the other users of the plurality of users.


