Local-first software

Local-first software is a software engineering approach in which an application stores its data primarily on the user's own device rather than on remote servers.[1] Users can read and write data without an Internet connection, and changes are synchronized across devices in the background when connectivity is available.[2] The approach differs from conventional cloud-based applications, where the server holds the authoritative copy of user data and the client acts as a thin client.[1]

The term was coined in a 2019 paper published by researchers at Ink & Switch, an independent research lab, and presented at the Onward! conference at ACM SIGPLAN.[1] The paper, sometimes referred to as a manifesto, was authored by Martin Kleppmann, Adam Wiggins, Peter van Hardenberg, and Mark McGranaghan.[3]

Background

Before the widespread adoption of Internet-connected software in the 2000s, most desktop applications stored data as files on the user's local disk. Users had direct access to their files and could copy, back up, or delete them at will.[1] The rise of software as a service (SaaS) and cloud-based applications like Google Docs shifted data storage to centralized servers. While cloud applications made real-time collaboration across devices straightforward, they introduced a dependency on the service provider: if the provider discontinued the service or experienced an outage, users could lose access to their data.[1][3]

A related concept, "offline-first," emerged in the early 2010s and focused on making web applications resilient to network interruptions. The local-first approach built on these earlier efforts while placing greater emphasis on long-term data ownership and end-to-end encryption.[4]

Origins

Ink & Switch manifesto

Ink & Switch is an industrial research lab co-founded by Adam Wiggins, who had earlier co-founded Heroku.[5] Martin Kleppmann, an associate professor in the Department of Computer Science and Technology at the University of Cambridge, was a co-author of the 2019 paper.[6]

The manifesto proposed seven "ideals" for local-first software:[1]

  1. Fast — Operations respond without network round-trips.
  2. Multi-device — Data synchronizes across a user's devices.
  3. Offline — Users can read and write data without a network connection.
  4. Collaboration — Multiple users can work on the same data concurrently.
  5. Longevity — Data remains accessible even if the software vendor ceases operation.
  6. PrivacyEnd-to-end encryption protects user data.
  7. User control — The vendor cannot restrict how users access or use their data.

The paper surveyed existing approaches to data storage and collaboration — ranging from email attachments and Dropbox-style file synchronization to web applications and mobile backends — and argued that none of them satisfied all seven ideals simultaneously.[1]

Role of CRDTs

The manifesto identified conflict-free replicated data types (CRDTs) as a promising technical foundation for local-first applications.[1] CRDTs are data structures that allow multiple replicas to be edited independently and then merged without conflicts, a property first formalized in research by Marc Shapiro and colleagues around 2011.[3] Kleppmann and collaborators at Ink & Switch developed Automerge, an open-source CRDT library for JSON documents, to make these algorithms available to application developers.[3]

Adoption and community

Developer interest in the local-first approach grew after the 2019 paper spread on Hacker News and at developer conferences[2] In August 2023, Wired published a feature article on the movement, describing it as an effort to reduce reliance on large cloud providers.[3]

The first Local-First Conf took place on 30 May 2024 in Berlin, with talks by Kleppmann and developers from companies including Linear and Anytype.[7] The community has continued to expand, with regular "LoFi" meetups, a podcast (localfirst.fm), and a third edition of the conference planned for Berlin in July 2026.[8]

Criticisms and limitations

Developers and commentators have pointed out practical difficulties with the local-first approach.

Synchronizing data between multiple devices that may be offline for extended periods introduces complexity that cloud-based architectures avoid. Conflict resolution, even with CRDTs, can produce results that are technically consistent but semantically unexpected to users.[9] Schema migrations across thousands of client devices running different application versions pose another difficulty that does not arise with server-side databases.[9]

Web browsers impose storage limits and may evict locally stored data. Safari, for instance, has been reported to clear IndexedDB data after seven days of inactivity on a given site, which undermines the assumption that local data is persistent.[9]

There is also disagreement within the local-first community about whether a fully decentralized architecture is required. The original manifesto described decentralization as the "logical end goal," but a number of products that identify as local-first still depend on centralized servers for authentication, backup, or synchronization. In a talk at Local-First Conf 2024, Kleppmann said the seven ideals are better understood as a "gradient" rather than a strict checklist.[4]

See also

References

  1. ^ a b c d e f g h Kleppmann, Martin; Wiggins, Adam; van Hardenberg, Peter; McGranaghan, Mark (October 2019). Local-first software: You own your data, in spite of the cloud. 2019 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward!). Athens, Greece: ACM. pp. 154–178. doi:10.1145/3359591.3359737.
  2. ^ a b "What's the Buzz About the Local-First Software Movement?". DevPro Journal. 26 April 2024. Retrieved 16 February 2026.
  3. ^ a b c d e "The Cloud Is a Prison. Can the Local-First Software Movement Set Us Free?". Wired. 3 August 2023.
  4. ^ a b "Local-First Software: Origins and Evolution". PowerSync Blog. 2024. Retrieved 16 February 2026.
  5. ^ "How Local-First Development Is Changing How We Make Software". Heavybit. Retrieved 16 February 2026.
  6. ^ "Dr. Martin Kleppmann". University of Cambridge Department of Computer Science and Technology. Retrieved 16 February 2026.
  7. ^ "Local-First Conf 2024". Local-First Conf. Retrieved 16 February 2026.
  8. ^ "Local-First Conf 2026". Local-First Conf. Retrieved 16 February 2026.
  9. ^ a b c "Why Local-First Software Is the Future and Its Limitations". RxDB. Retrieved 16 February 2026.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.