📚 node [[local first software]]

Local-first software

See: Local-first software: You own your data, in spite of the cloud.

Local-first software:

prioritizes the use of local storage (the disk built into your computer) and local networks (such as your home WiFi) over servers in remote datacenters.

The data synchronization need not necessarily go via the Internet: local-first apps could also use Bluetooth or local WiFi to sync data to nearby devices

Why?

Live collaboration between computers without Internet access feels like magic in a world that has come to depend on centralized APIs.

Challenges

In local-first apps, our ideal is to support real-time collaboration that is on par with the best cloud apps today, or better. Achieving this goal is one of the biggest challenges in realizing local-first software, but we believe it is possible:

The developers of mobile apps are generally experts in end-user app development, not in distributed systems. We have seen multiple app development teams writing their own ad-hoc diffing, merging, and conflict resolution algorithms, and the resulting data sync solutions are often unreliable and brittle.

Examples

This is the case because a Git repository on your local filesystem is a primary copy of the data, and is not subordinate to any server.

📖 stoas
⥱ context
⥅ related node [[20211129152900 local_first_software]]