Repository logo
 

Local-first software: you own your data, in spite of the cloud

Accepted version
Peer-reviewed

Type

Conference Object

Change log

Authors

Wiggins, Adam 
van Hardenberg, Peter 
McGranaghan, Mark 

Abstract

Cloud apps like Google Docs and Trello 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.

In this article we propose "local-first software", a set of principles for software that enables both collaboration and ownership for users. Local-first ideals include the ability to work offline and collaborate across multiple devices, while also improving the security, privacy, long-term preservation, and user control of data.

We survey existing approaches to data storage and sharing, ranging from email attachments to web apps to Firebase-backed mobile apps, and we examine the trade-offs of each. We look at Conflict-free Replicated Data Types (CRDTs): data structures that are multi-user from the ground up while also being fundamentally local and private. CRDTs have the potential to be a foundational technology for realizing local-first software.

We share some of our findings from developing local-first software prototypes at the Ink & Switch research lab over the course of several years. These experiments test the viability of CRDTs in practice, and explore the user interface challenges for this new data model. Lastly, we suggest some next steps for moving towards local-first software: for researchers, for app developers, and a startup opportunity for entrepreneurs.

Description

Keywords

46 Information and Computing Sciences, 4604 Cybersecurity and Privacy, 4606 Distributed Computing and Systems Software, 4608 Human-Centred Computing, 4612 Software Engineering, Networking and Information Technology R&D (NITRD), Bioengineering

Journal Title

Proceedings of the 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software

Conference Name

SPLASH '19: 2019 ACM SIGPLAN International Conference on Systems, Programming, Languages, and Applications: Software for Humanity

Journal ISSN

Volume Title

Publisher

ACM

Rights

All rights reserved
Sponsorship
The Boeing Company