Hacker News new | past | comments | ask | show | jobs | submit login

I disagree, at least on the Android side of things (Apple has long been hostile to PWAs). Installing a PWA from a website is trivially easy on Android, it's just that most users really have separated in their minds (not surprising due to history) that apps come from app stores, and the browser is used for websites.

Also, Google has made in much easier in recent years to submit plain PWAs to the Play Store: https://youtu.be/ddbHp8tGBwQ




On Android you have to pop open a menu and find the install option. That's not inherently discoverable as you need to know it's even possible, and most people don't.

It would be trivial to present the user with a more proactive notification that a site can be installed as an app, or even include such a notice in their search results on Google, but they choose not to do so.


Actually nowadays it's not that bad anymore. Android browser itself offers installable PWA and there is an event called beforeinstallprompt event (https://developer.mozilla.org/en-US/docs/Web/API/Window/befo...), which can be used to perform PWA installation on user interaction. Of course it's not supported in every browser.

iOS is more difficult since user needs to understand that "saving to home screen" is same as installing "app" and there's no way to trigger it programmatically or help user in any other way than with visual illustrations.


In iOS it’s also buried deep in the “share” menu which makes absolutely no sense as you are not sharing the website with anybody.


The share menu is used for everything on ios, I had to get used to it at my first apple device’s case.

One notably stupid usage of the Share option was (I believe it is no longer how it’s done) adding an image to a hidden folder — that’s something you definitely don’t want to share, yet quite easy to accidentally send to someone during this process.


Thankfully this insanity is changing in the upcoming release due in September. A button for a 3 dot/hamburger menu appears in the bottom right when you select photos.


That menu does far more than share, such as opening the URL or document or whatever you are viewing in a different app or saving it somewhere.


How is it buried when it’s on the same level as everything else?


Because it doesn't make sense that it's part of the web share functionality to begin with.

The native share dialog is about "I have this piece of content, now share it with one of these other apps", e.g. saving a document locally, or sending it with AirDrop, or saving to Google Drive, or sending as an email attachment, etc.

Installing a site as an app on your homescreen has absolutely nothing to do with sharing content to begin with.


So the toolbar on iOS has 5 buttons

Go back | go forward | share | bookmarks | see all windows

Do you think there should be a separate button just for “Add to Home Screen”?

Or could you just put the standardish share icon on your page and below it say “click here and choose add to Home Screen to…”?

Is that really that much harder than to tell someone to go to the app store?

Most people know how to scroll.


> and there's no way to trigger it programmatically or help user in any other way than with visual illustrations.

It literally took a two second Google search

https://web.dev/web-share/


Not sure this can be used to "save to home screen" e.g. trigger PWA installation flow like on Android.


That’s not a PWA. Saving to home screen literally creates a link shortcut which just opens a new tab on your safari app. Apple never supported PWAs.


> Apple never supported PWAs.

That's not really correct. "PWAs" actually just describe a suite of APIs, most of which Apple supports: https://firt.dev/notes/pwa-ios/.

The biggest "missing link" has been support for push notifications, which iOS 16.4 added: https://www.theverge.com/2023/2/16/23603042/apple-push-notif...


This is incorrect.

If the app is a valid PWA, it's displayed like any other app on your device. There is no browser UI, it gets its own entry in your app switcher, etc.


I have some PWAs in the Play Store via that method. I also got this same Android API update email and had to jump through various hoops to update them all. I wish I could list an actual PWA (like a URL to a website) in the Play Store and then never have to worry about Android API version updates, since I'm literally not using any Android-specific features.


Couldn't this be automated as a github action and run on a fixed schedule or triggered by policy update email?


> it's just that most users really have separated in their minds (not surprising due to history) that apps come from app stores, and the browser is used for websites.

Right, because for a very long time (and maybe still) PWAs have been much closer to terrible websites than good apps. They generally don't have the same UX properties as real apps.

Remember when the iPhone first came out and web apps were the only option and they sucked balls? That never really changed. People still find mobile sites with maps that are impossible to use. They don't expect that from app store apps.

And if it's just a web site, why do you need to "install" it? A link is surely sufficient?


But nowadays you can't really see the difference between good webapps and native apps. We also migrated our native apps to full SPA apps. And really it makes development so much easier. The apps we have are relatively simple without fancy stuff. But the css render engine is fast. Even on Android. And we reduced some of our apps from 30mbs of java code to 150kb of java/typescript. Plus as a bonus we can have a website and serve ios as well. For us there is really no reason to go back. Sidenote: some parts of the app are still native. Ads, Auth and analytics


Thanks for posting, I think this is a great point. Web tech has advanced to the point that a large swath of apps can be implemented as PWAs with no loss of experience (though last I checked iOS was still holding things back).

This isn't true for all apps, but with the notable exception of games, I'd say it applies to most: banking/finance apps, social media apps, travel/airline/booking apps, etc.


> Ads, Auth and analytics

So two of the three parts that are native are there to make it a worse user experience?


If you seriously think analytics makes for a worse user experience, then you're speaking out of ignorance.

Analytics tell developers exactly where bugs and crashes occur.

And on which devices or versions of the OS the problem is.

Without analytics it would take weeks/months to figure out exactly what line of code is causing the issue. Heck, the developers might NEVER KNOW that the software has an issue.

Apps would just keep crashing on users for years. And developers would have no idea why users were abandoning their product.

Nobody that has any idea what they're talking about would say that analytics makes for a worse user experience.


But if he needed to have ads, what are the chances that analytics were added to “measure engagement”?


The native ads module on both Android and iOS can do that...so, I dunno, ZERO?


> And if it's just a web site, why do you need to "install" it? A link is surely sufficient?

The point is that there are apps that can pretty much be built entirely using web technologies as PWAs, but in doing so they are no longer "just web sites" and they need functionality of installed apps, like notifications. For example, most banking apps on Android could be entirely rewritten as PWAs, but they'd need to make use of things like notifications (I don't want a random website sending me notifications, but I DO want notifications of activity on my bank account) and camera APIs (e.g. for mobile check deposit).


I find bank apps to be the least flexible about notifications; there's no way to get them to use app notifications for a lot of things they insist on using email and/or SMS for.

The last thing being the worst as SMS 2FA is so insecure, but SMS of your bank deposits isn't much better.


Both of these features are available in browsers these days.


Well, obviously all the features that are available to PWAs are available in browsers - a browser is the thing that executes a PWA to begin with.

It basically is just a difference in use case and how most people thing about "apps" vs. "websites". If I have a long term relationship with a business, and I access its functionality frequently, I'd rather have it as an app on my homescreen.


You might as well be arguing that people could just go to the bank instead of using technology.

There are benefits to having something installed. You can give anything installed the ability to send notifications.

Having to manage that permission on a per-website basis is way above the tech ability of most users.

But this is apparently difficult for "tech literate" people to grasp.


Just looking through the apps I currently have open… Bank app, chat app, maps, Tile, YouTube and a weather app. Only one of them is actually doing anything that wouldn’t fit a PWA. So why are they apps, not a collection of links?


I would say only the weather and bank apps would be really equal as a PWA.

Maps require complex gestures and advanced graphics and UIs that would never work well as a PWA. Try maps.google.com. Its nothing like the Google Maps app. Plus Android Auto integration.

Tile probably needs pretty deep Bluetooth integration and background processing that the web doesn't provide.

YouTube can do things like PiP that you can't do on the web.


PiP, the one feature of youtube that I did not want (in the majority of cases) but got anyway.

edit: Sorry for the snark. I think that maps are probably doable with pointer events (https://caniuse.com/?search=pointer) and Android is doing pretty well in terms of Web Bluetooth https://github.com/WebBluetoothCG/web-bluetooth/blob/main/im...


Good points. Additionally, PiP is also possible in most browsers.

https://developer.mozilla.org/en-US/docs/Web/API/Picture-in-...


I use YouTube in a browser on my phone specifically because it has PiP without having to pay Google monthly for the privilege.

If I request the Desktop version of YouTube, where Google doesn't hide their own Mini player button, the video continues to play in the corner.

Mapbox.js is also pretty capable.

Not really sure what you're on about TBH.


> And if it's just a web site, why do you need to "install" it? A link is surely sufficient?

Really? You don't understand the value in having the PWA appear as a native app icon alongside everything else on the device?


You can do that with a link. Just click the three dots then "Add to home screen".


Yes, "Add to home screen" is exactly how you install a PWA to your phone =)

It's a bit confusing, isn't it? "Add to home screen" makes it seem like you're just adding a link, but it's installing the PWA, possibly enabling notifications, and etc.


I just have no desire to have an app. The attempt to download one when I visit a website is unwelcome.


That's what's pretty great about PWAs:

1. For people like you that don't want to install them, they're just a normal website.

2. For people that do want to install them for the added functionality (things like notifications), then it is easy to install, and furthermore cheaper for developers to build and maintain (one codebase instead of multiple).

You say "you have no desire to have an app", but I think for most people that's really dependent on the site/application. Yeah, for any site I just have a short term or infrequent transaction, I don't want an app either. But many/most people use apps for businesses they have long term relationships with (namely financial institutions).


And web apps are always a worse experience. Even with simple things that should be a decent experience like the Papa John’s pizza app or AirBnb


That's not always because of anything intrinsic to the Web. We know that ordering a pizza isn't any more complicated than what can be represented on a paper form. Forms can also be capably represented in a browser. The problem is that app developers are by and large not capable of distilling the requirements down to what is necessary and sufficient for the task at hand. Instead, they're foolishly preoccupied with what they consider to be the mandate to deliver experiences.

In short: most devs' simulacra suck.


> And web apps are always a worse experience.

Check out:

https://timetable.fusion-festival.de/


That’s pretty good. The only feedback would be to use the browser’s built in API for showing the share sheet. It’s part of the standard

https://developer.mozilla.org/en-US/docs/Web/API/Navigator/s...


I think they are talking about popups to install apps everytime you visit (reddit).


On iOS you click share -> add to home screen. How much easier can it really be on Android?


iOS allows for installing a website as an app. You can install PWAs without ever using the App Store.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: