Slides from a talk at TU Kaiserslautern, Germany, 15 May 2019.
Cloud applications such as Google Docs are popular because they enable real-time collaboration with colleagues, and they make it easy for us to access our work from all of our devices. However, by centralizing data storage on servers, cloud apps also take away ownership and agency from users. If a service shuts down, the software stops functioning, and data created with that software is lost.
However, collaboration and data ownership needn’t be at odds with each other. This talk introduces “local-first software”, a set of principles and technologies for software that retain the advantages of the cloud, while also returning data ownership to end users. Local-first ideals include the ability to work offline, cross-device collaboration, as well as improved performance, security, privacy, long-term preservation, and user control of data.
This talk explores various technologies that partially satisfy the local-first principles, and discusses some local-first software prototypes we have created. In particular, we have made good experiences with Conflict-free Replicated Data Types (CRDTs), a family of data structures that are designed from the ground up for multi-user collaboration. This set of ideas points towards a new paradigm for application development.
Further details are in this article: https://www.inkandswitch.com/local-first.html