PWA Support

Support for PWA features varies significantly across operating systems and browsers. Chromium-based browsers (Chrome and Edge) on Windows offer the broadest support. macOS has improved with Safari's adoption of web app installation in Sonoma. Firefox does not support PWA installation on any desktop platform. Linux support depends heavily on the desktop environment.

OS Browser Installation How easy is it to go to a website and install it as a web-app, as compared to installing native apps? Launching How easy is it to launch an installed web app, as compared to launching a native app? App Switching When switching between apps, what is the experience like for installed web apps, as compared to installed native apps? Link Capture When the OS opens a link that is scoped by an installed web app, is that app opened to that URL or does the OS use the configured web browser? Push Notifications Can installed web apps receive push notifications? External Links When an installed web app opens a link outside its scope, what happens?
iOS
Chrome
Adequate The process to do this changes with each OS release, and is generally not discoverable Good Good None Good Partial Out-of-scope links open in an in-app browser, not your system browser
Safari
Adequate The process to do this changes with each OS release, and is generally not discoverable. It is also more steps on Safari than other browsers. Thanks, Alan Dye! Good Good None Good Partial Out-of-scope links open in an in-app browser, not your system browser
Firefox
Adequate The process to do this changes with each OS release, and is generally not discoverable Adequate Firefox doesn't use the correct name or icon Good None Good Partial Out-of-scope links open in an in-app browser, not your system browser
Edge
Adequate The process to do this changes with each OS release, and is generally not discoverable Good Good None Good Partial Out-of-scope links open in an in-app browser, not your system browser
Android
Chrome
? ? ? ? ? ?
Safari
Firefox
? ? ? ? ? ?
Edge
? ? ? ? ? ?
macOS
Chrome
Good Usually shows an obvious button to install when site can be installed Good Good Partial Opening a url in Chrome offers to open in the app, but OS-level opens go to the system browser None Requires allowing Chrome to have notifications, but clicking on a notification opens Chrome, not the PWA None Opens link in same window as PWA
Safari
Good Direct support from Safari in a reasonably obvious location Good Good Partial Opening a url in Safari offers to open in the app, but OS-level opens go to system browser Good Good
Firefox
None Can be supported with the Progressive Web Apps for Firefox extension
Edge
Good Calls out sites that can be installed Good Good Partial Opening a url in Edge offers to open in the app, but OS-level opens go to system browser None Requires allowing Edge to have notifications, but clicking on a notification opens Edge, not the PWA None Opens link in same window as PWA, not system browser
Windows
Chrome
Good Good Good Partial Shows a labeled button to 'Open in App' None Was asked to allow them, but they were not able to actually be sent or received None Opens link in the PWA window, not system browser
Safari
Firefox
None Can be supported with the Progressive Web Apps for Firefox extension
Edge
Good Good Good Partial Shows an un-labeled icon allowing you to open in the PWA Partial Notification was delivered, but clicking it did not open the PWA None Opens link in the PWA window, not system browser
Linux
Chrome
Good Adequate Some combinations of Gnome/Wayland result in Chromium icons, not app icons being used Adequate Some combinations of Gnome/Wayland result in Chromium icons, not app icons being used None System open uses system browser, navigating to the site in Chromium offers to open it in the app. Doing so opens a second instance of the PWA. Partial Notification is received and appears attributed to the PWA, but clicking it does not open the PWA None Opens link in the PWA window, not system browser
Safari
Firefox
None Can be supported with the Progressive Web Apps for Firefox extension
Edge
Good Adequate Some combinations of Gnome/Wayland result in Chromium icons, not app icons being used Adequate Some combinations of Gnome/Wayland result in Chromium icons, not app icons being used None System open uses system browser, navigating to the site in Chromium offers to open it in the app. Doing so opens a second instance of the PWA. Partial Notification is received and appears attributed to the PWA, but clicking it does not open the PWA None Opens link in the PWA window, not system browser
Legend
  • Good

    Support is close or idential to a native app

  • Adequate

    Support is there, but is clunky, user-unfriendly, or not easily discoverable

  • Partial

    Some support, but not all uses-cases or situations

  • None

    Not supported at all

  • Not applicable due to lack of support or lack of browser availability

  • ?

    Dave hasn't been able to figure this one out

Methodology

Installation

To check how to install a PWA, I would navigate to a URL known to be a PWA and observe the user experience. While some sites do their own call-to-action, I only evaluated if the browser or OS provide a clear call-to-action on how to install the PWA.

Launching

Once installed, I would launch the PWA. Ideally this can be done the same as any native app and that every way to launch an app can be used to launch a PWA.

App Switching

Once launched, I would engage the OS's app switcher (e.g. Alt-Tab) and see if the PWA showed up as its own app, indistinguishable from a native app.

Link Capture

I evaluated this in two ways: 1) using a command line tool like open to ask the operating system to open the PWA's URL and 2) navigating to the PWA's URL in a browser. Ideally, both would just switch to the app or switch to the app and go to that URL. Almost no OS or browser supported this.

Push Notifications

I used Magic Bell to test this. I would install it as a PWA, enable notifications when asked, send a push notification and select another app to be the foreground app. When the notification arrived, I would click it, expecting it to select the PWA (exactly as would happen for a native app).

Some of the failure modes here were confusing, for example, when using Chrome on Windows, the push notification was just never even received by the OS.

External Links

Here, I opened the PWA and clicked a link to a website outside the PWA's scope. I expected it to open that link in the system browser.