Things won’t improve without a grassroots campaign. And it’s trending worse: more and more apps & tools are doing amnesia on purpose because it’s simpler and doesn’t anger the fussy few users for not going far enough..
So what do local-first demanders want?
Is local first when the software does a sync after storing locally? Is it when the local store is the source of truth? Is it offline support? Is it owning your data? Is it automatic resync when the connection/backend come back? Yes; all of the above and more.. and it’s complex and expensive to maintain and doesn’t get a lot of attention.
There needs to be 5 or 6 terms to cover each of the local-first sub-concepts so the discussion can progress..
In the distant past we'd copy our whole home folder to a floppy disk and then to another computer. In the slightly less distant past, a USB stick.
The P2P is the worst offender.. Who is going to "keep my laptop awake every night just to ensure a p2panda node was available for new users"? Pretty much every P2P needs some sort of centralized support to work.. IPFS needs pinning services, large torrent trackers use out-of-protocol "reputation score" to ensure rarely used files are seeded.
"No spinners" gets super annoying when devices go to sleep or internet is spotty. Am I looking at the latest data? Is it safe to turn off my phone / exit the app, or is still uploading? I dunno, let's give it a minute just in case...
This is could be all tolerable if there were real advantages.. but the main argument for local-first is "if the company dies, your data is gone". Thats not a good reason! To sane your data, there is no need to suffer "local-first" apps. Use cloud services with good UX and nice mobile device support, but run automated backups... Use Google Drive, but run "rclone" via crontab to ensure you can still access data even if you get banned. Own your email domain, and sync to local maildir. Download your notes hourly. Yes, your workflow would be disrupted if one of the companies die, but at least the data is safe.
IMHO if we want to stop depending on megacorps, the right approach is open data format and export protocols first, and easily hostable cloud second. Kinda like email - BYO domain + IMAP means I can migrate from one hosted provider to another with minimal disruptions.
This is easily solvable with any sort of sync button. Granted, you may in fact have to at least in name break "no spinners" (but to my understanding not in practice), and shove one in the top right corner of your app when syncing / uploading / downloading is occuring, but obviously it's better than just sitting there and waiting.
I agree most of the points in the article except the point according to the article that local-first app must be free and open source.
Arguably one of the best app I've been using is the original Napster. At that time TIME magazine did not has the breakthrough of the year award, otherwise the Napster surely the breaktrough of the year when it was released back in 1999.
Napster single-handedly introduced and popularized p2p concept, and listening to song need not to be cumbersome and expensive. The latter facts were vindicated with the iTunes and iPod success. It also fit the very definition of local-first app defined in the original Kleppmann's article.
B3RTICUS•1d ago