upvote
Oh boy, I have I've been working with offline-first web apps since the late 2000s... then the particular app I have in mind has been used as a PWA for the past 6-7 years.

I really, really, love building stuff for/on the web. When working with founders/clients we'd often start with building the MVP as a PWA, because of how easy it is to iterate and test. (https://untested.sonnet.io/notes/web-and-feedback-loops/)

That said, some reasons off the top of my head in random order:

- seemingly small but UX critical features breaking or not working at all (wake, audio, notifications, scroll breaking).

- most of the users don't know/haven't been taught they can install a site or assume that PWAs are inherently worse

- PWAs are harder to monetise (no super easy way to let the user pay a lifetime licence for the app, customers want super easy, and that's not for me to judge)

- critical, but non-obvious to a non-technical person (and thus difficult to explain) features are unstable or janky on iOS when running standalone/via home screen (example: wiping offline storage every few days).

In some ways things work better than, say 10 years ago, but at the same time there's the *unpredictability*. I really don't want to worry about my app breaking in some impossible to fix way next year. Not, when the app is meant to pay my rent.

Performance was rarely an issue, discounting experiments like running image recognition inside a "service worker" in JS, on iPhone 7 for an AR game I was messing with. That was in 2016 (before Pokemon Go came out and kind... of dumbed down the idea or AR).

reply