Progressive Web Application (PWA)

Firefox 58 just added support for PWAs for Android:

See them in action here:

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

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.

「いいね!」 6

Discourse is already compatible:

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

「いいね!」 7

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

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

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

「いいね!」 1

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

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

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

「いいね!」 3

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

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

「いいね!」 12