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 (2019)

262 pointsby kkmalmost 5 years ago

22 comments

pvhalmost 5 years ago
Hello, we&#x27;ve published some more work in this space -- no HTML version yet, but here&#x27;s a more recent paper on our PushPin project.<p><a href="https:&#x2F;&#x2F;martin.kleppmann.com&#x2F;papers&#x2F;pushpin-papoc20.pdf" rel="nofollow">https:&#x2F;&#x2F;martin.kleppmann.com&#x2F;papers&#x2F;pushpin-papoc20.pdf</a><p>You can also try PushPin for yourself: <a href="https:&#x2F;&#x2F;github.com&#x2F;automerge&#x2F;pushpin&#x2F;" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;automerge&#x2F;pushpin&#x2F;</a><p>likely outdated binaries are available here: <a href="https:&#x2F;&#x2F;automerge.github.io&#x2F;pushpin&#x2F;" rel="nofollow">https:&#x2F;&#x2F;automerge.github.io&#x2F;pushpin&#x2F;</a><p>Also, we&#x27;re currently in the midst of a new project called Cambria, exploring some of the consequences and data demands for a new Cambrian-era of software here: <a href="https:&#x2F;&#x2F;inkandswitch.github.io&#x2F;cambria&#x2F;" rel="nofollow">https:&#x2F;&#x2F;inkandswitch.github.io&#x2F;cambria&#x2F;</a>
评论 #24033610 未加载
AriaMinaeialmost 5 years ago
&gt; ... cloud apps depend on the service continuing to be available: if the service is unavailable, you cannot use the software, and you can no longer access your data created with that software. This means you are betting that the creators of the software will continue supporting it for a long time — at least as long as you care about the data. Although there does not seem to be a great danger of Google shutting down Google Docs anytime soon, popular products (e.g. Google Reader) do sometimes get shutdown or lose data, so we know to be careful.<p>Plus, the value of the cloud app is not just your data, but the network effects. Like, if you&#x27;ve emailed links to a GDocs document, and 5 years later you decide to move to another service, those GDocs links will 404, regardless of whether you&#x27;ve transferred all of your data to the new service.<p>With local-first apps, the URL starts with <i>you</i>, not some <i>some-sass-provider.com</i>.
评论 #24028823 未加载
评论 #24030260 未加载
oblibalmost 5 years ago
This is the 3rd time in a week a &quot;Local-First software&quot; overview has been submitted and the 2nd time it&#x27;s made the front page here. I&#x27;m pretty surprised about that because I&#x27;m about to release a local-first, offline-first, option for an app I make.<p>This article also quickly moves past &quot;local-first&quot; software to conflict resolution which, in my opinion, is a distinctly different issue. It&#x27;s certainly not reason enough to hold off offering users a local-first option.<p>At this point I believe that since it can be done it should be done. I&#x27;ll even go so far as to say it&#x27;s a necessity. At some point users will understand it&#x27;s a necessity and demand it. All that really needs to happen to convince them is one big incident where they lose access to their data for an extended period of time, or worse yet, lose all their data forever, and it won&#x27;t matter why or how.<p>Aside from that, as more app makers start offering local-first options and users begin to see the benefits of that they will begin to demand it. That could take some time, but I expect it&#x27;s inevitable.<p>There are other benefits to a local-first approach for developers. Take a &quot;Contacts&quot; app for example. If we have a standard for saving contacts data on the client side that any app could access this would give users and developers options to create and use new apps and features that all use the same data.<p>CouchDB &amp; PouchDB.js provide a pretty solid and easy way to do this right now. Installed on the user&#x27;s desktop PC, CouchDB provides the missing link to a robust client side web app runtime environment.<p>There may be other ways of achieving this right now, but I am not aware of them.
评论 #24030037 未加载
评论 #24029432 未加载
评论 #24031322 未加载
评论 #24038480 未加载
mkoubaaalmost 5 years ago
I think there&#x27;s probably a market for a personal cloud, which probably sounds dumber than personal computer did in the 80s. What I mean by that is a computer somewhere in the garage, like a furnace, with enough compute and storage to drive all the devices and appliances in a house. In this model, devices do not have CPUs or memory, only input&#x2F;output and a network chip.<p>The way this would work is for the computer in the garage to have the ability to divide itself arbitrarily into VMs for each purpose, with an ecosystem of images designed for things like fridges and gaming consoles. It should be possible to add or upgrade compute to the device in a hot swapped fashion, and because it doesn&#x27;t have to be in a thin tablet, it could be easily cooled.
评论 #24033116 未加载
评论 #24030491 未加载
评论 #24030365 未加载
评论 #24039212 未加载
eternalbanalmost 5 years ago
I skimmed the desired qualities, the review of current tools, and finally the software centric approach to achieving the stated goals.<p>While we can reasonably expect software elements in any proposed solution, the hardware and physical elements of distributed computing may provide a far simpler pathway and likely will permit much greater reuse of existing proven software approaches.<p>For example, all future multi-unit residences could come with &#x27;data center&#x27; along with the boiler, or possibly the actual units will host this equipment along with their air conditioning units. All your cloud apps can now point to this cloud. I don&#x27;t see any fundamental reason why &#x27;data center&#x27; can not become a modular utility unit, coming in domicile, commercial, and industry grade flavors.<p>In my view, the pure software solution approach to the &#x27;modern informaton society&#x27; has implicit political dimensions. One of these is the concentrated private ownership and control over physical resources which are now a required substrate of modern society. I for one am not ready to accept that as &#x27;acceptable&#x27;.
评论 #24028730 未加载
评论 #24028567 未加载
asiachickalmost 5 years ago
I&#x27;ll take cloud first thanks. No software to update. Nothing to backup. I just open a computer&#x2F;phone&#x2F;tablet and access my stuff.<p>I get the tradeoffs. I&#x27;m not going back 10+ years.
评论 #24033249 未加载
评论 #24029905 未加载
评论 #24036466 未加载
jjordanalmost 5 years ago
This is why I&#x27;m a frequent visitor to &#x2F;r&#x2F;selfhosted. Any other self-hosted centric communities to be aware of?
评论 #24030732 未加载
valuearbalmost 5 years ago
The No Spinners thing seems to be my professional niche. Every job I’m tasked at cleaning up a poorly performing native app. And it’s always caused by developers writing views like web apps, posting their server requests as views open and fire up a spinner to wait.<p>It’s not that hard to have a caching strategy. And then your native app feels like a native app.
评论 #24037096 未加载
RivieraKidalmost 5 years ago
What&#x27;s the origin of the &quot;X-first&quot; language pattern? Earliest example I cam remember is when Eric Schmidt was talking about &quot;mobile first&quot; approach.
评论 #24030261 未加载
oblibalmost 5 years ago
It&#x27;s worth noting that a local-only offline-first web app shifts the load of storing and managing user data entirely onto the user themselves.<p>That&#x27;s a huge load of responsibility taken off the software supplier&#x27;s shoulders and it eliminates the entire cost and complexity of building and maintaining Cloud based data management infrastructure.<p>And that&#x27;s a pretty great option to have on the table for both users and software makers.<p>I&#x27;ll also note that these apps consume almost no network bandwidth. With Service Workers implemented they barely speak to your server. The amount of bandwidth that can be potentially saved has got to be pretty huge.
webscalistalmost 5 years ago
TODO: build a local-first livestream remote conference zoom alternative software
评论 #24028723 未加载
评论 #24029239 未加载
评论 #24028535 未加载
评论 #24028582 未加载
m3047almost 5 years ago
As partly a philosophical exercise, and partly as hyperlocal &quot;no really, you are here so you have access&quot;, I added Apache with DAV and Etherpad to a DNS+DHCP &quot;sled&quot;: <a href="https:&#x2F;&#x2F;github.com&#x2F;m3047&#x2F;pangolin" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;m3047&#x2F;pangolin</a><p>The irony that Etherpad is written in Node is not lost on me.
merricksbalmost 5 years ago
Made the front page a few days ago but didn&#x27;t get much traffic or many comments:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23985816" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=23985816</a><p><a href="http:&#x2F;&#x2F;hnrankings.info&#x2F;23985816&#x2F;" rel="nofollow">http:&#x2F;&#x2F;hnrankings.info&#x2F;23985816&#x2F;</a>
oscargrouchalmost 5 years ago
Im doing a &quot;browser-based something&quot; that can mostly be reasoned about as a web-over-rpc-services where the primary pitch to start it, was exactly based on the thinking generously expressed by this article (albeit i had to start it much earlier).<p>The first thing is to expect the app devs to define a api in RPC so that what they app serve it transparent to the whole platform.<p>That way, users and other apps can reuse that api and integrate tools and other services without worrying about if the node is online or not.<p>Given they are RPC (over TCP or IPC), they can be used as a peer node in a distributed computing flock or in the app service process the application can serve the RPC requests not locally if it wants or needs, but going over the network.<p>But even in the case it goes straight to the &quot;cloud&quot; for resources, in the node it will always go through the RPC-api first. (How the application handle the RPC request is defined by the app developers).<p>There are a lot of others important details actually, for instance the UI sdk, window management, its already there, the storage layer (files and key-value db) are distributed over p2p(torrent) and everything is accessible&#x2F;bootstrapped through a DHT address accessible anywhere.<p>But imagine if you had this architecture before, and Twitter, Facebook or Google search had to install a api-based application, where they need to ask you for permission to index content, or store locally your list of friends.. where later other apps could extract that information from your machine.. For instance you could change your search to DDG or export your Facebook list of friends and post to some other social network(this is actually the primary reason almost no one could compete with a popular social network).<p>In the end, things that should be yours are yours and third-party apps will have to be installed and granted permission by you to manage that digital property.<p>But overall i&#x27;m very glad to see that this is starting to become some sort of a trend, that people are finally waking up, because despite of all technological implications of it, it also have a lot of political and social benefits to this approach.
z3t4almost 5 years ago
As platforms get more and more locked down (Chromebooks, Android, iOS) hosting the software in the cloud becomes a easier option. For example I&#x27;m working on and editor&#x2F;IDE for programming, but it&#x27;s next to impossible to compile programs on the platforms people use now a days. So in order to run a program that you made on your Apple phone, Android device or Chromebook, it has to run on a third party server...
MaxBarracloughalmost 5 years ago
Much of this seems to be rediscovering the principles of the IndieWeb movement, who have already thought about many of the issues discussed here.<p><a href="https:&#x2F;&#x2F;indieweb.org&#x2F;silo" rel="nofollow">https:&#x2F;&#x2F;indieweb.org&#x2F;silo</a><p><a href="https:&#x2F;&#x2F;indieweb.org&#x2F;data-portability" rel="nofollow">https:&#x2F;&#x2F;indieweb.org&#x2F;data-portability</a>
wilsonrocksalmost 5 years ago
How about a more generalised collaboration system, where you just edit your files lot Cally as standard, but can kind of dial in using o collaboration - a bit like a screen share on a call. So suddenly the people you&#x27;ve dialled can leave comments on your work etc, but when you cut the connection, they can&#x27;t any more?
smithssosoalmost 5 years ago
Take a look at the PJON protocol that is a perfect example of a local-first networking technology, I am really amazed by the job they did on that! <a href="https:&#x2F;&#x2F;github.com&#x2F;gioblu&#x2F;PJON" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gioblu&#x2F;PJON</a>
WrtCdEvrydyalmost 5 years ago
Unfortunately local-first software is incompatible with you being a slave to your preferred technology company of choice (Facebook, Apple, Google, Microsoft).<p>If it wasn&#x27;t for GDPR, most of these companies wouldn&#x27;t even offer exports of your data.
评论 #24028651 未加载
评论 #24028946 未加载
评论 #24028483 未加载
ameliusalmost 5 years ago
But we still need a catchy name.
staticvaralmost 5 years ago
Was this paper in a journal?
评论 #24028600 未加载
flas9sdalmost 5 years ago
if you prefer HTML over PDF it&#x27;s <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>