Many people mistake local-first with local-only. It’s 2024, nobody wants (I hope) to live without Internet but not everything needs to be online all the time.
Local-first software is about optionality and simplicity. I want to be able to use my computer wherever and whenever, Starlink or not. Most of all, I want to be able to choose if I want my data stored somewhere other than on my local disks.
Local-first is about privacy and future-proofing. A native app will run for as long as you have a compatible machine to install it on. “Cloud-only” (SaaS) can shut down any day (just checked killed by Google for some examples) and without notice. You can have your favorite tools rug pulled in an instant, forever gone, and most likely your data gone with it.
While the benefits of local-first are clear, there are concerns that we should address. First and foremost, not all software needs to be local-first. Tools that require real-time collaborative features or demand heavy computation benefit from a cloud-first approach
. But even in this area new tools and algorithms like CRDTs are being constantly developed.Second, there are security concerns. These are mostly overrated. A datacenter miles away from you home is not guaranteed to be more secure, every day there seems to be a new data breach at a big-tech company. Using a secure home connection, and maintaining good security habits (e.g. randomly generated password, using a password manager, 2FA, etc.) is enough to keep your local software safe.
The third concern is perhaps the most valid: storage and data integrity. The good news are that storage is cheap and its costs are always decreasing. If all your tools are local-first you can buy more drives. Data integrity though requires more effort. When using SaaS tools we assume and expect that all our data are routinely backed up without any extra efforts, settings or payment. But in local-first land our data is our responsibility so a good local-backup setup is needed and I’d recommend routine backups even if all your tools are web-based.
Even with its challenges, the local-first philosophy has its appeal: data ownership, privacy, and longevity make it a compelling way of building great software. To give you an example, I hope more software is built like Obsidian (where I’m writing these words btw). You can download it, use it forever on your machine (files are stored as plain text files) and optionally you can choose to pay for a cloud-sync service. Most software could be built this way.