Problems: Software principles.

Local first software


Software should be designed to work locally first, without needing a server side component


Many new projects are written to be server side - that is run by a web server or written as a native mobile application

This makes it difficult to run the software locally, like a desktop application. You essentially have to self host the application to use the software yourself and lock it down with users if the server is on the internet.

Older software was local first - that is it saved files and the files were used to store the application's data. Traditional office applications are local first.

The problems with collaboration and local first software are solved by CRDTs and synchronization. See the category for distributed data storage.


(suppress notifications) (Optional) Please, log in.

I really like the idea of local-firstness...

There is a related (but not exactly the same) concept of "offline-first" software. I guess, the difference is in the software shipping mode, in that local-first has to be shipped as OS packages or source code, whereas the term "offline-first" is often used to mean the web-apps, meaning, shipped by opening a website (which is a bit oxymoronic).