TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Local-First Software:You Own Your Data, in Spite of the Cloud (2019) [pdf]

216 pointsby JeanMarcSabout 4 years ago

15 comments

rklaehnabout 4 years ago
Local first is often just plain the better technical solution.<p>E.g. you put a pin on a map to mark the parking spot, and want to share it with somebody standing right next to you. But it does not work because the connection to some data center 1000 km away is flaky. This is just plain bad design.<p>Or you want to print something or get two machines to interact. Any remote third party you bring into this interaction is going to increase latency, reduce bandwidth, increase the probability of failure, etc.<p>That is why we use the local first approach for factory shop floor software at actyx.com . You don&#x27;t want your factory to stop because the link to the cloud is down.
评论 #26276868 未加载
ashdevabout 4 years ago
In section 2 it says - &quot;In cloud apps, the data on the server is treated as the primary, authoritative copy of the data; if a client has a copy of the data, it is merely a cache that is subordinate to the server.&quot;<p>Exactly! Local copy is just treated as cache in those apps which offer offline support. They are called &quot;Offline-also&quot; apps, not Offline-first apps.<p>I miss those days when I could just buy the software and own it. Collaboration can happen in offline-first apps too, it&#x27;s tricky but it can be done.<p>Everything is online-first web apps these days because of the reasons listed in section 3.2.1. There is one more reason for popularity of online-only web apps:<p>When startups are testing their idea, it&#x27;s far easier to put together an online-first app than offline-first. It&#x27;s easier to get traction comparatively because it just requires a browser. When they get some traction, then a desktop app is a low priority to them.<p>I want to bring back offline-first desktop apps back. I&#x27;ve already started with Brisqi[1] an offline-first personal Kanban app. Hope more people take an offline-first approach.<p>For similar reasons, I could write a whole essay on why we developers need to create a better open source cross-platform framework to develop offline-first desktop apps with permissive licensing.<p>[1] <a href="https:&#x2F;&#x2F;brisqi.com" rel="nofollow">https:&#x2F;&#x2F;brisqi.com</a>
oblibabout 4 years ago
My latest version of my ezInvoice app has a local-first option. It&#x27;s also offline first.<p>The user has to install CouchDB on their desktop PC to use the local first option. Basically they just use a different html file to access the local CouchDB instead of the Cloud based CouchDB.<p>The app is also offline first and doesn&#x27;t use the internet at all unless you turn on the &quot;Live Sync&quot; function in the app&#x27;s preferences.<p>At that point it&#x27;s still local first but it syncs with my Cloud based CouchDB and users can access that by using a different url. Since Live Sync works both ways whenever the Cloud CouchDB is updated those changes are pushed to the desktop PC if it&#x27;s connected to the internet, or as soon as it is.<p>Users can also make backups and snapshots of their DBs on their desktop CouchDB.<p>I released ezInvoice back in 2002 and this is something I&#x27;ve wanted to do since then. Feels pretty good to have what&#x27;s needed to get it working.
sjbrownabout 4 years ago
<a href="https:&#x2F;&#x2F;www.inkandswitch.com&#x2F;local-first.html" rel="nofollow">https:&#x2F;&#x2F;www.inkandswitch.com&#x2F;local-first.html</a><p>HTML version here
dvtabout 4 years ago
These kinds of ideas always get traction here on HN or similar places (slashdot), but I think that ship has long sailed. People, by and large, seem to be totally okay with storing data in the cloud -- from Dropbox, to Google Docs, to InVision. All things considered, data breaches are rare, and if they <i>do</i> happen, they&#x27;re usually to be blamed on configuration blunders, not the services at large.<p>Other than a few highly-specialized niches (InfoSec, government, military), the de-facto reality is that online-first collaboration pros seem to outweigh the cons.
评论 #26267973 未加载
评论 #26267919 未加载
评论 #26268151 未加载
评论 #26267726 未加载
评论 #26267542 未加载
评论 #26268412 未加载
评论 #26267637 未加载
评论 #26276726 未加载
评论 #26268462 未加载
Geeeabout 4 years ago
You can own your data if you use client-side encryption with cloud. When encrypted, you don&#x27;t have to trust the cloud provider. This opens up new possibilities such as P2P networks with fair pricing, no provider lock-in, equal access and censorship resistance. I&#x27;m excited about Sia &#x2F; Skynet which enables these kind of apps.
评论 #26268991 未加载
评论 #26274372 未加载
评论 #26269991 未加载
endisneighabout 4 years ago
I wish OneDrive, Dropbox, etc. had a notion of a Personal Database File System, PDFS. With PDFS if they all shared the same API then you could build a database ontop of the PDFS that syncs to popular file systems.<p>If both of those things existed you would be able to build apps like LinkedIn such that LinkedIn could just access your PDFS so your profile is actually hosted directly on your PDFS - so if you delete your profile info on your PDFS it&#x27;s gone from LinkedIn. Of course, this also depends on trusting LinkedIn to not just copy over the contents of your PDFS but that could be handled as well.
评论 #26268146 未加载
评论 #26268050 未加载
评论 #26269030 未加载
评论 #26268603 未加载
评论 #26268119 未加载
jasodeabout 4 years ago
The headline is about the <i>aspiration</i> but not the <i>implementation</i>.<p>Within the contents of the paper, it talks about CRDTs to <i>technically implement</i> it.<p>I&#x27;m not familiar with the technical tradeoffs but I bookmarked some past HN threads mentioning CRDT did not fare as well as OT (Operational Transform):<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19886883" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19886883</a><p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19847622" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=19847622</a>
评论 #26268446 未加载
评论 #26394631 未加载
sportsawabout 4 years ago
I love this:<p>&gt; In the Trellis project we experimented with a “time travel” interface, allowing a user to move back in time to see earlier states of a merged document, and automatically highlighting recently changed elements as changes are received from other users. The ability to traverse a potentially complex merged document history in a linear fashion helps to provide context and could become a universal tool for understanding collaboration.
评论 #26270776 未加载
评论 #26270508 未加载
评论 #26270675 未加载
camnoraabout 4 years ago
Local-first software feels underrated especially in the UX realm. Peer-to-peer applications such as Manyverse load instantly due to not being blocked by network requests. My hope is that more apps are developed with a local-first mindset. CRDTs likely introduce additional complexity around data storage, so this would certainly be a drawback when considering local-first.
amadeuspagelabout 4 years ago
PouchDB&#x2F;CouchDB is great for this kind of software. Shameless self-promotion: I used it for thinktype[1], a note-taking app.<p>[1]: <a href="https:&#x2F;&#x2F;thinktype.app" rel="nofollow">https:&#x2F;&#x2F;thinktype.app</a>
评论 #26269508 未加载
评论 #26271005 未加载
pdimitarabout 4 years ago
I am completely behind the idea and would work full time on it (if I had my time for myself) but all such documents or sites are all talk and no code and it&#x27;s getting tiring.<p>I get that they want to inspire, to show data backing up the idea that people are open to that software model, and in general to give hope and inform but... I am getting way too cynical and I can&#x27;t help but wonder if actually writing a tool that builds the foundations of such a movement wouldn&#x27;t have been a time better spent?<p>I mean, at what point will <i>somebody</i> do something about it? And does it have to be your average overworked programmer who is sacrificing their scarce free time? When will one of these organizations that periodically toot their own horn about much they care, will hire several hardcore programmers to do something?
评论 #26279884 未加载
评论 #26268023 未加载
评论 #26268451 未加载
评论 #26268752 未加载
maxrev17about 4 years ago
Even a lot of devs have turned to aws&#x2F;azure&#x2F;gcp.... Local first is too much responsibility for some.
holtwickabout 4 years ago
<a href="https:&#x2F;&#x2F;onepile.app&#x2F;" rel="nofollow">https:&#x2F;&#x2F;onepile.app&#x2F;</a>
anothernewdudeabout 4 years ago
I&#x27;m not convinced data can be owned.
评论 #26271248 未加载