skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


Title: LiteDoc: Make Collaborative Editing Fast, Scalable, and Robust
Collaborative text editing applications like Google docs, Etherpad and Overleaf allow users to con- currently edit a “shared” document. Most existing collab- orative text editing software require total ordering on the updates made to the document, which is achieved using a centralized sever or some form of consensus algorithm. Then on top of the ordering, the editor uses either opera- tional transformation (OT) or differential synchronization (diff-sync) to apply the ordered update events to the already committed changes on their local copies. If there is no delay or failure, then eventually all updates can be applied correctly in the agreed order. Unfortunately, not only are these methods computation- ally intensive but they often result in conflicts due to users writing to the same location. It has also been proved that the metadata overhead for such protocols are at least linear in the number of delete events. Moreover, these event- based and diff-based algorithms are exceptionally difficult to implement and there are no provably correct solutions to these problems in the face of heavy concurrency. These collaborative editors either provide no proven guarantees or only provide eventual guarantees for correctness. With LiteDoc, we propose a different approach to tackle this problem: we make collaborative editing fast, scalable and robust by providing simplified semantics. More im- portantly, we can formally prove that LiteDoc achieves deterministic guarantees of correctness. LiteDoc divides the shared document into several sections and allow only one user to write at a particular section at any given time. This removes all conflicts that arise from having multiple writers writing to the same location. This mechanism also obviates the task of implementing cumbersome modules for OT, diff-sync and rollbacks in case of conflicts. Note that while LiteDoc supports less features than general collaborative editors like Google docs, it is natural (and courteous) to avoid concurrent writing to the same location when multiple people collaborate.  more » « less
Award ID(s):
1816487
PAR ID:
10176145
Author(s) / Creator(s):
Date Published:
Journal Name:
PerCom workshop
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. This poster will describe and compare different visualizations for collaborative writing using cloud-based platforms (e.g., Google Docs). The aim is to develop effective visualizations for a Learning Analytics Dashboard (LAD) to understand the processes undergirding cloud-based group writing and to support team textual practices. Theoretically situated in the literatures on Collaborative Learning Analytics, collaborative sense making, and social annotations, the visualizations will provide valuable and varied insights to researchers, educators, and students. We will be testing the visualizations and the final LAD with undergraduate students, instructors, and researchers from the fields of learning sciences and educational psychology. 
    more » « less
  2. Abstract Modern CAD tools represent 3D designs not only as geometry, but also as a program composed of geometric operations, each of which depends on a set of parameters. Program representations enable meaningful and controlled shape variations via parameter changes. However, achieving desired modifications solely through parameter editing is challenging when CAD models have not been explicitly authored to expose select degrees of freedom in advance. We introduce a novel bidirectional editing system for 3D CAD programs. In addition to editing the CAD program, users can directly manipulate 3D geometry and our system infers parameter updates to keep both representations in sync. We formulate inverse edits as a set of constrained optimization objectives, returning plausible updates to program parameters that both match user intent and maintain program validity. Our approach implements an automatically differentiable domain‐specific language for CAD programs, providing derivatives for this optimization to be performed quickly on any expressed program. Our system enables rapid, interactive exploration of a constrained 3D design space by allowing users to manipulate the program and geometry interchangeably during design iteration. While our approach is not designed to optimize across changes in geometric topology, we show it is expressive and performant enough for users to produce a diverse set of design variants, even when the CAD program contains a relatively large number of parameters. 
    more » « less
  3. Generative AI models, specifically large language models (LLMs), have made strides towards the long-standing goal of text-to-code generation. This progress has invited numerous studies of user interaction. However, less is known about the struggles and strategies of non-experts, for whom each step of the text-to-code problem presents challenges: describing their intent in natural language, evaluating the correctness of generated code, and editing prompts when the generated code is incorrect. This paper presents a large-scale controlled study of how 120 beginning coders across three academic institutions approach writing and editing prompts. A novel experimental design allows us to target specific steps in the text-to-code process and reveals that beginners struggle with writ- ing and editing prompts, even for problems at their skill level and when correctness is automatically determined. Our mixed-methods evaluation provides insight into student processes and perceptions with key implications for non-expert Code LLM use within and outside of education. 
    more » « less
  4. Structure editors operate directly on a program’s syntactic tree structure. At first glance, this allows for the exciting possibility that such an editor could enforce correctness properties: programs could be well-formed and sometimes even well-typed by construction. Unfortunately, traditional approaches to structure editing that attempt to rigidly enforce these properties face a seemingly fundamental problem, known in the literature asviscosity. Making changes to existing programs often requires temporarily breaking program structure—but disallowing such changes makes it difficult to edit programs! In this paper, we present a scheme for structure editing which always maintains a valid program structure without sacrificing the fluidity necessary to freely edit programs. Two key pieces help solve this puzzle: first, we develop a novel generalization ofselectionfor tree-based structures that properly generalizes text-based selection and editing, allowing users to freely rearrange pieces of code by cutting and pasting one-hole contexts; second, we type these one-hole contexts with a category oftype diffsand explore the metatheory of the system that arises for maintaining well-typedness systematically. We implement our approach as an editor calledPantograph, and we conduct a study in which we successfully taught students to program with Pantograph and compare their performance against a traditional text editor. 
    more » « less
  5. This paper describes the use of a freely-accessible open-source platform based on Google Apps for Education that combines Google Sites, Google Docs, Google Drive, Google Hangouts and script language in a custom-based interface that supports collaborative service-learning projects for teams of Engineering and Education students. The approach discussed in this paper was successful in promoting collaboration among students from two different disciplines working remotely. The analysis suggests that balanced participation in the team, presence of shared goals and clear roles that emphasized individual and collective responsibilities were key to a successful interdisciplinary project experience. While many students still reported struggling with normal teamwork challenges, like finding common meeting times, others were pleased with the dynamics of their team and the opportunity to learn from one another. While SCOL, the open-source collaboration tool, did not significantly predict team satisfaction, the instructors found it very valuable for structuring project tasks, monitoring student progress, and providing timely feedback. The tool was seen as critical in supporting cross-disciplinary course collaboration for which students had limited access to face-to-face interaction. Faculty emphasized the importance of training students to use the asynchronous communication and collaboration tools (e.g., Google Docs and Google Hangouts) to maximize the benefits for students. Training will be included in future implementations of SCOL to ensure a more effective use of the platform. 
    more » « less