Programmer Experience When Using CRDTs to Build Collaborative Webapps: Initial Insights
Conflict-free Replicated Data Types (CRDTs) are data structures that are supposed to make multi-user applications easier to develop. In this paper, we describe our initial insights from a qualitative user study that seeks to answer the question: how hard is it in practice to add real-time collaboration to a web app using CRDTs? We performed coding interviews with 15 participants using three different CRDT libraries; Automerge, Collabs, and Yjs. We observed participants’ confusion between local and collaborative data, their struggle to understand replica initialization, and the impact of different library designs on how quickly or slowly participants got started implementing their solutions, and how buggy or not, their solutions tended to be. We hope our work highlights directions for CRDT library developers to further improve.