Turn any Website into a PWA with Chrome
Why only Chrome can install real PWA apps on Android? But other browsers only install shortcut
Chrome PWA Issue
How to install pwa on Android?
Videos
For some websites I can install an PWA (Progressive Web App) onto my phone but many don't support this. Is there a way to force chrome to create an App for a website, even if the website doesn't really support this?
No, you can't, at least not as useful PWAs.
Let's first take a look at the definition of Progressive Web Apps:
A progressive web app (PWA) is an app that's built using web platform technologies, but that provides a user experience like that of a platform-specific app.
Like a website, a PWA can run on multiple platforms and devices from a single codebase. Like a platform-specific app, it can be installed on the device, can operate while offline and in the background, and can integrate with the device and with other installed apps.
Source
I'll start with the "can operate while offline" specification - that is pretty much impossible to achieve on user's side with many web apps, as they rely on pulling data frequently from the internet. There are PWAs that ignore this and don't even handle lack of connection properly, but I wouldn't necessarily call them fully proper PWAs.
Then we have integration with systems. For example with notifications. This and offline handling is done with help of service workers, which you can't easily define as a user for any sort of websites either. It's also optional in theory, but if you skip such features, there's not much point of PWAs.
And lastly the most important part - ability to install it as an app on various devices. This is done by linking a manifest in the HTML, e.g.:
<link rel="manifest" href="manifest.json">
The manifest defines basic PWA info, such as icons, where the application should start, how it should be displayed, etc.
This part could perhaps be achievable by dynamically adding the tag with your own external manifest through userscript, but once again, I see no point in doing that and it's not even worth trying as adding a website to e.g. your bookmarks is basically a much more optimal equivalent.
A PWA (Progressive Web App) is different from a website. It has to be written to be a PWA. A PWA can also be used as a webpage or website.
But you can store shortcuts to normal websites on your desktop.
So you know how PWA works on Android, you visit a website and install it as PWA if supported. I used a few browsers like Brave, Edge, Chrome etc. and only Chrome is actually installing it as an application. When I install it on Brave it just creates a shortcut on the home screen (not application list, not visible in settings either) and it has a brave logo at bottom right of application icon, when you open it you just get a new tab in brave with address bar etc.
In Edge, it asks you if you want to install as an application (so real PWA) or shortcut, but even if you select to install as application it's still installed as a shortcut, same as brave, it has the edge icon on the bottom right of application icon in home screen, and is not available in application list. Which means it's not installed as an application.
But on chrome, installing it will actually install it just like you're installing an applcation. It has a application visible in settings, with version being 1.0 always (like a placeholder) and it's available in both home screen and application lists, when you open it you don't see anything related to chrome in anywhere. It's just like an application, as expected.
Why is this? Why other browsers can't do what chrome is doing?
I know you can add a shortcut to the home screen. But that's not what I'm after.
I'm trying to ad novelai as a pwa. I know it can have a pwa because I've had on my previous phone. I'm trying to get the pwa again on a new phone.
The first time I opened the site, there was the usual "install app" pop-up. I closed it by mistake and now the pop-up won't show up again no matter how many times I reload the website. Restarting the phone didn't help either.
Any help would be appreciated.