Live data from Hacker News

Why haven't local-first apps become popular?

marcobambini.substack.com

411–420 of 494 posts

Re: Why haven't local-first apps become popular?

#411

Earlier quoted context omitted.

We're living in the world of Dubai chocolate and labubu so this tells you everything you need to know about consumer behavior.

Labubu obsession is a surefire sign of economic depression: https://www.youtube.com/watch?v=l1O6bN2zWSM The really crazy thing is that everyone just forgot a couple of years ago "Dubai chocolate" meant something a lot more gross.

> The really crazy thing is that everyone just forgot a couple of years ago "Dubai chocolate" meant something a lot more gross.

It's called damage control and yes it's crazy that we blindly allow this kind of society-wide manipulation.

Re: Why haven't local-first apps become popular?

#412

Local-first apps haven't become popular because users want shareable links, cross-device sync and maybe security. For cross-device sync, you need a server. Either you use iCloud (limiting yourself to Apple platforms), host one (which encourages subscriptions and defeats the point of local-first) or ask users to self-host (which is difficult and error-prone). Shareable links also need a server. You can't use iCloud fo…

Creating a server devices can access on the same network is trivial the only issue you would run into is maybe what port to use and there are discovery processes for this.

Re: Why haven't local-first apps become popular?

#413

> The Solution: CRDTs. The right approach is CRDTs (Conflict-Free Replicated Data Types)... This means you can apply messages in any order, even multiple times, and every device will still converge to the same state. This is very much "draw the rest of the owl". Creating a CRDT model for your data that matches intuitive user expectations and obeys consistent business logic is... not for the faint of heart. Also remem…

Almost every time I see CRDTs mentioned it’s used as a magic device that makes conflicts disappear. The details, of course, are not mentioned. Technically an algorithm that lets the last writer win is a CRDT because there is no conflict. Making a true system that automatically merges data while respecting user intent and expectations can be an extremely hard problem for anything complex like text. Another problem is…

> Technically an algorithm that lets the last writer win is a CRDT because there is no conflict.

Yes. It’s called a LWW register in the literature. Usually a MV (multi value) register is more useful. When there is a conflict, MV registers store all conflicting values and make any subsequent reader figure out what to do.

But for my money, usually what you want is something operation based. Like, if we both append to a transaction list, the list should end up with both items. Operation based CRDTs can handle any semantics you choose - so you can mix and match different merging approaches based on the application. And the storage for LWW and MV is the same, so you can start simple and grow your app as needed.

IMO the reason local first software is still not popular is the same reason encrypted messaging apps took awhile. There’s a lag from good CS research enabling a class of applications and good implementations being available with good UX. Most CRDT implementations are still pretty new. Automerge has been really slow until quite recently. Most libraries don’t support ephemeral data or binary blobs well. And there aren’t a lot of well defined patterns around user login and authentication. Local first apps today have a lot of work ahead of them to just exist at all. Give it some time.

Re: Why haven't local-first apps become popular?

#414

Earlier quoted context omitted.

I can't imagine wanting to self-host something like Jira, GitHub, or some wiki product unless there's a very big financial cost difference that more than offsets my time and hardware investment. Otherwise it seems like I'm just spending time and effort achieving the exact same result.

That's short-term thinking. By making your business dependent on cloud solutions you are agreeing to future disruptions from forced changes and price increases that you can't foresee and won't be able to do much about when you learn about them.

That factors into financial incentives, doesn't it?

There are also products that still have licensing costs even when you self host.

I've worked at a large company that self-hosted Atlassian products that were a big part of a full-time team's job.

I've worked at a large company that built virtually all their internal tooling in house.

I've worked at a large company that used cloud-based vendors.

They all had tradeoffs.

One of those companies even forced a migration from cloud based CI to internal CI for cost reasons then stopped us halfway through because they couldn't scale up our hosted CI to keep up fast enough.

I could argue your answer is just as short-term thinking when your critical tools end up costing you more hardware, data center, and salary opex than you planned for (which I have seen).

Re: Why haven't local-first apps become popular?

#415
post #285

Earlier quoted context omitted.

I'm not really sure about this because far too often I see ads for various services/courses/etc that I want to buy, but I don't end up buying because it's a subscription and I just don't have the bandwidth currently to spend time on the thing. I want to buy it and keep it on my shelf until I find the time to get to it, like a book. And the price they give me from clicking the ad is a limited-time discount so then I'm…

You're not the average person. You probably also don't have significant credit card debt or rely on buy-now-pay-later for making purchases. Subscriptions are a win-win for the average company and user - users pay less upfront when evaluating the product, and companies can rely on a steady cash flow to continue paying for development and ongoing maintenance costs.

It's not a win for the user. The user is tricked into paying more than a fair price by deceptive business practices. The word for that is fraud, but somehow it's OK because everyone does it.

Re: Why haven't local-first apps become popular?

#416

> The Solution: CRDTs. The right approach is CRDTs (Conflict-Free Replicated Data Types)... This means you can apply messages in any order, even multiple times, and every device will still converge to the same state. This is very much "draw the rest of the owl". Creating a CRDT model for your data that matches intuitive user expectations and obeys consistent business logic is... not for the faint of heart. Also remem…

Agreed @ not for the faint of heart. There is at least one alternative "CRDT-free" approach for the less brave among us: https://mattweidner.com/2025/05/21/text-without-crdts.html

Matt Weindner is a really smart guy, but I really disagree with his reasoning with that one. I implemented his fuguemax crdt in just 250 lines of code or so. It’s small, simple and fast. In that blog post he proposes a different approach that might let you save 50 lines of code at the expense of always needing a centralised server.

Seems like a terrible trade to me. Just use a crdt. They’re good.

https://github.com/josephg/crdt-from-scratch

Re: Why haven't local-first apps become popular?

#417
post #35
post #23

I believe the lack of popularity is more of an economics problem. There are established business models for SaaS apps or freemium with ads. But, the business model for local-first apps is not as lucrative. Those who like the local-first model value features like: data-sovereignty, end-to-end encryption, offline usage, etc. These properties make existing business models hard-to-impossible to apply. My current thinking…

Yes, I don't think replicated data structures are the problem. Look at single player video games, cannot get more ideal for local-first. Still you need a launcher and internet connection.

I think video games are actually a counter-example: people are still willing to pay for single-player video games and the business model of those doesn't actually rely on Steam working the way it does.

Re: Why haven't local-first apps become popular?

#418

Earlier quoted context omitted.

I’ve never really thought about this - how does Outlook handle this? Has anyone received a “sorry, that room you reserved actually wasn’t available; talk to this other dude who reserved it too” message after reserving a meeting room? Or does it just double book the room? Or is there a global lock on any transaction affecting a meeting room, so only one goes through? (Feels like it doesn’t scale)

> Or is there a global lock on any transaction affecting a meeting room, so only one goes through? (Feels like it doesn’t scale) Why wouldn't it scale? How many meetings are booked per second in your organization???

I think the potential for abuse is high. With a locking system, someone could (and probably would) click (manually or with a script) on a time slot to "reserve" a room just in case they needed it.

Re: Why haven't local-first apps become popular?

#419

Earlier quoted context omitted.

Indeed. Most often due to divergence in definitions, scope, prior knowledge, assumptions, time frame, budget, share of burden, objective and/or incentives.

Assumptions. It's almost always assumptions.

Is that conclusion based on data? ;)

Re: Why haven't local-first apps become popular?

#420
post #281
post #23

I believe the lack of popularity is more of an economics problem. There are established business models for SaaS apps or freemium with ads. But, the business model for local-first apps is not as lucrative. Those who like the local-first model value features like: data-sovereignty, end-to-end encryption, offline usage, etc. These properties make existing business models hard-to-impossible to apply. My current thinking…

> I believe the lack of popularity is more of an economics problem. It's also a programming complexity problem. A local-first app has to run on a zillion different configurations of hardware. A cloud-first app only has to run on a single configuration and the thing running on the user hardware is just a view into that singular cloud representation.

This is really not that much of a problem, most hardware differences are either irrelevant or easily abstracted away (if that isn't already done by the OS).
Post reply on HN