zlacker

[return to "Apple’s refusal to support Progressive Web Apps is a detriment to the web"]
1. christ+q9[view] [source] 2017-07-27 12:43:31
>>jaffat+(OP)
I think a lot of commenters here are missing the point and getting distracted by push notifications (who wants a website spamming them with notifications?) and loading screens (hardly a feature).

Apple supporting PWA (Progressive Web Apps) is hugely important because it enables a future where web apps can natively support browser, Mac/Windows/Linux desktop, and mobile iPhone/Android/Windows native mobile with a single codebase of open technologies.

Why is that important? By fragmenting development effort, the overall product isn't as good on any platform.

There's an app I'm making on the side to keep track of your contacts (like a personal customer management system). This needs to store all your contacts offline, because it'd be too much friction to load everyone you've ever taken notes on over the network every time you open the app.

Right now, the only way for me to accomplish that on iOS is to make a native app. This means I had to learn an entirely new technology stack (React Native and XCode), completely rewrite my views, tie everything into my backend, and go through Apple's Byzantine approval process (which I still haven't done because I can't figure out why my app compiles and runs locally but complains about libraries not being linked when I try to archive it to upload to the app store).

This is unnecessary duplication of work that could've been spent writing new features, makes it harder to add new front-end features in the future (because now they have to be added in two places), and adds a huge lag in the time it takes me to push changes to the iOS client (weeks, vs. the seconds it takes to push a change to the web client).

If apple supported PWA, I would've spent my time making the database keep a local syncing copy on the browser (with minimongo or pouchdb), and then every platform would've benefited from faster page loads and offline syncing.

Until Apple adds PWA support, I can't make as good stuff, and people can't use the better stuff.

◧◩
2. interp+9b[view] [source] 2017-07-27 13:02:24
>>christ+q9
But as an iOS user I expect you to use the technology stack provided by my preferred operating system. I don't want to use your app if you're targeting a lowest-common-denominator feature set.

When I change my preferred text size through accessibility settings, good native apps respond correctly. If I need voice over support, the operating system knows how to read the view hierarchy to me in a logical way.

When drag-and-drop becomes a thing in iOS 11, native apps will implement that feature well. I think it will take some time for web apps to implement it as nicely (if ever).

There are thousands of tiny details that your web app just won't have. Those details are more important than your familiarity with a tech stack or how long it takes you to deploy something.

You say that:

> By fragmenting development effort, the overall product isn't as good on any platform.

But I would say that:

> By building a web app, the overall product isn't as good on any platform.

I have yet to find a "web app" that I delight in using, though I love many web sites and native apps.

◧◩◪
3. drusep+Le[view] [source] 2017-07-27 13:32:35
>>interp+9b
>But as an iOS user I expect you to use the technology stack provided by my preferred operating system. I don't want to use your app if you're targeting a lowest-common-denominator feature set.

I would wager that the average quality of an iOS app written by someone like OP that "has a web experience and _has_ to learn iOS just to work on that platform" will probably be lower than if that person (with web experience) could just extend their web app natively with PWA.

I completely agree with you that the app should feel native to the platform (I actually quit a job a while back because they wanted me to theme our web Android experience as iOS for "consistency across all devices" instead of matching the user's device's design patterns), but there is huge value in giving the devs the tools they need to write the best product they can, and splitting codebases and requiring more work/knowledge/moving parts is actively detrimental to a quality end-product for everyone, unfortunately.

◧◩◪◨
4. falcol+Pg[view] [source] 2017-07-27 13:46:52
>>drusep+Le
> iOS app written by someone like OP

That's a business choice that they made, and will suffer for. If a developer and business choose to half-ass the native iOS application, there's no reason to believe it would behave any better on iOS when written as a webapp.

> the tools they need to write the best product they can

The best product that can be made will never be made with cross-platform tooling. It will always be lacking. My proof for this? Java programs. TCL programs. Electron programs. There has yet to be an application which uses the same GUI code across applications that is as good as a native application.

◧◩◪◨⬒
5. dccool+Qn[view] [source] 2017-07-27 14:29:46
>>falcol+Pg
"The best product that can be made will never be made with cross-platform tooling."

You're making a circular argument to the original point. If you pointlessly cripple the best "cross-platform toolset" (the web) then of course the products made with it won't be as good.

Native mobile apps belong in the same category as desktop apps - they are good when you need close-to-the-metal graphics but there's no reason you should have to open up a desktop app to read the news or even do some light word processing.

◧◩◪◨⬒⬓
6. kitsun+bx[view] [source] 2017-07-27 15:31:04
>>dccool+Qn
Even if web browsers were on the same page across all platforms and did everything front end dev's dreamed of, web apps are still not going to be as good as native for the fact that they do nothing to leverage what makes any particular platform good, and worse, will be developed around the least capable platform's feature set. In a world where web apps dominate and are the overwhelming majority, why should OS vendors even bother with furthering innovation on the OS level? Nothing would be taking advantage of it. They'd do just as well to boot straight into a generic grey browser environment and call it a day!

As for the web being the de facto solution for light tasks, I'm not sure I agree there either, at least with the web's present resource consumption problems. There's no reason, for instance, for a word processor that barely matches modern WordPad or Word 95 in terms of features to be as heavy as it is (Google Docs).

If web apps were being approached from the angle of resource consciousness and taking advantage of platform strengths, I might have a different opinion, but that's not what anybody developing web apps wants.

◧◩◪◨⬒⬓⬔
7. drusep+ez[view] [source] 2017-07-27 15:42:17
>>kitsun+bx
>web apps are still not going to be as good as native for the fact that they do nothing to leverage what makes any particular platform good, and worse, will be developed around the least capable platform's feature set

We already see this (and solve for this) on desktop and platforms with a lot of variance in capability like Android. Just because people out there run 2.3 Android doesn't mean my 7.1 apps are going to be any less quality, even if they still work on the least-capable platform's featureset.

The obvious solution to this is to exclude or disable features from devices that can't handle them, which is also possible and encouraged on the web (with some decent precision through identification and fingerprinting provided by a myriad of things like service workers). Your banking site probably works in IE8 (barely), but that doesn't mean your up-to-date Chrome/Safari/whatever is going to be a worse experience.

>If web apps were being approached from the angle of resource consciousness and taking advantage of platform strengths, I might have a different opinion, but that's not what anybody developing web apps wants.

Web apps are focused on optimizing _different_ resources than native apps, that's all. Google Drive, for example, offers me an experience with no local installation cost in storage, virtually unlimited storage space for files, ancillary services like backups/authentication/sharing/etc handled for "free", native-like responsiveness while working offline, a low barrier-to-entry (unlike downloading/installing an app), a smoother experience across multiple devices, etc etc. These are all qualities that a web experience does better, and I think these are all qualities that people (myself included) value over the separate benefits of traditional native apps.

[go to top]