"Don't Step on My Toes": Resolving Editing Conflicts in Real-Time Collaboration in Computational Notebooks
April Yi Wang, Zihan Wu, Christopher Brooks, Steve Oney
TL;DR
The paper tackles the problem of conflicts in real-time collaboration on computational notebooks by introducing PADLOCK, a JupyterLab extension that provides three mechanisms: cell-level access control to govern visibility and edits at the cell level, variable-level access control to protect runtime variables, and parallel cell groups to enable scoped, concurrent exploration. These features are designed to support diverse collaboration styles and reduce subtle, hard-to-debug interferences in shared notebooks. A laboratory study demonstrates that parallel cell groups are well-received and can improve notebook organization, while highlighting areas for future work such as activity histories and merge notifications, as well as the need for better awareness of collaborators' actions. Overall, PADLOCK advances collaborative data science by offering fine-grained, runtime-aware conflict prevention within a widely used notebook environment, with potential applications in classrooms and open collaboration.
Abstract
Real-time collaborative editing in computational notebooks can improve the efficiency of teamwork for data scientists. However, working together through synchronous editing of notebooks introduces new challenges. Data scientists may inadvertently interfere with each others' work by altering the shared codebase and runtime state if they do not set up a social protocol for working together and monitoring their collaborators' progress. In this paper, we propose a real-time collaborative editing model for resolving conflict edits in computational notebooks that introduces three levels of edit protection to help collaborators avoid introducing errors to both the program source code and changes to the runtime state.
