Progressive Web Application (PWA)

Firefox 58 just added support for PWAs for Android:
https://hacks.mozilla.org/2018/01/firefox-58-the-quantum-era-continues/

See them in action here:

Here some more (developer) information about how they work:

https://developers.google.com/web/progressive-web-apps/

This already works with a lot of websites like Twitter or Facebook. Now, why not make Discourse compatible, too? That would close the gap of a missing (real/native*) Android app.
But it feels like a native app, and just works with the web version, without much changes.

* As Discourse’ Android app is also just a webkit wrapper.

5 Likes

Discourse is already compatible:

Only thing we are missing is offline browsing, and that’s a huge amount of work.

7 Likes

Okay, great, But in Firefox it does not work on your site https://meta.discourse.org/ here. Although Firefox actually has lower requirements for that homescreen button to appear (it’s a button, not a banner there).

It works in Chromium though, so what do you do differently here?

Our manifest is right here: https://meta.discourse.org/manifest.json

No idea why Firefox can’t parse it.

Only thing that jumps to me that we call it manifest.json instead of manifest.webmanifest, but I guess it should pick whatever is declared with <link rel="manifest" href="/file.extension"> .

EDIT: Looks like the extension really changed!

https://w3c.github.io/manifest/#x14-1-media-type-registration

Gotta fix the extension and the mime-type.

8 Likes

Hey @rugk,

I did a cleanup in all things webmanifest and took the time to update our implementation to the letter of the spec.

https://github.com/discourse/discourse/commit/8fc08aad09d0db9bc176a9f2376f05b3c9cebc6b

It’s working on Firefox now.

This also unlocks rotation @codinghorror.

7 Likes

Wasn’t this the Discourse philosophy all along? No accident the mobile view in particular is engineered the way it is …

1 Like

Sorry to bother you guys, but where are we with PWA support now? When I run an audit in Chrome (F12 -> Audits) I get this message:

"User will not be prompted to Install the Web App

Failures: Service worker does not successfully serve the manifest’s start_url, No usable web app manifest found on page."

1 Like

We are 100% compliant.

However due to @sam making the service worker Android only, you need to pass an Android user agent to properly run the audit.

That was made due to bad implementations of service workers in other browsers.

7 Likes

Thanks I’ll watch out for additional support as the ecosystem gets a bit more robust & standardised.

3 Likes

It’s actually quite good nowadays. However as people freak out when they are offline and see a offline (or error) page in desktop we can’t afford the support request avalanche.

5 Likes

PWAs are now supported in the new Firefox for Android (fenix)

12 Likes