# Progressive Web Application (PWA)

**URL:** https://meta.discourse.org/t/progressive-web-application-pwa/79217
**Category:** Feature
**Created:** [January 28, 2018, 6:31pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217 "2018-01-28T18:31:47Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![rugk](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rugk/32/158661_2.png) [@rugk](https://meta.discourse.org/u/rugk)
#### Post date: [January 28, 2018, 6:31pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/1 "2018-01-28T18:31:47Z")

</div>

Firefox 58 just added support for PWAs for Android:

> **[Firefox 58: The Quantum Era Continues – Mozilla Hacks - the Web developer blog](https://hacks.mozilla.org/2018/01/firefox-58-the-quantum-era-continues/)**
>
> 2017 was a big year for Mozilla, culminating in the release of Firefox Quantum, a massive multi-year re-tooling of the browser focused on speed, and laying the groundwork for 2018 ...

See them in action here:

[![](https://global.discourse-cdn.com/meta/original/4X/a/3/0/a30594da449fc3d27aafb851873ee67dfa339e77.jpeg "Progressive Web Apps in Firefox for Android") ](https://www.youtube.com/watch?v=7sMtsOeqv2w)

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

> **[Progressive web apps | MDN](https://developer.mozilla.org/en-US/docs/Web/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.

> **[Progressive Web Apps  |  web.dev](https://web.dev/explore/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.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [January 28, 2018, 6:48pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/2 "2018-01-28T18:48:36Z")

</div>

> [@rugk](#):
>
> This already works with a lot of websites like Twitter or Facebook. Now, why not make Discourse compatible, too?

Discourse is already compatible:

> [@Add to homescreen banner on Android](https://meta.discourse.org/t/add-to-homescreen-banner-on-android/42973):
>
> Continuing the discussion from [Fully support Android Chrome's "Add to Homescreen"](https://meta.discourse.org/t/fully-support-android-chromes-add-to-homescreen/21067/28): If any of you guys visited meta on the last days with an Android Phone (using the default Chrome Browser) you may have seen this: This is Google App Banner feature, and it’s live on latest Discourse. Clicking Add to Home Screen will create a shortcut on your phone home screen, using your forum name and icon, that when clicked will show a splash screen like this: The background color is the …

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

---

<div class="post-metadata">

### Author: ![rugk](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rugk/32/158661_2.png) [@rugk](https://meta.discourse.org/u/rugk)
#### Post date: [February 1, 2018, 8:25pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/3 "2018-02-01T20:25:18Z")

</div>

Okay, great, But in Firefox it does not work on your site [https://meta.discourse.org/](https://meta.discourse.org/) here. Although Firefox [actually has lower requirements for that homescreen button](https://developer.mozilla.org/en-US/Apps/Progressive/Add_to_home_screen) to appear (it’s a button, not a banner there).

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

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [February 1, 2018, 9:55pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/4 "2018-02-01T21:55:28Z")

</div>

Our manifest is right here: [https://meta.discourse.org/manifest.json](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!

> **[Web Application Manifest](https://w3c.github.io/manifest/#x14-1-media-type-registration)**

Gotta fix the extension and the mime-type.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [June 14, 2018, 4:37pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/5 "2018-06-14T16:37:21Z")

</div>

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](https://github.com/discourse/discourse/commit/8fc08aad09d0db9bc176a9f2376f05b3c9cebc6b)

It’s working on Firefox now.

This also unlocks rotation @codinghorror.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [June 14, 2018, 4:44pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/6 "2018-06-14T16:44:23Z")

</div>

> [@rugk](#):
>
> But it feels like a native app, and just works with the web version, without much changes.

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

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [March 4, 2019, 6:22pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/17 "2019-03-04T18:22:42Z")

</div>

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."

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [March 4, 2019, 6:26pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/18 "2019-03-04T18:26:33Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [March 4, 2019, 6:32pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/19 "2019-03-04T18:32:06Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [March 4, 2019, 9:41pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/20 "2019-03-04T21:41:49Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [March 20, 2019, 7:49pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/21 "2019-03-20T19:49:31Z")

</div>



---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [October 14, 2019, 5:14pm UTC](https://meta.discourse.org/t/progressive-web-application-pwa/79217/22 "2019-10-14T17:14:32Z")

</div>

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

[https://twitter.com/Not\_Woods/status/1182403857550151680](https://twitter.com/Not_Woods/status/1182403857550151680)
