CRATE: Writing Stories Together with our Browsers

  title={CRATE: Writing Stories Together with our Browsers},
  author={Brice N{\'e}delec and Pascal Molli and Achour Most{\'e}faoui},
  journal={Proceedings of the 25th International Conference Companion on World Wide Web},
Real-time collaborative editors are common tools for distributing work across space, time, and organizations. Unfortunately, mainstream editors such as Google Docs rely on central servers and raise privacy and scalability issues. CRATE is a real-time decentralized collaborative editor that runs directly in web browsers thanks to WebRTC. Compared to state-of-the-art, CRATE is the first real-time editor that only requires browsers in order to support collaborative editing and to transparently… 
A scalable sequence encoding for collaborative editing
This study proposes an approach based on a massively replicated sequence data structure that represents the shared document to establish an original trade‐off on communication, time, and space complexity to maintain this sequence over a network of browsers and proves a sublinear upper bound on communication complexity while preserving an affordable time and space complex.
An adaptive peer-sampling protocol for building networks of browsers
Spray is a novel random peer-sampling protocol that dynamically, quickly, and efficiently self-adapts to the network size and significantly reduces the network traffic according to the number of participants and saves bandwidth.
Interleaving anomalies in collaborative text
Collaborative text editors allow two or more users to concurrently edit a shared document without merge conflicts. Such systems require an algorithm to provide convergence, ensuring all clients that
Interleaving anomalies in collaborative text editors
A specification of collaborative text editing is proposed that rules out an undesirable anomaly in which concurrently inserted portions of text with a well-defined order may be randomly interleaved on a character-by-character basis, resulting in an unreadable jumble of letters.
Ladda: SPARQL Queries in the Fog of Browsers
Ladda is presented: a framework for query execution in a fog of browsers where end-user devices collaborate to process SPARQL queries over TPF servers and reduces the makespan of the workload and improves the overall throughput of the system.
PushPin: towards production-quality peer-to-peer collaboration
This paper identifies approaches that work well in the experience of taking P2P data synchronisation and collaboration technologies beyond research prototypes, and highlights areas in need of further research, such as the reliability of NAT traversal and usability challenges.
OpSets: Sequential Specifications for Replicated Datatypes (Extended Version)
The Isabelle/HOL proof assistant is used to formalise the OpSets approach and produce mechanised proofs of correctness of the main claims in this paper, thereby eliminating the ambiguity of previous informal approaches, and ruling out reasoning errors that could occur in handwritten proofs.
Verifying strong eventual consistency in distributed systems
This work develops a modular and reusable framework in the Isabelle/HOL interactive proof assistant for verifying the correctness of CRDT algorithms, and obtains the first machine-checked correctness theorems for three concrete CRDTs.
A conflict‐free replicated data type for collaborative annotation systems
A new conflict‐free replicated data type called OAC‐Set is presented, which extends Open Annotation Collaboration data model to enable concurrent annotations while guaranteeing convergence, causality, and intention preservation criteria.
formic: Building Collaborative Applications with Operational Transformation - (Work in Progress)
This work provides a library that utilizes the underlying technology, namely Operational Transformation, to simplify the development of collaborative web applications and features a novel transformation function that enables simultaneous editing of JSON objects.


LSEQ: an adaptive structure for sequences in distributed collaborative editing
This paper proposes and models LSEQ, an adaptive allocation strategy for a sequence CRDT that achieves in the average a sub-linear spatial-complexity whatever is the editing behaviour and validates it showing that it outperforms existing approaches.
Spray: an Adaptive Random Peer Sampling Protocol
This paper introduces Spray, a novel peer-sampling protocol designed to avoid the constraints introduced by WebRTC, and has the ability to adapt its operation to networks that can grow or shrink very rapidly.
Conflict-Free Replicated Data Types
This paper formalises two popular approaches (state- and operation-based) and their relevant sufficient conditions and studies a number of useful CRDTs, such as sets with clean semantics, supporting both add and remove operations, and considers in depth the more complex Graph data type.
Gossip-based peer sampling
This paper presents a generic framework to implement a peer-sampling service in a decentralized manner by constructing and maintaining dynamic unstructured overlays through gossiping membership information itself, which generalizes existing approaches and makes it easy to discover new ones.
A comprehensive study of Convergent and Commutative Replicated Data Types
This paper formalises asynchronous object replication, either state based or operation based, and provides a sufficient condition appropriate for each case, and describes several useful CRDTs, including container data types supporting bothadd and remove operations with clean semantics, and more complex types such as graphs, montonic DAGs, and sequences.