The big hindrance is that iPhone doesn't support browser notifications. So it is really only app-like on Android. I think they are awesome but you are missing half the market.
Wow. What a joke.
My parents (~75yo) have Androids and they essentially ignore all notifications. They allowed notifications on a few clickbaity news websites that spam then with tens of notifications a day. So they just don't know what it is and ignore them all, including potential relevant ones (like Whatsapp messages from family).
I, as a creator of a web app that would benefit a lot from notifications, would appreciate Apple adding push notifications to web. But I understand their choice
Anyway, a mere suggestion to turn notifications off will be likely as ignored as the spammy notifications themselves. That are a lot of assumptions that people used to phone technology make about what is logical, easy, intuitive or obvious that do not hold for people who lived for 50 years before mobile phones existed
This is unrelated to your comment, but I saw a past submission of yours https://news.ycombinator.com/item?id=12276956 and was wondering how your experience went (as I am now in the same position), but did not see an email in your profile to contact you.
Anyway, my experience went terribly! lol
Not much learning though. I stayed there for only 5 or 6 weeks because of a very toxic work environment, with a workaholic culture and a very micromanaging boss that did not trust me (not sure why I was hired in the first place). After that, I decided to study fulltime to learn to code and now I am a happy frontend developer.
But if you want to email me with details of your position, I do think I can help you.
- When on the site in question just tap the padlock/favicon in the URL bar, tap "site settings" and then you can see the permissions granted and change them as you want to.
- Alternatively, you can get to the same "site settings" screen directly from any web push notification in your Android notification panel simply by expanding the notification in the usual way and selecting "settings", which takes you to the "site settings" screen as before.
So if revoking from any page on the site and from any notification pushed by the site isn't straightforward enough then what do you propose instead?
Also Discourse (where I work) is PWA compatible out of the box, so you can read previously visited topics offline, and install to browse in full screen.
So it's much easier to build a native cross-platform app instead of a PWA which is neither optimized for desktop web nor for mobile web (its a hybrid with it's own set of limitations on both the sides). I think framework like flutter is one viable way to build a cross platform desktop and mobile application including web (although it has it's own set of complication for building webapp).
Still I feel the best approach is to build a webapp for desktop browsers and do a mobile cross-platform development using technology like flutter (react native and others are still not very good when it comes to mobile apps). If the mobile app is sufficiently complex than just use SwiftUI or Kotlin directly with common services layer.
- 30% app store payment cut
- users don't like dealing with updating apps all the time
- employees don't like installing apps on their phones for work
unless it is a work phone (not as common anymore)
- cross-platform frameworks have their own bugs and
performance issues
- dealing with app rejections / takedowns / searchability on the app store
There is a lot of accidental complexity in web technologies, but it isn't insurmountable, and there are of course plenty of successful native apps and apps written on cross-platform technologies. At the end of the day, the technology matters less than whether you are solving the problems your customers want you to solve. Many of the technical issues you list are also true for other technologies, cross-platform or not, and picking something that you and your team are comfortable with is almost always the right decision (assuming you aren't trying to do something at the hardware level that PWAs don't have API access to do, of course).If it was possible to rollback, then i would be inclined to enable auto-update. Case in point - i used to really like the youtube app on android, but newer versions have usability issues, poor video playback on 2x speed (this didn't happen on an even older phone on the old version of the app). And i cannot get the old youtube app version, even if i try to factory reset (it's literally removed from the OS image when i updated android).
It's these reasons, plus more, that i distrust auto-updating.
Nowadays I think that long term, the only area that native will have over PWAs will be gaming, as WebGL/WebGPU will never provide full GPU access.
On the positive note, I find WebAssembly + WebGL/WebGPU has opened the door to the return of Flash like tooling and I am myself playing around with this, being a big fan of ongoing Unity, Blazor, Uno Platform efforts.
Everything that I have coded in either Cordova/Ionic (not my decision), is perfectly doable in mobile Web, without having to deal with the platform idiosyncratic, specially on Android.
My impression is that devloping and testing this stuff is unnecessarily hard. The UI experience around this is flaky/inconsistent even when it works and the difference between this being broken/misconfigured or a user error is basically very hard to pin down. IMHO this is completely unusable in its current form and that's probably the main reason basically most people that ought to be getting some value out of this are either unaware it exists because they've actually never seen a real world example on a real world website adding any value whatsoever; or have made the conscious decision it's not worth their time (because of all the above). I'm in the latter category. I would use it but in its current form that's not something I can sell to a product manager.
My fear of dealing with caching issues related to it kind of stops me from taking the time to dig into how to deal with it properly.
PWA features:
- Installable
- Offline caching
- Push Notifications
- Server side rendering
- Heavy use of edge caching (JS, CSS, images, JSON from our API), HTML caching coming soon
- Auto WebP Images support
- Preload/preconnect
- WebShare, Web Payments (Apple/Android Pay)
- Automatic image optimization using a custom edge-cached image manipulation service
- Self updating: despite being cached it will immediately upgrade itself if a new build is detected
So no, it's not the future.
Also, Fugu will definitely no bring a signinficant amount of native APIs to the web. Here's the full list [1]
For example, the post I'm replying to mentioned Ableton. Well "I don’t know who the Web Audio API is designed for" [2] Oh, and then there's no guarantee Chrome will not break it the way it broke automatic audio previously [3]
The web is not the long-term future for any foreseeable future
[1] https://bugs.chromium.org/p/chromium/issues/list?can=2&q=pro...
[2] https://blog.mecheye.net/2017/09/i-dont-know-who-the-web-aud...
[3] https://twitter.com/mcclure111/status/993627449991688193?ref...
> If I could have apps like Photoshop or Ableton...
These apps require way way more than just internet connection and location. For example, you might have to implement your own renderers from scratch: https://www.figma.com/blog/building-a-professional-design-to...
And of course, there's the first-use hurdle. I probably wouldn't even have tried Pinafore if it hadn't been a PWA (in fact, I haven't tried any Mastodon apps). I could just go to the website, sign in, and I'm off.
All these are massively successful companies
Getting all that capability just by adding a manifest file and a service worker was pretty cool. I won't comment on the pros and cons of just releasing a native app (we are in a lot of schools that prefer a web interface so this made sense for us), but we are very happy with the added functionality and don't see any downsides.
It's an MVP and that's something that the PWA has delivered on. We are still testing and working out the product.. after the user research, getting it on the web to know that the product has an audience and that those interested would use it was a very cheap and quick experiment.
It's a shame that iOS does not support notifications, and they do not accept TWAs on the App Store. Still have both of those to work out, and then I will be very happy with the experience.