Skip to content

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.


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.