PushPin: Towards Production-Quality Peer-to-Peer Collaboration
Peter van Hardenberg and Martin Kleppmann
7th Workshop on Principles and Practice of Consistency for Distributed Data (PaPoC),
Online (originally planned to be in Heraklion, Crete, Greece),
April 2020.
Abstract
Fully peer-to-peer application software promises many benefits over cloud software, in particular,
being able to function indefinitely without requiring servers. Research on distributed consistency
mechanisms such as CRDTs has laid the foundation for P2P data synchronisation and collaboration. In
this paper we report on our experience in taking these technologies beyond research prototypes, and
working towards commercial-grade P2P collaboration software. We identify approaches that work well
in our experience, such as the functional reactive programming paradigm, and highlight areas in need
of further research, such as the reliability of NAT traversal and usability challenges.