Live data from Hacker News

Ask HN: Who has had a successful PWA product?

news.ycombinator.com

21–30 of 163 posts

Re: Ask HN: Who has had a successful PWA product?

#21
post #7

Earlier quoted context omitted.

Even IndexedDb? Having a PWA based on webassembly(Blazor) that I test on an updated iPhone 6 I have to say that I didn't ever run in such issues, the experience is good even though the device is old.

They definitely clear localstorage. But they also are honest about doing this under disk pressure — can’t find the link right now though. My old company had a Cordova app and we stored the client token in localstorage and we found some 16G phones losing their tokens and it turned out to be this. We changed to store tokens in the keyring. From a real web app you can’t but I guess if you would use a cookie this might j…

Also sometimes localStorage gets cleared because it can easily become corrupted from concurrent writes. I had a userscript that made a few fetch calls whenever I visited a certain domain and saved the results in localStorage. Every week or so, all the data in localStorage would just get wiped. Switching to IndexedDB (via localForage) solved the problem.

Re: Ask HN: Who has had a successful PWA product?

#22
I run a personal finance app that's built as a PWA (https://tender.run, my email is in my profile).

I would say running as a PWA has been a mixed bag. There are quite a few missing features across web platforms (for starters, background sync, full featured push notifications, haptics) that make it hard to be competitive with native apps. Every WWDC, we watch in hopes that Safari gets more PWA features, but it's a thin drip. There's a reason so many apps repackage into electron/cordova/whatever shells.

As other folks in thread have pointed out, it's probably worth thinking through why a product works particularly as a PWA vs alternative distribution methods.

Re: Ask HN: Who has had a successful PWA product?

#24
https://FreeSolitaire.win is a successful PWA of mine.

It’s a Klondike Solitaire game. It used to bring ~$500/mo of advertising revenue, but that’s significantly down these days: I refuse to have a cookie/consent banner, so I refuse customized ads (in the UE, in some US states now, &c.)

Players do add it to homescreen. There is a non-intrusive button prompting them to do so, at the end of a game. People like to be able to play offline. Apart from that, I don’t use much PWA/browser features; no notifications, etc.

More info here: https://news.ycombinator.com/item?id=34483398 Happy to answer any question you may have! Happy to get some feedback too ;-)

Re: Ask HN: Who has had a successful PWA product?

#25

https://FreeSolitaire.win is a successful PWA of mine. It’s a Klondike Solitaire game. It used to bring ~$500/mo of advertising revenue, but that’s significantly down these days: I refuse to have a cookie/consent banner, so I refuse customized ads (in the UE, in some US states now, &c.) Players do add it to homescreen. There is a non-intrusive button prompting them to do so, at the end of a game. People like to be ab…

I don’t know much about these kinds of apps, but when I visit your game page, I don’t see any way to actually add it to the homepage on my iPhone. Is this something that iOS doesn’t allow, or is there another way to do it? The game looks pretty cool though :)

Re: Ask HN: Who has had a successful PWA product?

#26
Whenever this argument comes up it reminds me of how detached from reality HN is on this subject.

Customers want apps. Companies want apps. No one except us nerds want PWAs. We can talk about how PWAs are second class citizens and how unfair that is or we can remember that end-users _do not care_ about the underlying technology. We constantly make this mistake, customer don’t care what language you are using, they don’t care what framework you use, they don’t care about native vs web, they just want it to work.

I’ve been developing cross platform mobile apps (web, iOS, native) for around 15 years (Titanium, Cordova, and now Capacitor) and while the lesson has been painful: no one cares about PWAs. I will tell clients “you can go to and see exactly what your app will look like once it’s packaged for the app stores” and they will simply wait for the native app instead. I’ve lost count of the number of times the code has been running on the web for weeks+ and it’s not till it’s in the stores that I get _any_ feedback (things they could have easily seen in the web version but didn’t bother with till it was an “app”).

You can complain about this, you can talk about how unfair it is, you can extol the virtues of PWAs but at the end of the day it just doesn’t matter. Customers have spoken, they want apps. I launched my current company as a website/PWA and all I got was a lot of heartache: “I can’t find it in the App Store”. Not a single person said “thank you for making this a website”. In fact, I get 1-2 complaints (from thousands of users) of “I don’t want to download an app” to which I tell them “you don’t have to, the website spells this out very clearly, you can use the website and/or save it to your home screen, no app install needed”. I tell that story to illustrate how few people even say they care, but also can’t grok that they don’t need to install an app. That “1-2” pales in comparison to the people who complained about it not being a “real app”.

So if you want to fight against native apps be my guest but you’re fighting a battle that customers do not care about (I cannot stress enough that: HN != normal customers) and they will not thank you for. Yes, the 15-30% “tax” can suck but 15% of $X is better than 0% of $Y. You will simply miss out on a large number of customers if you refuse to make an app.

No customer has ever cared if you use spaces or tabs internally and they don’t care if you provide a PWA, they just want open their platform’s App Store and search for your app. The ship has sailed on this topic and you can complain about it or you can live in reality and go to where your customers are, the app stores.

You can say this isn’t fair but as my dad used to say: the fair comes once a year and if you miss it, it’s your own damn fault.

Re: Ask HN: Who has had a successful PWA product?

#27
post #25

https://FreeSolitaire.win is a successful PWA of mine. It’s a Klondike Solitaire game. It used to bring ~$500/mo of advertising revenue, but that’s significantly down these days: I refuse to have a cookie/consent banner, so I refuse customized ads (in the UE, in some US states now, &c.) Players do add it to homescreen. There is a non-intrusive button prompting them to do so, at the end of a game. People like to be ab…

I don’t know much about these kinds of apps, but when I visit your game page, I don’t see any way to actually add it to the homepage on my iPhone. Is this something that iOS doesn’t allow, or is there another way to do it? The game looks pretty cool though :)

In Safari hit the share button then scroll down and hit Add to Home Screen.

Re: Ask HN: Who has had a successful PWA product?

#29

Earlier quoted context omitted.

They definitely clear localstorage. But they also are honest about doing this under disk pressure — can’t find the link right now though. My old company had a Cordova app and we stored the client token in localstorage and we found some 16G phones losing their tokens and it turned out to be this. We changed to store tokens in the keyring. From a real web app you can’t but I guess if you would use a cookie this might j…

Also sometimes localStorage gets cleared because it can easily become corrupted from concurrent writes. I had a userscript that made a few fetch calls whenever I visited a certain domain and saved the results in localStorage. Every week or so, all the data in localStorage would just get wiped. Switching to IndexedDB (via localForage) solved the problem.

I was about to say "concurrent writes shouldn't be a problem because localStorage is synchronous and JS is single-threaded," but then I started thinking about multiple tabs, WebWorkers, and multi-process browsers and figured I should double-check the spec.

> Warning! The localStorage getter provides access to shared state. This specification does not define the interaction with other agent clusters in a multiprocess user agent, and authors are encouraged to assume that there is no locking mechanism. A site could, for instance, try to read the value of a key, increment its value, then write it back out, using the new value as a unique identifier for the session; if the site does this twice in two different browser windows at the same time, it might end up using the same "unique" identifier for both sessions, with potentially disastrous effects.

https://html.spec.whatwg.org/multipage/webstorage.html#intro...

Re: Ask HN: Who has had a successful PWA product?

#30

What's the alternative? Certainly multi platform native only makes sense at a certain scale. Your question might be too light on details to provide much advice.

Releases should be automated anyway. Once you set up the necessary pipelines, there is not that much work involved. I think our only pain point (team of ~7 devs) is keeping a Macbook around for iPad builds and debugging.

But I guess you will need Macbook to debug any Safari issues too.

Post reply on HN