LocalFirst
This page explores local-first software - software that keeps your data locally as much as possible and only sends it over the network for synchronization or backup.
The paper linked above defines seven ideals for local-first software. I will only be considering those that I consider important.
Most software these days is designed to be cloud-first. Data and often the application itself is served from the cloud with the user mostly dependent on thin clients like web/electron apps. Keeping data locally is increasingly de-emphasized over keeping it in the cloud. Cloud-first software is less free from a user freedom perspective and less convenient as well.
Here is a listing of local-first software that I already use as replacements for cloud-first software.
Cloud-first software | Local-first alternative |
---|---|
Google Docs | LibreOffice + Syncthing |
Evernote | Emacs org-mode + Syncthing |
ToDoist | Emacs org-agenda, Orgzly + Syncthing |
I currently see a lot of potential in Syncthing and the SQLite database. Any application that exposes its storage as a set of files that Syncthing can sync or as a SQLite file can be potentially used as a local-first application.
Though local-first is something developers have to consider in the architecture of their applications, end-users can also take control by using their desktop and mobile applications together with synchronization solutions to have a local-first experience.