Collaborative Editing in GitLab
_Disclaimer_ _This Issue may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc._ # What do we mean by Collaborative Editing in GitLab? Enable multiple users to simultaneously edit within the GitLab interface, with real-time synchronization of changes, conflict resolution, and presence awareness. This capability would allow multiple team members to work on the same document simultaneously, seeing each other's edits in real-time, with visual indicators showing who is editing which part of the document. Implementations in the market include: * Google Docs collaborative editing * Microsoft Visual Studio Live Share * Atlassian's collaborative editing in Confluence * Notion's collaborative document editing # What's the value of adding Collaborative Editing in GitLab? * **Improved Collaboration:** Enables team members to work together seamlessly on the same files. Teams can collaboratively author documentation, code comments, issue descriptions, and wikis with immediate feedback. * **Reduced Context Switching:** Eliminates the need to switch between GitLab and external collaborative editing tools, keeping all project-related activities within a single platform. * **Increased Productivity:** Reduces time spent resolving merge conflicts and waiting for sequential edits. * **Enhanced Knowledge Sharing:** Facilitates real-time mentoring, pair programming, and code reviews, which are particularly valuable for remote and distributed teams. * **Streamlined Documentation:** Makes maintaining project documentation more efficient, encouraging more comprehensive and up-to-date documentation. # Proposed Implementation Phases Below is an overly simplistic first draft of the implementation of this capability. #### **Phase One (TBD)** 1\. [Engineering Feasibility](https://gitlab.com/gitlab-org/gitlab/-/issues/521408) (Owner: TBD) * Assess engineering complexity and time requirements * Determine whether implementation is feasible across the entire product * Evaluate if isolating the feature to specific areas would be more advisable 2\. [Product Validation](https://gitlab.com/gitlab-org/gitlab/-/issues/538415) (Owner: @mmacfarlane) * Validate the business case for proceeding with this project * Define the jobs-to-be-done (JTBD) this feature would address * Clearly articulate the rationale behind the project 3\. [Design and User Experience](https://gitlab.com/gitlab-org/gitlab/-/issues/538414) (Owner: @afracazo) * Develop visual concepts for how collaborative editing would appear in GitLab * Map the user journey for entering and using a collaborative editing environment * Ensure design consistency with GitLab's established patterns #### **Phase Two (TBD)** * Carve out Engineering capacity and estimate timelines #### **Phase Three (TBD)** * Begin development
epic