Local-first software by our <@UFXFB1RK8> now on th...
# thinking-together
k
Local-first software by our @Peter van Hardenberg now on the HN frontpage: https://www.inkandswitch.com/media/local-first/local-first.pdf
šŸ˜Ž 1
✊ 7
p
oh lord
šŸ’Æ 4
k
Oh it's all good.
p
The "I didn't read the article" hot takes have become gradually more positive. IIRC the first time this thing showed up on HN the result was mostly a confused shrug.
Also, if anyone does read the comments, please consider upvoting my reply which adds links to our other work. Thanks.
šŸ‘ 4
Keeping my eye on https://web.dev/native-file-system/ Local-first is a great value to uphold. I’m also a believer in 1-user software and plain text. For all of those, files, folders, and even zip still feel like the way. Let Dropbox/iCloud/whatever take care of sync and share. What we really need is an open Dropbox, as a web standard and common service.
r
The problem with local first seems to be that not enough users value it. It reminds of the move from websites at a domain to services like Facebook, Twitter, and Medium (captured well in this Oatmeal comic https://theoatmeal.com/comics/reaching_people). I'm not sure what the solutions to this problem is. And, in fact, for most people, having everything owned and managed by a cloud provider is probably a better arrangement than having them manage their own backup system with local files. I'm aware that the paper solves all these issues at once, but the real issue is that it's not valued by enough customers to get the software providers to implement it, and I don't know how to solve that.
p
My core belief is that local-first, and decentralized software are meaningless jargon to users.
Privacy and security don't really sell to consumers either.
What users do value is the ineffable feeling of confidence that comes from using software that meets their needs. You get that when software has consistent design, low latency, and reliable behaviour.
ā¤ļø 2
I believe local-first software will prove in time to be the most cost-effective way for developers to meet their users' needs and so that local-first programs will in time naturally out-compete cloud software.
āž• 1
That said, cloud-based software is a mature paradigm with plenty of refinement. Local-first software still requires careful attention from system designers to identify and satisfy user expectations. That's the problem I'm focused on at Ink & Switch.
o
And cloud-based and local-first can coexist. A local first editor can still persist data on a "robust centralized cloud". Well, writing this I realize that in fact that depends what one understand by "cloud-based"... Here, I only mean that local first allows to work even when a centralized repository is not available or is not trusted, but at some time it is still useful to have your data stored "non locally", and cloud hosting can then be desirable.
c
Agree. I think Apple's iCloud model is pretty close to right, and we know how highly the company regards "great experience" (all caveats & multiple lapses notwithstanding) - iCloud aggressively seeks to ensure that data is pulled and pushed frequently enough that all devices' local versions of file data are available and ready - of course there are still so many failure scenarios that it's easy to spot when one device's app's doc is definitely not up-to-date That all said, even a stellar solution within a closed ecosystem is no good to us - but I think iCloud highlights the attitude that "local files up-to-date and available before you need them" is the right one
p
Yes, if iCloud worked it would be pretty good.
Obviously whatever we build will absolutely include remote nodes that we hope will always be available performing all kinds of tasks. The question is what their role is.
k
I think the steelman question here is: can a remote-first app with offline mode be good enough? If so, companies will gravitate to that so they can maintain control over people's data. But the outcome isn't certain yet by any means.
p
Certainly I think many of our CRDT projects can make that better, and arguably that's what roomservice.dev and replicache are working towards.
Also, if you look at, say, Actual Budget there's an example of production software following that model. It's a local-first style client but the data only replicates through a proprietary service they run.
k
Has anyone explored IPFS as a storage layer for local-first? It looks like a perfect fit in theory.
šŸ’” 1