172 comments

[ 3.4 ms ] story [ 235 ms ] thread
PWAs would be great in a world where everyone was good and honest. In that world oh frictionless pulleys and spherical cows no one would ever abuse things like push notifications or background updates.

In the real world, where companies get really mad if they can't literally spy on every action you take, PWAs need a lot of extra permissions lest everyone be victims of fuckery. Every feature that would give PWAs parity with native apps will be routinely abused even by otherwise above board vendors.

Users prefer native apps.

I can always tell when an app I am using is just a web app bundled for iOS or Android. They never feel as polished or tightly integrated with the host OS; buttons don't look the same, UI paradigms are genericized, platform-specific features (RIP 3D-Touch) are flat out ignored.

I say this as someone who develops web apps for a living: native apps are almost always more fun to use.

> native apps are almost always more fun to use

I find myself deleting wrapped PWAs. If I need to use the service and am paying, I’ll ping their customer support email. If I’m not, do I really need it? Life is too slow for stodgy apps and hamburger menus on iOS.

I have making web and mobile apps for a long time and have never understood what "native" UI even means. No two native apps look the same. And the thing I always notice is that I can't deep link or do a text search on a native app.

You are absolutely correct that most users prefer native apps but I have no actual data on why.

as a user, because even of beast of a machine native apps are faster, snappier, don't have a ton of shitty useless animations and gigantic spacings & margins between everything. I swear whenever something animates in a UI it almost makes me reflex-xkill it.

good: https://cancel.fm/ripcord/static/ripcord_screenshot_win_6.pn... (densely packed information, respects the fonts of my OS, menus with dialogs, opens in 0.01 second, etc.

bad: slack/discord. they make me want to stop using computers altogether whenever I have to interact through one of those

as a developer, for now my experiments porting code requiring full-throttle maximal performance from the user's hardware in https://ossia.io to wasm for https://ossia.io/score-web really still puts wasm in the "toy" section, it's like going back to 15 years old hardware. Sure, there's likely wasm-specific optimizations that would help, but i don't need to do any of those for maintaining mac / win / linux versions so this is a bit frustrating. Also wasm is not likely to be able to load the tens of thousands of native VST, etc... native-code-based plug-ins developed over the last decades.

If you want a good example of what I'm talking about, go look at the official Reddit app and compare it to Apollo for iOS. The former feels like a wrapper for the mobile site with a few native flourishes on top. It ignores lots of iOS design conventions, because they want the experience to be the same on iOS and Android. Apollo on the other hand feels like a true native iOS app, it follows all of Apples design paradigms, and feels right at home next to the apps that come preinstalled on your iPhone.
The numbers aren't as good as the native proponents claim. A lot of sites put on a full court press to use native going so far as to intentionally cripple web in mobile. This is the environment that produces the numbers cited from time to time.

The feel good answers by devs about native experience or OS integration don't have any real data backing them that I can find.

> Users prefer native apps.

You've nailed it. Not just fun to use: Users prefer native apps because mostly they are a much better user experience.

Native apps are indeed better.

However, I don't think it's because web apps are incapable of being good. Apple has kneecapped the functionality of their browser and locked users into it as the only option; it's obvious willful negligence to convince developers to write more native apps. Native apps that Apple has the exclusive right to profit from.

So, why haven't PWAs killed native apps yet? Because Apple understands user experience, and they'll never add PWAs to the little blue App Store unless the US government holds Tim Cook at gunpoint. It's a senseless business decision to them, PWAs haven't succeeded simply because the dominant platform (Apple) decided they shouldn't.

A next-generation software delivery system is being held back because one (1) company profits from the status quo's exclusive distribution rights. I hope the SEC is taking notes!

Yes because Electron apps show just how great cross platform web based applications can be. /s
Well, the usability can be really great.

You should try doing some frontend with the modern DOM (not the frameworks), it's very flexible. It also performs quite well.

Electron has a lot of other problems, that become worse on mobile. But UX restrictions is not one of them.

I count “not killing my battery” and “having a native interface” as part of usability.
If Apple wants native GUIs on their Electron apps, then they can write a library to provide it. Otherwise, big companies have no incentive to treat MacOS like a special snowflake. Apple makes it as hard as possible to provide you an enjoyable experience outside their taxed walls.
You act as if Windows Electron apps are any better.
Same can be told about the Linux Desktop, the biggest reason why we get everyone doing Electron instead of learning Gtk, Qt, wxWidgets.

If only they were cross platform.

It's not Electron that is killing your battery. It's the software running in it.

Electron is eating your phone storage, and subverting its security. But not the battery.

UX restrictions are good when they make apps on a platform look and feel the same. The worst thing about non-native apps is they each do things differently so cross-app learning is difficult or impossible.
(comment deleted)
> Well, the usability can be really great.

Could. Teams tries to be smarter and paints the window with 1px margin which makes resizing impossible.

If web developers really want to improve usability: You have an app with 1 text field ? Make this field accept keyboard focus by default. Why do i always have to click in a text input field before i type ( yes Teams also does this)

Yes. Can.

I am not aware of any one one that is great (I blame it on the environment's culture and the frameworks). But if the Teams team insists on doing stupid things, it's not Electron's fault.

VS code has shown that. I couldn’t tell you if an app I’m using is “native” or just a very good electron app.
VS Code is very much the exception and not the rule. It also has the benefit of an excellent, well funded development team which isn't true for even other Electron apps within the company (MS Teams).

How many startups and small-to-midsize companies are going to invest as much as MS has into VS Code? Probably not many. Even an investment half or third as large would be unusual.

It seems silly that you would admonish someone for bringing up exceptional web apps when the entire basis of discussion is the future of web apps. Exceptional web apps are exactly the kind of example you want to look for when discussing potential.
How relevant is potential if it’s rarely fulfilled?

The point is that building an Electron app of the same caliber as VS Code is a very expensive endeavor and likely not within reach of the vast majority of projects using Electron. That will continue to be true so long as using Electron is seen as a way to cut development costs to a minimum rather than as a way to develop a high quality cross platform app at a cost that’s higher than that of a single native app, but cheaper than multiple native apps. A philosophy shift is required for Electron to shine.

Electron is a stepping stone. This conversation isn't about Electron specifically and its current shortcomings are irrelevant to the topic, which is that cross-platform app adoption is held back by artificial company policy.
VSCode has shown that it needs several plugins written in C++, Rust and C#, and WebGL rendering, to achieve some meaningful performance and still fails short of Sublime and Notepad++.
It also ships clients across several OSes and arches. Writing it natively and maintaining it's portability would be a snipe chase, and even then it wouldn't run on locked-down devices like the iPad. Targeting the web/Electron worked out for Microsoft, it's not like Intellij is leading the way with memory-efficient text editors or anything.
I'd say power users prefer native apps. I genuinely think the jury is out on whether regular users do. The fact that you're citing something like 3D Touch (which was canned precisely because so few users knew what it even was or how to use it) kind of illustrates the point.

I think this is one of those cases where HN is going to just be an echo chamber audience. We're all power users, the majority of whom demand native apps. But we're not typical.

> the jury is out on whether regular users do

The jury decided, went home and had grandchildren. If anything, power user tools are in web apps. (They benefit from the cloud backend.)

It’s Shazam and Uber and your local paper’s goinga-on-about-town sections that have apps. Because they get dramatically more engagement there than on a web app.

I think you're oversimplifying. As the article states there are a lot of issues with PWAs that have nothing to do with the actual UI experience: discoverability, installing, that hamper web app adoption.

But that's mobile. Look at Slack's desktop app. It's an Electron web app and every time it's mentioned on HN everyone agrees it's an awful resource hog and they should make a native version. The vast majority of people using Slack don't care, though.

It just doesn't matter and the tie breaker is what the developer wants and the developer wants to make an app. Why? because the risk is you want to extend your "app" with features for which there is no browser API, only native access. You can do anything on the web you want on native but not vice versa.
Sure but how many apps out there are doing little other than replicate functionality available on a web site? I'd argue very few apps are doing anything truly native that is impossible on the web. Most are just CRUD forms with a nicer UI than you get on the web.

If your reason for spending huge sums of money on (usually two) native apps is because you think at some point in the future you might maybe need to extend beyond what the web can offer then you're making a bad business decision.

This is one of those cases where everything you said is rational and makes sense on paper but that just isn't how people and the organizations they work for behave.
> The vast majority of people using Slack don't care, though.

The vast majority of people using Slack aren’t the decision makers if they use Slack or not. How often do employees complain about the tools they are forced to use, yet their employers keep paying for them for <insert one of several> reasons?

True - but then consider Discord instead. Similar userbase size, same decision to use Electron on desktop, but no bosses forcing people to use it (for the most part).
Transient apps, like for booking a flight or hotel, ordering food, really need to be PWAs.

I mean, come on. Making me go to an app store and installing an app to do a simple business transaction is not a good user experience.

How is booking a flight a transient app? The Delta app has my credit card information, my flight information, notifies me of the location of my check bags, tells me where I am on the list of free upgrades, etc.
I do that all fine with an Alaska web account and emailed boarding pass.
Does your boarding pass in your email automatically update with gate changes, boarding time changes, etc?

Is it really easier to dig through your email than just click on the app and your boarding pass show up? And since it knows that you’re going to probably scan it, the screen automatically lights up

If you have to ask, you probably are in the 1% by a large margin: Most people do not fly regularly. Some people have never flown at all. You would probably be surprised how often someone's flight with an airline is either their first or, in fact, only ever time they will do business with said airline.
If someone is flying occasionally, they probably don’t just have a carry on. They still will need to know where to pick up their bag.

They will still need to know if their gate has changed or whether their flight is delayed.

I wouldn't want a software install for a one-time business interaction. I'd expect maybe SMS updates for all of this anyways?
Unless you fly internationally. Text messaging is notoriously unreliable when roaming. Also if they send you a text, there is no guarantee that it isn’t dropped if it doesn’t reach you immediately. Push notifications are a lot more reliable over international data and wifi.

There have been numerous accounts where someone couldn’t use a credit card overseas because their bank tried to send them an SMS that they were suppose to reply to to verify a transaction.

Also, SMS cost a lot more at scale for the sender than mobile notifications.

SMS does not work so well inside planes...
In all the airports i was there were big screens telling you about arrivals and departures and where can you pick up your luggage.
So let’s say I fly out of a busy airport - I do I fly out of Atlanta the worlds busiest airport - you are really going to say that it’s more convenient to find your flight among all the ones that are landing than just looking at your phone?

But even then, you first need to know whether your bag is at Terminal South or Terminal North first.

Technically the "backend" has all that info. There's constant push and pull between apps and servers.

Delta will also notify travelers via SMS, Email... it's not app-only.

Are you really going to be constantly checking your email while you are at the airport when they are notifying you of delays and gate changes?

It’s a much better experience just to look at my boarding ticket in my Apple Wallet that is updated.

It is not true if you use it frequently (every few months). I always use apps instead of websites for flight or hotel booking, and the experience is much better.
Every few months is "frequently"?

That's just app hoarding.

Does that matter? The experience is still better.
To me downloading an app from the store, update it regularly, and keep it consuming storage forever doesn't count as a better experience. Specially for an app that I rarely use.
This is all zero effort. The app updates itself and consumes a minuscule amount of storage while most people have 100+gb of free space otherwise unused
Huh. I try really hard to avoid installing software for especially those kinds of things.
We’re calling buying a ticket or ordering something a “transient app” experience now?

Are we just done with the whole web site thing already? Because I kind of liked that bit where I just typed in an address and clicked a few buttons. Worked great, from what I recall.

Let’s not make everything an app of any sort, maybe.

Buying a flight or ordering food via a PWA would just be a web site. PWA doesn't necessarily imply that you "install" by adding it to your home page. It could just be a web site where you order something and permit push notifications.
That is fine, as long as you offer an alternative to push notifications. I have them permanently disabled in my browser so that each website I visit does not keep asking if I want them to spam me.
Notifications from browser... No thanks
That's what PWAs are is a website that allows users to install a WebView icon on their desktop if they choose to. I think this is the advantage of PWAs, they are merely websites with a manifest and install option for users that may want an offline experience, native notifications, or some other feature that would not generally be available within a browser-exclusive context.
"install" is kind of a misnomer, it's more like "put a shortcut on the desktop" which has been around forever, even for links to websites with their own icon
Once you've granted a website enough permissions to run in the background and notify you when a food delivery has arrived, it's safely crossed into the "app" sandbox.

The OPs point is we're now blinded to all these website popups asking for permission, that the web app potential can't truly breakthrough.

As a corollary to the site permissions making it effectively an app, I like web sites in a regular browser because it enforces more limitations than what an app may try to get away with.
You still need to create an account, because reasons. Interacting with any such service is a pain either way for the first time.
If I do something once then it's slightly annoying downloading the app from the app store, but I can live with it. It's not worse than opening browser and going to some URL.
Android at least has the ability to "install" a PWA as an app on your home screen. They just need to allow devs to list them on their app store, and then it really wouldn't be any more inconvenient than a native app.
I didn't say that it was more inconvenient than installing a native app, but it's not more convenient either. I don't see any reason to switch to these PWAs when native apps are usually guaranteed to have better UX, features, Apple Pay, Face ID support etc.
iOS has this too (Share button -> Add to Home Screen) but I don’t know if it’s as easy as Android.
That is TWAs are for.
The United web site experience is the biggest tire-fire I have ever seen from a F500 company. They literally ask you to use your credentials on multiple different domains, and every menu item seems to take you to a different domain where you are of course logged out.

United is a phisher’s dream target. No MFA possible, and they spam their customers with zillions of login links on dozens of different domains. I’ll bet you can register unitedcardawards.com and get thousands of credentials without even sending out phishing messages!

If Apple and especially Google really wanted to support PWAs, they'd add first-class support for them on their app stores, but they don't really want to do that, as it would weaken the walls around their garden.
More because web apps are awful. Even Gmail is awful and god knows how much money goes into developing that.
Gmail is awful compared to what? I'd estimate a majority of people disagree here unless you're more of an IMAP purist.
>Gmail is awful compared to what? I'd estimate a majority of people disagree here unless you're more of an IMAP purist.

GMail is bloody awful. I can hardly stand using it. Been using Thunderbird for a while now and have not many complaints.

The whole "IMAP" purist thing is unnecessary; there are plenty who prefer not using the GMail interface and have no idea what IMAP is.

What's "bloody awful" about Gmail? All the mail clients look the same to me, you got folders and sorting on the left, a list of mails, and when you click on a mail you can read it.
> What's "bloody awful" about Gmail?

Telemetry, activity tracking, etc.

NeoMutt doesn't send everything I do to a persistent log accessible to data broker parasites and NSA functionaries.

Not being turned into cattle watched over by an enormous Panopticon is a pretty major Killer App feature.

Outlook Web App has been pretty great IMO. Way better than desktop and way better than Gmail. Just my opinion.
Last I checked even their "smart" folders synchronization was broke. I've never had a good experience with OWA and find Microsoft constantly crippling or breaking products which somehow seems to also make their users some of the most Stockholm syndromed people I've ever dealt with.
It doesn’t randomly decide to hide email from me, that puts it leagues above Gmail by default.

I like that it has critical features like a sane approach to contact lists and “sweep”. I also like that I can send a message with priority - a feature mysteriously still missing from gmail.

Google already does this to a larger extent:

https://blog.pwabuilder.com/posts/publish-your-pwa-to-the-io...

It is Apple that has had issues with PWA support.

> While WebKit is making progress on PWA support, at the time of this writing, PWAs remain a second-class citizen on iOS. The iOS App Store’s support for PWAs is non-existent, requiring a web view-based solution like PWABuilder’s.

> Additionally, because iOS doesn’t allow 3rd party browser engines, your PWA is limited to WebKit’s PWA capabilities, which are currently lagging behind other browser engines.

Really? What's an app on the Google app store that is really a PWA? And I mean an actual PWA and not a PWA wrapped in an app.
They do need a showcase, but I believe there are several. bubblewrap is an official framework for publishing them but I don't know if you consider that wrapped in an app or not.
If you're on a Chromebook, the default Twitter and YouTube Music install is a PWA.
Chrome Extensions are a related Cousin, though.
It's still difficult because the Web experience also sucks. Sliding off-screen menus, maps navigation (this is very handy for finding Airbnbs/hotels closer to your activities), gestures, dynamic charts, etc, those are examples of features that are very poorly implemented with mainstream Web technologies, creating a frustrating experience for the end-user.

Even though I hate it, can see why those "simple" apps exists: the Web still feels somewhat hostile to phones. Unless we create an alternative for the scrolling-page-point-and-click DOM[1], mobile will continue to be a second-class citizen in the Web.

[1] There's WASM, but I'm not sure if the performance will ever match native UI rendering implementations. Or Google would had implemented Flutter in WASM from day one.

Do you really even need an app to do that? Just use a web site
I much prefer real apps for those, where the UI and code is already downloaded and installed, auth is saved reliably (not cookies), and the app can just fetch the latest map/data/notifications as needed.

Those apps are so much smoother to use than mobile webpages, even if the pages are AJAX. (And I say that as a web dev.) PWAs suck, they optimize for dev experience (same codebase) over user experience.

I agree, I was talking more about apps that you use regularly. Reddit clients are a good example; Apollo for iOS offers a way, way better UX than the official client which is essentially a wrapper around the mobile site with a few native flourishes.

For stuff like buying plane tickets or booking hotels, I much prefer to just use the website itself. I see no benefit to these things being made into PWAs or occupying any kind of permanent space on my device.

A standard website is also sufficient for this
I concur with this. I really thought Android's Instant apps would be a major boon because of this. If you're not aware, Instant apps are Android apps that download, and temporarily install, the most commonly used app components first so you could use them right away. This gives you the best of both worlds; the ability to use an app, without installing it, while also having a native experience. For some reason it never took off.
I think whoever came up with Android Instant Apps grossly overestimated the amount of friction imposed by users having to click the "Get App" button in the Play Store. It is a solution in search of a problem, which is why it never took off.
I think companies don't like these. Businesses prefer when users download their app. They now have some real-estate on the user's phone.

For instant-apps you invest all the effort but they don't remain on the device (and are limited in size to begin with)

Also - it doesn't take long to download apps today (games - now that's a different thing)

Even the Papa Johns and AirBnb apps are much more responsive than their web counterparts.

When I’m ordering food on Uber Eats, I can see where the driver is in real time.

Another feature of the Uber Eats app is chat and automatic translation. When I was in Florida, I discovered how many people who work for Uber don’t speak a word of English.

Absolutely not - the experience from the United and Marriott apps on iPhone are worlds better than their respective websites, and certainly better than their mobile websites.
> platform-specific features (RIP 3D-Touch) are flat out ignored

good riddance.

as someone who uses various operating systems on a regular basis, niche "features" like 3D-touch are an annoyance and force adjustments and break muscle memory every time I switch between systems and UIs, which I do many times every day.

apple's insistence on being special and not using basic keyboard and touch conventions like the other systems do is painful.

What are the “standard” touch conventions that Apple should have followed when the iPhone was introduced?
> native apps are almost always more fun to use.

But then do user care for apps they don't enjoy to use on a fundamental level ?

My local garbage collection company has an app, and I only need it show me what garbage will be collected today and this week. I use it almost everyday, but couldn't care less if the buttons feel native, or if the UI paradigm is generic.

Having all the resources downloaded on the phone still makes the app faster to open than the web site, and I'd have been 100% happy with a PWA.

If we look at phones as tools, there are hundreds of tasks for which "there's an app for that" but an app built specifically for every platform is just overkill and a waste of resource.

Exactly.

Can someone tell me what PWA even is from user perspective? I think most users just see web and web apps that they can use through their browser and then there is the app store and its native apps. Most people have no idea what the hell is a PWA. Even I don't fully know what it is because I don't really care.

To me there is the web with collapsing non-optimized layouts, annoying forms, "Please login"/"Enter your billing address and credit card information" popups and then there is the perfectly crafted mobile UX with Face ID, Apple Pay etc. that just has all my data and just works.

Well, there are also app store apps that effectively just wrap a PWA, and also apps that are some shade of gray inbetween.
One step further: serve the PWA from the plane’s LAN. Forgot to install the app before takeoff? No matter!
Give it another decade. PWAs will only get better and more integrated. PWAs could still kill off native apps eventually.
The reasons people choose to develop PWA or native have greater impacts on the user experience than the differences between the two.

For example, many predict PWA development will be cheaper for them in the short-term. They are first optimizing product development for short-term cost. That focus impacts the released product more than PWA’s strengths and weaknesses. Others choose PWA hoping for a way to rapidly release and iterate MVPs of experimental business ideas. Again, the rationale has a greater impact on the user experience than the tech. Some expect native stacks will let them more deeply tune and polish the user experience than PWA. Or access richer or more performant device capabilities that PWAs cannot. And, this focus on experience over cost impacts the users’ experiences more than the capabilities of native.

In short, many PWAs feel poorer because of product development goals and constraints that precede PWA. These products were always going to give a poorer experience, regardless of the choice of PWA or native.

> For example, many predict PWA development will be cheaper for them in the short-term.

It's objectively true if your requirements include multi platform support (particularly web) and don't have hard native requirements (such as device Bluetooth access).

> Others choose PWA hoping for a way to rapidly release and iterate MVPs of experimental business ideas. Again, the rationale has a greater impact on the user experience than the tech.

This isn't always true.

Expedience, familiarity, or new and shiny are very strong gravity sources in making a decision.

The design skill of the team and org will have a bigger impact on the final product than the decision. Crappy native apps are as bad as crappy web apps. And there are tons of crappy native apps. Exceptional software is a relatively rare breed of software.

That said, I will grant that some organizations will have a rushing about management style that can pretty much only build short sighted crap and if given the choice they would probably opt for a PWA. Even as I repeat this logical seeming rational I have worked at such places and they haven't built PWAs, so it's not some universal. They still fell into one of the above gravity sources.

I'm smiling wryly at this comment, because it sounds exactly like what people used to way about Java apps on Windows. You could throw your latest sexy window toolkit at it, but it was never /quite/ native looking enough, and users could always tell.
Hmmm... its not like it wasn't possible to make good UIs in Java. Intellij is written in Swing and I would content that its one of the best IDE UIs out there.
Same here, I have been developing native and Web applications for a couple of decades by now.

Either give me a native app, or a pure URL for the system browser.

This doesn't seem true of everyone, at least for Reddit or Twitter. No matter how many times it tries to get me to install the native app, I'm always going to keep using the web app.

From other comments on Hacker News, I don't think I'm alone? I don't know how many die-hards there are, though.

There is a very strong gravity source on hacker news for the compute efficient solution. Native over interpreted is one such manifestation.

I'm with you preferring the web sites, I think big tech is generally into the better data harvesting potential of native. So you have companies that push their native apps hard when a PWA would be fine.

There is truth to the ability of native to provide a better interface. I've built PWAs and cordova and now capacitor apps and I've experienced those limits. But the reality is, >95% of the time it just doesn't matter.

>On paper, PWAs are the perfect alternative to native apps: only one code base to manage, instant updates that require no approval, and no commissions to pay on in-app purchases. What’s not to like?

Most 'challengers' to any dominant methodology need 10x type benefits - at least for specific community, segment or use case. So the two immediate questions:

1. how can PWAs provide some segment of end users with 10x type benefits?

2. how can PWAs provide some segment of developers with 10x type benefits?

A few examples of what higher authority could translate into:Restrict access to the Push API to installed PWAs. Regular websites wouldn’t be allowed to request access at all. Goodbye BS spam.

…hello every site trying to upsell you to their BS PWA. I expect someone to have the bright idea of refusing to serve you what you’re there for until you do.

> …hello every site trying to upsell you to their BS PWA.

I really can't tell if this is /s or not. It seems to me it happens already. Reddit is a prime offender. Discord. Slack. My bank (at least they have some plausible use for some of my personal info). Maybe it's their app not their PWA, I don't know and don't care. Still mostly BS.

> I expect someone to have the bright idea of refusing to serve you what you’re there for until you do.

Again, this is /s right? It's real.

I guess my adblockers are saving me from this particular hell.
Because when the duopoly of Apple and Google want to make money through their app stores, they don't want developers not going through their stores, and thus they'll restrict PWAs as much as possible under the guise of privacy. How else are they going to extract their pound of flesh?
this.

you cannot adblock in native apps like you can in web apps. and web apps can never be as invasive.

no matter how good PWAs will be for the consumers, they lack all the user-hostile things producers expect to be able to do. this is why it will never happen, sadly.

You can’t “ad block” with the most popular websites either that have “native ads” like FB.
you can at least attempt it, via NLP, etc. it's still DOM at the end of the day.
I do all kinds of adblock in native executables, but mostly blocking places that host ads in my firewall.
How many apps do you use right now that could be web apps do the developers actually accept payments through the App Store?

It came out in the Epic trial that 80% of App Store revenue comes from games and in app purchases.

> On paper, PWAs are the perfect alternative to native apps: only one code base to manage, instant updates that require no approval, and no commissions to pay on in-app purchases.

Ask users, and they’ll never volunteer any of those things as something they’re looking for in an app. They might assent when you explain that commissions mean higher prices, or that updates can help security, and neglect to mention the associated tradeoffs.

But they’ll never just go and name those things themselves.

If you want PWA’s to kill native apps, maybe start by looking at what inspires users to want them (or not), instead of what inspires publishers to want them.

I can text someone a link to a website, they can click the link, and it just opens without going through an explicit install process.
Maybe people are using the terms differently now, but I think of what you describe as visiting a website.

To my understanding, installation is precisely the thing that distinguishes PWA’s from traditional web content.

That and also, I can text anyone with the same brand of phone a link and they can install it. So GP’s point is not even much of a win in the first place.
(comment deleted)
For one I don't think PWAs will, should or can kill all native apps. But I think they could replace a specific subset of native apps that aren't doing anything particularly ambitious in terms of feature set or UI. The article is pretty long but for me there are two core reasons:

- people are used to getting apps from the App/Play Store. It's a very well understood dynamic. Installing from a web page is strange.

- Apple have helped make the above an even bigger problem that it needs to be by making their 'add to Home Screen' option two menus deep with no way to trigger it as a result of user action.

That's about it, really. I know people are coming to this thread to say PWAs fail because the UI is bad or because they're slow or this or that... I don't buy that argument simply because I know of a ton of slow native apps that have poor UI that are successful. Non-power users don't really care all that much if you're offering functionality they want to use (within reason, of course). I would still love to see a web API for something equivalent to UITableView, though.

> I would still love to see a web API for something equivalent to UITableView, though.

If browsers started shipping support for typical UI widgets like that, I would become much more interested in the web as a platform. Bring Your Own Everything is fine for traditional websites but I strongly dislike it for building something complex enough to be considered an "app".

Natives apps preferred and dev adoption building PWAs is still growing.
The PWA for Zoom when I tried it on my Chromebook was horrible, FWIW.
Worked fine for me when I used it on Monday. Thankfully, since the old Chrome App is being deprecated (it runs in PNaCl IIRC).
> Funnily enough, installing an app directly from a website is both faster and more convenient.

This only holds true if one directly navigates to the website in question, which I would argue is unusual at best. The next closest thing to searching the App Store/Play Store is searching for the app with Google, where one will be met with pages of results that are likely not helpful, particularly for the type of highly general queries that tend to be used when shopping around for an app (e.g. "recipe app").

Additionally, the App Store and Play Store provide some signal of app quality by way of reviews and ratings, which helps skip over the more obvious clunkers and lemons and filter out the options that don't have the features required. You don't get that with PWAs, making for more time wasted evaluating each PWA in the category.

————

On the question posed by the title, from the developer side of things a factor I don't see discussed as much is that for various reasons, a lot of devs don't want to write for the web ecosystem due to the tech stack involved. If it were easier to opt out of JavaScript and its associated ecosystem in favor of whatever devs prefer instead, takeup of PWAs would be more enthusiastic. WASM is promising for accomplishing this but doesn't seem to be where it needs to be quite yet.

I've been working on a project and because I really hate Java I'm trying to get it done with a PWA. There are like ten million annoying things that prevent you from having access to the hardware in easy ways but outside that using a browser for UI is pretty solid for my purposes.

I'm only concerned with one user so I've been able to circumvent those issues by just running code on the underlying *nix subsystem on my phone and talking to the UI over websockets. For certain usecases WebBluetooth is actually enough to control a peripheral and you don't even need a rooted phone, just any android w/ chrome.

A lot of the reasoning behind why phones are so locked down feels like safety theater, there may be good security reasons, but there are also DEFINITELY good business reasons.

It's frustrating, if Android was actually an open platform (at least in the Windows sense LOL) I could do this shit without resorting to weird root-cloaking fuckery that gets broken every update.

Zedtopia is a PWA...

Going Native App this early would cost too much to develop and maintain, and because our platform is for publishing, sharing, and discussing web2 and web3 content, our app would require using a webview to render user uploaded html.

Thus might as well use a browser.

Myspace was just a webapp. Facebook started off as a webapp. Reddit is a webapp. I don't like installing extra apps unless necessary.

Bloatware is annoying to my target user -- Early adopters and innovators.

Thus PWA is the choice for this platform. It guarantees universal accessibility which is really important to our core values of inclusion and universal design.

It's easier to make a webapp that uses the ecosystems' accessibility tools for deaf, blind, and impaired users.

with things like webgl, we can even do lightweight gpu calculations and 3d presentations on a phone browser.

a native app is only necessary for apps that use native functions.

furthermore, until we move past jwt auth for api based apps and backends, platforms will still get hacked.

Aside from specific missing apis, the biggest problem with PWAs right now is probably that it's a PITA to maintain local state and also sync it with the server unless you use something like pouchdb that's specifically oriented around that.

Once the filesystem storage apis get worked out, it should be much easier to have persistent sql.js, etc. without having to load the whole thing into memory and save it again constantly and without having to resort to complicated stuff like absurdsql.

I think that finally being able to easily have sqlite in pwas will make it a lot easy to maintain local state and sync it without having to have a maintain a completely separate way of handling data for offline use, ideally without having to rearchitect the whole app as "offline first" but instead just optionally allowing offline use when it's installed as a PWA.

This is assuming you want to enable offline use, but for me that's a major thing that justifies making a page into a PWA (otherwise why not just go to the site?).

I think the client server architecture is too deeply tied to the web to change this in a meaningful and impactful way across the web.
> unless you use something like pouchdb that's specifically oriented around that

There's your answer!

As a user:

I don’t think I’ve ever seen installing a PWA as an option. I’ve never been prompted (though I suppose some of those “use our app!” pop ups could be trying to install a pwa, but I think they always take me to the App Store).

As the article mentions (on iOS) the install mechanism is to open the share menu and select “Add to home”.

I don’t open the share menu on random web apps to see if I can install them. The option may as well not exist. I also highly doubt any regular user is aware of the term “PWA”. Why haven’t PWAs killed native apps? No one knows they exist.

As a dev:

The one time I wanted to make a PWA the use case relied on being able to send notifications. The user was on iOS, safari didn’t support it. Dead in the water.

Maybe I’ll revisit it again now that support is finally here.

I have no idea how someone who isn't a web developer is supposed to know 1) what a PWA is, and 2) how to install and use a PWA.

It feels like what QR codes were like 10 years ago

Development tools are preferences, and developers tend to be more important than technologies.

You're just seeing the authors' favorite tools. Lots of developers don't like web stack.

Because I vastly prefer native apps and maybe others do too? The biggest advantage is that they stay logged in. I haven’t used AirBNB in 2 years but it’s still logged in. The web app wouldn’t be.
That's really contrary to my experience on iOS. My apps are frequently forgetting they were logged in. In fact, I just checked AirBnB specifically and it has forgotten me.
A number of responses in this thread are crying about companies needing trackers or notifications not working correctly. These are two tiny issues that just doesn't explain why there aren't any competitive PWAs yet.

PWA just aren't as satisfying to use as Web Apps; it doesn't have anything to do with relatively esoteric APIs. Just look at Twitter iOS and Twitter Web. Just moving within the app is clunky, try clicking a tweet; while the native app is full of fast animations the web app is full of empty loading screens. On native videos play quickly and fluently while html5 video can't offer the same seamlessness.

Is there a PWA out there that meets the level of polish of something basic like Twitter native app? If not, users will continue to prefer native apps; especially on mobile. PWAs will only win if they manage to make development so cheap that they kill any incentive to build natively. This is what happened on desktop

webapps haven’t been done well yet. mostly they try to mimic native apps, and obviously that’s not the way.

for webapps to succeed they need ux that fits their platform: a browser.

the best thing about webapps is they seamlessly move between devices. all you need is a browser and your password.

Q: "Why haven't PWAs killed native apps yet" A: "Because PWAs are not performant and are harder to police from a platform perspective"
I use twitter web on my phone instead of the app, for privacy reasons.

Its noticeably more janky, the browser crashes now and then, and the animations aren't as smooth or simply don't exist, also things take longer time to load for some reason.

I think it depends on how the website is designed, but it might also be a general experience of PWAs.

Tech details: Brave browser, Android 12, Pixel 4XL with CalyxOS.

Maybe try Firefox? Brave is known to be laden with "interesting" extras.
Its worse, especially on Android.
Regarding PWAs accessing native features, I personally believe they should be able to, but only if explicitly installed and granted permission.

I don't see why they shouldn't if I explicitly want to give them permission.