36 ms·
Ask HN: Who has had a successful PWA product?
They say to find someone who’s done what you want to do. We’ll, I want to re-launch a successful progressive web app (PWA). I had some success ($500 MRR) with shareware, 20 years ago, but those methods probably don’t work anymore. What does work?
If you’ve had success, maybe you would be willing to exchange some email?
- brylie 2y agoStart with the customer needs rather than the technology. Do you have some specific product ideas? Those ideas would help steer technology decisions, particularly during the initial prototyping phase.
- pedalpete 2y agoThis is exactly what I was going to say, and PWA is like you're trying to build for 2 cycles ago. When you've got the problem you want to work on, is a PWA the best method of use/distribution/discovery? Perhaps a mobile app is the best method, or a hardware device. When you're thinking about what you want to build, don't forget about distribution. There is a saying that 1st time founders focus on product, 2nd time founders focus on distribution.
- throwaway9143 2y agoI'll give you a hard-earned tip: expect to fight Apple every step of the way. They will randomly erase all local data (cookies, localstorage, push subscription tokens, etc) in your PWA without warning. They say they don't do this, but I have the receipts. They want PWAs to suffer, and you will go insane trying to make workarounds on iPhone.
- thepra 2y agoEven 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.
- roywashere 2y agoThey 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 just work.
- aragonite 2y agoAlso 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.
- dotproto 2y agoI 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#introduction-15:dom-localstorage-2 https://html.spec.whatwg.org/multipage/webstorage.html#intro...
- throwaway9143 2y agoYes, a full local reset. Its an issue that plagued us for almost a year sporadically across several thousand customers. After instrumenting our app with very detailed remote logging, we were fortunate enough to catch it on one of our in-house local test iPhones. The logging showed an app with rich local state, the app close, then several minutes later the app open with no local state. Everything was wiped. This lined up with the feedback we had been receiving. Specifically for us, the push notification subscription tokens were being erased/revoked from the browser, meaning the customer couldn't receive notifications anymore. But the logging showed all local state was reset, including IndexedDb. If you dig through the Apple developer forums and StackOverflow, you will see many others complaining about this. You will also see links to resources claiming that Apple ITP does not do this for PWAs, specifically: https://webkit.org/tracking-prevention/#intelligent-tracking-prevention-itp https://webkit.org/tracking-prevention/#intelligent-tracking... "Home Screen Web Application Domain Exempt From ITP". This is 100% bullshit though. My personal belief is that Apple is purposefully nuking PWAs from orbit in a non-deterministic and "buggy" way because they are a threat to the app store business model, and I suspect if they frustrate enough developers, people will stay away from PWAs.
- ec109685 2y agoGreat point. The fact that they don’t backup to the cloud PWA data makes it a non-starter for any app that wants a local only experience. It’s trash.
- gnfedhjmm2 2y agoI’m not saying this isn’t true. Genuinely! but when I make up random unsubstantiated slander about other companies it gets removed instantly. What makes Apple different? You could never say this about substack or Tesla.
- meiraleal 2y agoYou can definitely say that about Tesla and most people don't care about substack
- bob1029 2y agoMy most recent workaround for this is to put a session identifier in the URL somewhere and keep literally everything else on the server. You essentially have to build your app from zero with these limitations in mind if you want any chance at getting around them. This is a large part of why I am not a fan of frameworks and other popular design patterns. Having total control over how state is managed and communicated is really important if you don't want to get trapped in various tar pits.
- metadat 2y agoAre you saying the Safari browser on iOS intentionally cripples web applications by randomly erasing / deleting browser data (cookies, localStorage, etc)? And this happens on purpose because apple wants to boost App Store Apps usage? If there is evidence of the veracity of this claim, this topic deserves a whole lot more attention. Especially considering Apple's stance on 3rd party mobile web browser engines - Apple forbids them, although EU regulation may force this to change. I searched a bit and found no smoking gun, the closest hit was: https://old.reddit.com/r/Safari/comments/185cra6/safari_nuking_cookies_and_local_storage_randomly/ https://old.reddit.com/r/Safari/comments/185cra6/safari_nuki... But it seems more likely caused by legitimate bugs than any intentional campaign. Have I been nerdsniped here by a nutter? :-s
- bob1029 2y ago> Are you saying the Safari browser on iOS intentionally cripples web applications by randomly erasing / deleting browser data (cookies, localStorage, etc)? I would absolutely make this claim. This isn't even a PWA thing. We had a really simple series of boring web forms that suffered from this. The first iteration of this had the server swap an initial tokenized link for a cookie when clicked. After some feedback from our customers, we discovered that iOS users were having a lot of trouble getting all the way through the desired workflow. We were able to replicate this on our iOS devices but it seemed completely arbitrary. After abandoning cookies in favor of maintaining a tokenized URL, we found we were getting 100% success rate for iOS end users. My theory is there is a malicious bit of code in iOS Safari that is applying some insane cookie policy over "unpopular" domains.
- moralestapia 2y agoI think they have a thing now where all stored data gets wiped every few days (in the name of privacy, purportedly). And yes, that broke a bunch of apps.
- cyanydeez 2y agoWhen do legit bugs turn into active negligence?
- DylanSp 2y agoDoes Safari on iOS support the File System API, specifically the origin private file system? Can you use that to reliably persist data into a file/SQLite database?
- streptomycin 2y agoNo, that also gets deleted sometimes. But on the plus side, random deletions also happen on Android!
- DylanSp 2y agoThat's unfortunate. Good to know, though.
- mvdtnz 2y agoJust refuse to service Apple customers. They can lie in the bed they've made.
- Bjartr 2y agoThe unfortunate truth is that for too many businesses this is equivalent to "stop running your business"
- streptomycin 2y agoRandom data loss happens on Android quite a bit too. Source: I have a PWA with a lot of users, and my #1 complaint is data being lost on both Android and iOS. This is true even if you use Google's own tool to wrap your PWA and put it in the Play Store, and even if you use the so-called "persistent storage API" to have users request their data not be deleted - still get random data loss, and it makes it very hard to maintain a 4+ star rating when there are a bunch of 1 star reviews about users losing all their data.
- iuvcaw 2y agoGenuine question - not defending Apple/google - does your pwa not use a dedicated server / db for user’s data? And then localstorage just as a cache if needed?
- streptomycin 2y agoIt doesn't... started as a hobby project in 2012, wanted to see if it was possible to make an app that stored a lot of client-side data in IndexedDB. Now, my app is successful so I don't really want to move to another platform, but also it creates too much data to easily and cheaply sync to a server. So I'm in a weird situation. https://basketball-gm.com/ https://basketball-gm.com/ if you're curious. I realize I'm a bit of an edge case. But also, ideally we could make PWAs that operate with similar data guarantees as native apps. That's kind of the idea of PWAs, that web apps should be able to mostly be the equivalent of native apps. And it almost works, except for the data loss issue. Kind of sad. Cause there are so many other advantages of a PWA... like being able to target all platforms with one PWA is incredible. Having no gatekeepers to "approve" my app updates is incredible. But the cost is sometimes users lose all their data :)
- tomcam 2y agoWait why not just charge a small amount?
- twooclock 2y agoFor my users having a PWA is completely irrelevant. Once they add it to home screen it's an app for them (I don't even bother to explain anymore). It might be a discoverability issue since they can't find you in app stores though.
- 1oooqooq 2y agowhy would you not put a wrapped pwa in the app store? isn't it a small racketeering/marketing price for the promissed discoverability?
- goosejuice 2y agoEasier with Android. Apple requires many hurdles, at least for US. You'll also then have to revenue share. Depends on your audience on whether this will actually be worth the investment. Being on the app store doesn't necessarily make you visible anyhow. It's just easier to install for apple users.
- scarface_74 2y agoIf you have a SaaS app, there is nothing stopping you from charging more in app to make up the difference and charging less outside the store
- goosejuice 2y agoGood point, but I think app store presence would be more important in d2c rather than b2b SaaS. In that situation I don't think charging more would go over well with consumers. Have you seen this done?
- scarface_74 2y agoSpotify did it for awhile before they completely stopped accepting in app purchases. Paramount+ also use to do it. Netflix offers in app purchases for streaming subscriptions if you pay through their games. But only the ad tier. You can subscribe to YouTube or Hulu via in app subscriptions. But you can’t subscribe to YouTube TV or Hulu Live TV via the app. I guess these days I would offer a higher month to month subscription through in app purchases and a lower yearly subscription from the web.
- goosejuice 2y agoWhat'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.
- knallfrosch 2y agoReleases 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.
- goosejuice 2y agoAre you referring to builds of a PWA wrapper shipped to the App store? If you don't mind sharing, how did your approval process go? Any hangups?
- knallfrosch 2y agoSorry for the confusion. We ship minimal Electron (Windows) / Cordova (iOS) wrappers to interface with our website. They're a pain to set up but don't require all that much code themselves. This allows us to publish to the respective stores. Would be hard to convince non-technical users to click "Install as PWA" because noone knows what that is.
- goosejuice 2y agoGood to hear. I've read a few companies who really struggled getting approved with this method. https://developer.apple.com/app-store/review/guidelines/#minimum-functionality https://developer.apple.com/app-store/review/guidelines/#min...
- carlosjobim 2y agoIf it's about making money or making a living, your best alternative is probably to make an app exclusively for the platform where most of your profitable customers are. You can expand to other platforms later if you get the scale.
- JoshTriplett 2y agoWhat do you want to do with a PWA that you can't do with a webpage? If at all possible, try to use a webpage instead, to avoid the myriad problems and quirks that arise with PWAs. Only resort to a PWA if you need capabilities that you can't get as a webpage.
- pflenker 2y agoPush notifications, for starters. But the more compelling argument is that from the user’s point of view, an app is something else than a web page. Even the most basic feature - being represented at the Home Screen on the device - makes a huge difference.
- JoshTriplett 2y agoI'm aware of the differences; I was encouraging the OP to consider whether those differences are worth the increased pain that comes with PWAs, particularly on Apple platforms.
- vjeux 2y agoexcalidraw.com is a PWA, but not unsure how helpful it’s going to be as comparison. As mentioned in the comments, success is likely more due to the usefulness of the app rather than the tech used. vjeuxx@gmail.com if you wanna chat.
- keyle 2y agoUnrelated, but this is just a joy to use. Well done.
- cpcat 2y agoUnrelated, I'm interested in the tech behind it to build my own PWA. May I ask what tech stack you use. Sorry if it's obvious I'm just getting started
- arthurmorgan 2y agoNot OP, but the source code can be found here: https://github.com/excalidraw/excalidraw https://github.com/excalidraw/excalidraw
- e38383 2y agoI‘m using https://thelounge.chat/ https://thelounge.chat/ as PWA on all my devices and it works very good. Maybe you can contact them or look around the source yourself.
- LuisAPI 2y agoSpeaking of messaging apps, there's also https://app.revolt.chat/ https://app.revolt.chat/ designed to target a sort-of different userbase. Been using them as a PWA for a very long time.
- dualogy 2y ago> had some success ($500 MRR) with shareware, 20 years ago Don't trigger my nostalgia! Fun times, been there done that 2005-2008 https://web.archive.org/web/20080118184913/http://www.sudoku-pro.com/ https://web.archive.org/web/20080118184913/http://www.sudoku... — then sold it on to another "micro-ISV" (the popular term for indie software maker back then)
- hi-v-rocknroll 2y agoDon't copy that floppy! (Busts out greaseweazle and Central Point - Copy II PC Option Board Enhanced, and Nevrlock) The 5.25" and 3.5" floppy disk shareware cardboard bins on tables at Weird Stuff.[0] This was the equivalent to [Download Demo] in the 90's, except they made you drive to a brick & mortar store and pay for privilege. 0. https://www.atlasobscura.com/places/weirdstuff-warehouse https://www.atlasobscura.com/places/weirdstuff-warehouse
- codazoda 2y agoSo much nostalgia! I miss the used book stores and the shareware racks of floppies (which I think another user mentioned).
- stpn 2y agoI run a personal finance app that's built as a PWA (https://tender.run 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.
- sidcool 2y agoFlipkart
- palsecam 2y agohttps://FreeSolitaire.win 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 https://news.ycombinator.com/item?id=34483398 Happy to answer any question you may have! Happy to get some feedback too ;-)
- toldyouso2022 2y agoI'm really liking it, I've played multiple times and installed it. I will ask though: is it possible to remove the vibration?
- palsecam 2y agoThanks for the feedback! I understand your will to disable vibrations. But thing is, right now I can’t think of how to offer that option properly. For instance, adding a Setting menu+icon just for that would be lame. I’ll think about it more, tho.
- toldyouso2022 2y agoA burger menu in the top right where you then see settings and help. Again, well done
- raybb 2y agoWhat ad network are you using?
- palsecam 2y agoAdSense.
- 2y ago
- joshstrange 2y agoWhenever 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 <website> 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.
- scubadude 2y agoApple killed PWAs years ago.
- eggzy 2y agoI run a web client for my app https://github.com/karlomikus/vue-salt-rim https://github.com/karlomikus/vue-salt-rim and I'm using some PWA features. It's mostly just to get the native app feeling since I don't want to maintain separate apps for all the platforms.
- knallfrosch 2y agoDefinitely feels like you're putting the cart before the horse. You've got the technology nailed down, but haven't explained why. What platforms are you even targeting?
- franciscop 2y agoI have made 2 PWAs that I use daily myself, so I consider them a success! Also one Electron (which I later migrated to Tauri) desktop app and I'm wrapping up another (which took ~2 days). Nothing big/fancy as you probably want, but for me they are definitely successes for me!
- cynx 2y ago[dead]
- iknowstuff 2y agohttps://sniffies.com https://sniffies.com is bar none the most successful PWA I’ve seen in the wild. Push notifications despite Apple’s nonsense and all. Impossible to have an equivalent on the app store. Nsfw.
- the_florist 2y agohttps://flowery.app https://flowery.app is exclusively a PWA. It was designed from the ground up to prioritize the “Add to Home Screen” experience on iOS. The web is the ideal platform given the app’s emphasis on text and typography, and a native replica would be reinventing the wheel for no tangible benefit to the user. WebKit and Safari have come a long way. Flowery puts browser engines through their paces with its UI animation, which is smoothest on WebKit. Safari’s OS integration (e.g., elastic scroll, Sonoma’s “Add to Dock”) is more polished than Chrome’s. It wasn’t a walk in the park though. An early decision, after maddening attempts to circumvent browser quirks five years ago, was to build substitutes for common building blocks of the browser on mobile, notably the virtual keyboard, textboxes, and text selection. This wouldn’t have been possible without web components and Google’s excellent Lit library.
- codazoda 2y agoThanks for sharing. The app functions really well and is beautiful. It took me quite a while to figure out what it does and I'm still not 100% sure I understand completely. Is the app profitable? How do people find out about it?
- djhn 2y agoI find your experience rather relatable. I did figure out there is some sort of spaced repetition component to it, but that’s probably because I’m already an Anki user and aware of the concept. I quite like the eccentricity of it, although I’m sure it could be toned down a notch for wider appeal. Feature-wise, having thesaurus definitions immediately accessible is very useful.
- the_florist 2y agoThanks! I take the “eccentric” label as a compliment. I may have gone overboard with the minimalism. Users had been all the more baffled before I added the tooltips hinting to tap the hearts, so I should probably double down on some sort of tutorial.
- the_florist 2y ago
- danlugo92 2y agoTwitter.
- tk90 2y agotinder has a great PWA web app: tinder.com
- Havoc 2y agoI’m using the phind pwa on my iPhone so I guess that’s an example that I’d imagine could be classed as successful
- noashavit 2y agoGoogle meet has a PWA https://support.google.com/meet/answer/10708569?hl=en https://support.google.com/meet/answer/10708569?hl=en
- akmittal 2y agoTwitter was an excellent PWA untill someone ruined it so that everyone would use native app. Flipkart.com and housing.com and few good examples
- acidburnNSA 2y agoI still just use the website for twitter. What am I missing out on?
- postalrat 2y agoApps don't have ad blocking, have more tracking options, etc. Of course they want to push you to an app.
- janandonly 2y agoI don’t, but the people who’ve build and run https://app.mutinywallet.com/ https://app.mutinywallet.com/ are rocking it.
- nathancoleman 2y agoAs someone who started investing in PWAs earlier this year after jumping through Apple and Google’s hoops for years, I’d highly recommend progressier.com for making a PWA with an install experience that makes sense to less technical users. This was far and away the biggest hurdle for me. Haven’t had a single person confused since integrating Progressier.
- egorfine 2y agoThanks for the link! Looks promising.
- udit99 2y agoI wouldnt call it a success (not yet at least) but I have a PWA with ~$130 in MRR for now (launched a couple months ago). Happy to chat
- Barbara230 2y ago[flagged]