I first came across this topic from Peter van Hardenberg - Why Can’t We Make Simple Software? talk at Handmade Seattle 2022. Peter started by outlining some of the common pathways software follow that lead to complexity: error checking, scale, etc. But where they landed was especially interesting. What if there was a paradigm shift away from cloud-based servers to local applications. Almost a laughable revelation given this is how all applications used to work (and many still do) - but the crux of why it's different is the first-class focus on collaboration. Applications that runs on your computer, and enable collaboration with others in the same way our favorite (or least favorite) cloud services do.
- One approach: build in the browser, store everything locally (i.e. IndexDB)
- Collaboration is too important to move away from.
- Ink and Switch has a number of examples of local application research
- Hypermerge is a very cool looking library of Automerge on a peer to peer protocol, but the project looks unfortunately unmaintained and in a bit of a proof-of-concept state