Closed Bug 1407202 (desktop-pwa) Opened 7 years ago Closed 3 years ago

[Meta] Desktop Progressive Web App Support

Categories

(Firefox :: General, enhancement, P3)

Desktop
All
enhancement

Tracking

()

RESOLVED WONTFIX
Tracking Status
firefox84 --- affected
firefox85 --- affected
firefox86 --- affected

People

(Reporter: benfrancis, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: meta, parity-chrome, parity-edge)

Attachments

(5 files)

As a user I would like to install a (progressive) web app to my computer so that I can use the app separately from my browser, easily launch it from an app icon and get desktop push notifications without the app being open.


See bug 1212648 for equivalent meta bug in Fennec. Mozilla could be one of the first browser vendors to implement the W3C Web App Manifest specification (https://w3c.github.io/manifest) on desktop, and possibly the first to do so on a cross-platform browser. This could increase engagement with web apps and boost Firefox MAUs as usage stays on the web rather than native apps.

This might include:
* An app install banner to inform me that the current web page is part of a web app that can be installed (i.e. the web page includes a manifest link relation pointing to a web app manifest https://w3c.github.io/manifest/#using-a-link-element-to-link-to-a-manifest)
* An install button which installs the web app as a first class application in my operating system with an icon (https://w3c.github.io/manifest/#icons-member) which launches the app at its start URL (https://w3c.github.io/manifest/#start_url-member)
* Standalone and fullscreen display modes (https://w3c.github.io/manifest/#display-modes) which load the app in their own window in the operating system's task manager, separate from the browser and without browser chrome
* Support for URL scope (https://w3c.github.io/manifest/#scope-member) so that navigations outside the scope of any installed app open in the browser and navigations to in-scope URLs can deep link into an app (https://w3c.github.io/manifest/#deep-links)
* Support for Service Workers and Push Notifications so that I can get notifications even when the app isn't open.
* A theme color which is applied to the app's window (https://w3c.github.io/manifest/#theme_color-member)
* A splash screen which displays while the app is loading consisting of an icon and background color (https://w3c.github.io/manifest/#background_color-member)
Hi Andreas, wasn't sure where to file this? Curious whether anyone is working on this already?
Flags: needinfo?(abovens)
> [...] get desktop push notifications without the app being open.

That already works as far as I can tell. Only requirement (afaict) is that Firefox is open, but the web app / website in question doesn't need to be loaded in a tab.

> [...] one of the first browser vendors to implement the W3C Web App Manifest specification (https://w3c.github.io/manifest) on desktop

It's certainly compelling, but less urgent than on mobile, I think. For an interesting implementation, have a look at what Chrome has been doing with PWAs on Chromebooks. Btw, Fennec also runs on (some) Chromebooks, and allows for desktop installation of PWAs on a desktop form factor.

Some of the questions we need to answer:
- is there a need to launch websites via a keyword in a desktop launcher, or is the "open browser > New Tab > search" flow established enough?
- what is the relationship between pinning a tab and installing a web app? They're sort of the same, but still different. 
- supporting fullscreen apps on desktop seems strange. A sort of windowed mode might be more appropriate.
- an alternative approach could be that we use manifest metadata for items on our New Tab page, rather than doing a desktop / home screen / launcher kind of thing.

There has been some on-off discussion around this, but afaik, nobody is working on it at present.

Food for thought.
Flags: needinfo?(abovens)
> That already works as far as I can tell. Only requirement (afaict) is that Firefox is open, but the web app / website in question doesn't need to be loaded in a tab.

Yes, the key point being you have to have the browser open to receive notifications from another application. Not what you'd expect for native apps or on mobile.

> It's certainly compelling, but less urgent than on mobile, I think.

I agree it's less urgent than on mobile because unfortunately Mozilla is now playing catch up, but desktop is also arguably more of an opportunity to differentiate.

> is there a need to launch websites via a keyword in a desktop launcher, or is the "open browser > New Tab > search" flow established enough?

I'm not sure about via a keyword, but currently I launch native applications from a dock or application launcher and web applications inside the browser application. I use the window manager to switch between my text editor and terminal and the browser's tab manager to switch between my mail client and my email client. It seems logical to try to unify those like is happening on mobile.

> what is the relationship between pinning a tab and installing a web app? They're sort of the same, but still different.

I agree and this is a very good question. On Fennec there's a "pin site" function which pins a tile in top sites on the new tab page and an add to home option in the page menu, soon there will be the new add to home function for web apps in the URL bar. Desktop Firefox has "pin site" (in top sites on the new tab page) but it also has the concept of "pin tab" (in the tab manager). There could either be a separate "pin app" function with a prompt that appears under certain conditions (e.g. when a manifest is detected with a standalone or fullscreen display mode) and pins the application to the operating system's application launcher, or there could be some unification of these features. It could probably benefit from user testing to compare a few alternatives. 

> For an interesting implementation, have a look at what Chrome has been doing with PWAs on Chromebooks.

Chrome OS does indeed have an "add to shelf" option which also uses "pin/unpin" terminology and it's up to the user whether any website opens in a tab or a standalone window (it doesn't require a web app manifest). Windows has also had a "pin website" function (either to the taskbar or start screen) for a while now.

It would be great to have a cross-platform equivalent of this in Firefox, at least for web apps with a manifest, although "pin to [shelf/dock/app launcher...]" might need to use slightly different terminology for each host operating system.

> supporting fullscreen apps on desktop seems strange. A sort of windowed mode might be more appropriate.

Most web app manifests specify the standalone display mode, not the fullscreen display mode. I assume standalone display mode on desktop would be a window.

> an alternative approach could be that we use manifest metadata for items on our New Tab page, rather than doing a desktop / home screen / launcher kind of thing.

That's been talked about for years now. I do think we should be using manifest metadata in top sites, but that's not really the same thing and mobile also has top sites.

Personally my ideal would be that "pin site", "pin tab" and "pin app" are all the same thing, but that's difficult to achieve in Firefox given the UI legacy and variation across operating systems.
Attached image Pin App - UI Mockup —
Note that I previously suggested integrating this feature into the Control Centre, which could work on both mobile and desktop (see attached mockup).
"The Chrome team is now working to enable Progressive Web Apps (PWAs) to be installed on the desktop." (http://www.androidpolice.com/2017/12/05/google-wants-progressive-web-apps-replace-chrome-apps/)
Firefox should allow installing PWA to desktop too. That would be a good alternative for big Electron based applications - no need for additional packaging for developers and users will always be using most recent and secure web browser to run their app, while saving bandwidth - only one browser runtime would need to be updated.
I imagine "installing to desktop" should create a separate executable file, with custom icon and place shortcut to it on desktop and "start menu" (if user chooses to do so). On Windows platforms pinning to taskbar could be one of options.
Starting PWA from desktop should open it in new window, with or without browser chrome (depending on setting in manifest.json).
Adding an uninstaller to Windows add/remove list would be nice touch.
Edge / Windows 10 is also working on this: https://twitter.com/kirupa/status/959175077836111872
Whiteboard: [parity-chrome][parity-edge]
Keywords: meta
Presently chrome app APIs are also getting deprecated one by one. And when they released pixelbook, they promised pixelbook users to have best experience. WO give best APIs , they seems to continue chrome os. 
On other side , unlucky Firefox OS got dismissed due to some reasons . 
In chrome app development it just have one more line "chrome.window.create()" . presently I believe in Firefox extension development , we can create a tab with gives JavaScript. 
So. If an API is built to create new window of browser .then our goal to get PWAs is almost reached
Attached image window —
Attachment #8967270 - Flags: feedback?
Attachment #8967270 - Flags: feedback?
Mass bug change to replace various 'parity' whiteboard flags with the new canonical keywords. (See bug 1443764 comment 13.)
Whiteboard: [parity-chrome][parity-edge]
 
> > what is the relationship between pinning a tab and installing a web app? They're sort of the same, but still different.
> 
> ...
> 
> It would be great to have a cross-platform equivalent of this in Firefox, at
> least for web apps with a manifest, although "pin to [shelf/dock/app
> launcher...]" might need to use slightly different terminology for each host
> operating system.

Pinning a tab to the tab bar or the new tab page is a UI feature inside the browser. Installing a web app (at least on Android) moves it seemingly outside the browser: it will open without showing the browser chrome, that's why it's called "progressive" and "app". This is a huge difference.

On Windows you can pin apps, folders, IE/Edge websites to the taskbar or to the Start menu as tiles. But the desktop is strangely ignored in these contexts even though it predates pinnable taskbar items and tiles as the place where people place icons to launch programs. IMO in Firefox for completeness, we should support pinning to Start, taskbar, or the desktop.

The pinned shortcut to the PWA should open it in a chromeless browser window. Its title bar should wear the theme_color from the web app's manifest. And one area that should be researched is the extent to which a PWA running in Firefox can integrate with the OS. Start Menu live tiles? Jump lists? Notifications? Twitter for Windows is already doing all of those, and it's really nothing more than mobile.twitter.com running in a webview.

Although if Windows itself gets native PWA discovery/installation capabilities in the next major version, Firefox has to consider if it really wants to duplicate all that effort.
> Although if Windows itself gets native PWA discovery/installation capabilities in the next major version, Firefox has to consider if it really wants to duplicate all that effort.

Firefox runs in other operating systems too. And Windows users might prefer using PWAs on Firefox rendering engine.
> Although if Windows itself gets native PWA discovery/installation capabilities in the next major version, Firefox has to consider if it really wants to duplicate all that effort.

Although if Windows itself gets Internet Explorer pre-installed in the next major version, Firefox has to consider if it really wants to duplicate all that effort.

Hopefully Mozilla was there back then.
(In reply to marczellm from comment #15)
>  
> Although if Windows itself gets native PWA discovery/installation
> capabilities in the next major version, Firefox has to consider if it really
> wants to duplicate all that effort.

Sorry, but I felt this comment cold hearted. I know lot of us mozillian here cant contribute to the Firefox codebase, but i think it is a team effort from the coders, beta tester and others that has good idea to contribute.
As far I know one of the goal Mozilla Firefox is to prevent browser monopoly so this huge corporation cannot just put web standard for there own benefit.

As the time of writing Chrome 70 is out, and they official support it without fiddling on the devtools. They even put it on the very first on there blog https://developers.google.com/web/updates/2018/10/nic70

Thanks
Depends on: 1283670
Attached image chrome, pwa, macos —
Alias: desktop-pwa

I am also enjoying using PWA's with chrome on Windows. I think it would be nice if Firefox could do this.

One addition is that I find a more useful term to be Installable Web Apps instead of Progressive Web Apps. The latter term almost nobody is familiar with outside of web development and could mean anything.

There would also need to be some screen to manage these installed web apps. On chrome that is chrome://apps . However, they also put non-installable web apps here to which are simply links to some of the chrome single page applications.

So, there is an opportunity for a more coherent and marketable promotion of installable web applications. Additionally, a better button to click to install them or notification of availablility and such user interface features would be nice. On Chrome the install button is buried in the option menu and the user would never know it is even there.

I would really enjoy to be able to install easily all PWA from Firefox directly and be able to launch them from my launcher (Ubuntu, Gnome...).

I love web apps. I loved FFOS. I always prefer to install webapps from Firefox in Android (cyanogenmod) than installing apps from stores. I can't believe we are in 2019 and I can't do that with my laptop.

I want to be able to install thanks to Firefox in Ubuntu and start from my launcher and run thanks to Firefox
Mastodon
Pixelfed
Peertube
Nextcloud-email
Nextcloud-contact
Nextcloud-calendar
even Riot.im
...

I'd like everything that Ben Francis described 2 years ago... 2 years ago
Standalone
Notification
Offline memory (for checking emails, contacts for example)

Why FFOS didn't teach his big brother?

I remember that Firefox once had such thing as apps that were integrated with Windows, an installed app had an entry in start menu and was uninstallable via control panel, IIRC. I don't remember how that feature was named exactly, but wouldn't it be possible to reuse some of that code for PWA?

I think you're referring to the Firefox Marketplace from which you could install Firefox OS apps on desktop.

(In reply to marczellm from comment #26)

I think you're referring to the Firefox Marketplace from which you could install Firefox OS apps on desktop.

Nope, @forkest is correct. There was once such an (Testpilot?) experiment which allowed "installation" of an extension/website as an "app", having a desktop shortcut, too and being uninstallable via control panel.

(In reply to forkest from comment #25)

I remember that Firefox once had such thing as apps that were integrated with Windows, an installed app had an entry in start menu and was uninstallable via control panel, IIRC. I don't remember how that feature was named exactly, but wouldn't it be possible to reuse some of that code for PWA?
Probably it was Prism (https://wiki.mozilla.org/Prism). I've used it back in the day to run custom web app without browser controls from desktop launcher.

Now, to get back on topic - could some code from Android Firefox be re-used for adding PWAs to desktop?

Requesting Chrome-parity

Chrome 76 will have the PWA install button in the address bar.

https://developers.google.com/web/updates/2019/06/pwa-install-addressbar

In the past this was hidden in the main menu. But, is now being made highly visible and Chrome is pushing PWA's even more heavily, including the desktop.

Currently, Firefox doesn't even have it available on the desktop.

It looks like PWA's are being pushed even further though. There are reports that the PWA's will soon be manageable from the Windows control panel.

https://www.androidpolice.com/2019/06/25/google-wants-progressive-web-apps-to-be-uninstallable-from-windows-settings/
https://chromium-review.googlesource.com/c/chromium/src/+/1656452

Firefox doesn't necessarily have to take the same approach or implement all these steps at once, but something like an install button in the address bar would be a good first step toward Chrome-parity. Further analysis as to the best approach can be determined as PWA's develop.

See Also: → progressive-apps
Type: defect → enhancement
OS: Unspecified → All
Hardware: Unspecified → Desktop

Full support for PWA may be the one thing that will prevent users like me from considering other browsers. Both Google Chrome and Microsoft Edge (in beta) enable installation and unistallation of PWA as a desktop app, running them in dedicated app windows, pinning them to your taskbar etc. Firefox Browser is doing great in most aspects but the lack of support for PWA seems to be a major gap. We can only expect the PWA segment to grow.

(In reply to Jakub from comment #31)

Full support for PWA may be the one thing that will prevent users like me from considering other browsers. Both Google Chrome and Microsoft Edge (in beta) enable installation and unistallation of PWA as a desktop app, running them in dedicated app windows, pinning them to your taskbar etc. Firefox Browser is doing great in most aspects but the lack of support for PWA seems to be a major gap. We can only expect the PWA segment to grow.

This is exactly the case with me. Both for Windows and Linux Desktop PC. Because Chrome supports PWAs, I have no way but to keep it and sometimes even prefer it over Firefox. This is a pity because I would uninstall all other browsers and use only Firefox if it had PWAs.

PWA's are definitely getting more and more popular: https://www.pwastats.com/

Priority: -- → P3

Would love to see some progress on this, with Micorsoft moving to Chromium as well with Edge, I am looking to move away from using Chrome.

Working in a compnay which is very much thinking Cloud based, we have a lot of Apps that just run from the Cloud, they have desktop apps for windows which you can install, most based on Electron. For me it odes not make much sense, if I can run an App in my browser, juts as wwell as in the desktop App (sometimes better, as teh browser also allows fro extensions, were as the Desktop apps don't).

Advantage of opening a site as an App instead of having it as a Tab, is that it each 'programm' has its own window, and its own Taskbar icon, so I can quickly jump from one App to another.

Having these Apps open in my browser, navigating between them is way less convenient.

curious if have any moving on this.. and for now i have be known that outlook.com already support pwa intallation and it's pretty good on my linux desktop when no better mail client found(kmail, thunderbird, etc just too heavy and not so much well for me)~

It would be so great to have desktop PWAs. I'm a huge PWA enthusiast. I understand why Firefox can't install PWAs on Android (and instead can only create shortcuts), but maybe Firefox can sort of make up for that with great desktop PWA support.

(In reply to githubfifn2 from comment #38)

It would be so great to have desktop PWAs. I'm a huge PWA enthusiast. I understand why Firefox can't install PWAs on Android (and instead can only create shortcuts), but maybe Firefox can sort of make up for that with great desktop PWA support.

Firefox can definitely install PWAs on Android! https://hacks.mozilla.org/2017/10/progressive-web-apps-firefox-android/

(In reply to marczellm from comment #39)

(In reply to githubfifn2 from comment #38)

It would be so great to have desktop PWAs. I'm a huge PWA enthusiast. I understand why Firefox can't install PWAs on Android (and instead can only create shortcuts), but maybe Firefox can sort of make up for that with great desktop PWA support.

Firefox can definitely install PWAs on Android! https://hacks.mozilla.org/2017/10/progressive-web-apps-firefox-android/

It's basically a shortcut, while chrome has a full web apk. I think chrome is the only Android browser capable of installing PWAs as first-class, app drawer citizens. I think the reason Firefox can't do this is because they don't own an app store like Google play. Right now I'm getting my PWAs from chrome. C'est la vie.

I hope it will be completed this mission from JP. I love firefox. I love PWA. I love WebApp such as Kanboard,nextcloud and so on. so,
I expect "Firefox PWA" to run on my Surface laptop. :)

Desktop PWA is the only blocker prevent me shifting back to Firefox!

Please!

Looking for fast updates on this.. and waiting to see our clients using Firefox based PWA dashboards in their systems..

The update on this is that Mozilla has signaled they will not be moving forward with PWA installation via the beforeinstallprompt event. Last week Mozilla filed this update to the standards proposal, suggesting removal of beforeinstallprompt from the W3C standard.

Their reasons for removal are because Apple and Mozilla believe app installation shouldn't be initiated by websites, for fear of abuse. Details in this thread.

Thanks for sharing the update. I don't know about everyone else, but I'm less concerned about who can initiate the install (the website or the user) than about install being an option at all. The ability to have a PWA act like a separate app is the important thing, in my opinion, not whether or not the site can prompt installation.

(In reply to Judah Himango from comment #44)

The update on this is that Mozilla has signaled they will not be moving forward with PWA installation via the beforeinstallprompt event. Last week Mozilla filed this update to the standards proposal, suggesting removal of beforeinstallprompt from the W3C standard.

Their reasons for removal are because Apple and Mozilla believe app installation shouldn't be initiated by websites, for fear of abuse. Details in this thread.

Thanks for the update. I understand the fear of abuse by rogue websites that might initiate their installation as apps. At the same time, isn't it primarily a matter of how the browser will handle the installation suggestion by the website? The browser can make it very obvious to the user that the website is installable as an app while preventing the user from installing the app by accident. This is simply a matter of a good user experience design.

I definitely agree with Dominic on this, and I really want to have such an option for the following reason:

Getting desktop notifications when the app is not running or open in a browser tab. If I want to have notifications on my email, calendar etc. I either have to have the tab open or install a native app. PWA in my opinions is better than both of these options for a lot of reasons.

(In reply to Judah Himango from comment #44)

The update on this is that Mozilla has signaled they will not be moving forward with PWA installation via the beforeinstallprompt event. Last week Mozilla filed this update to the standards proposal, suggesting removal of beforeinstallprompt from the W3C standard.

Their reasons for removal are because Apple and Mozilla believe app installation shouldn't be initiated by websites, for fear of abuse. Details in this thread.

Honestly their excuse makes no sense. First of all, the request to install can only be initiated on a user input like a click, you can longer just make the app install message immediately pop up. Second, PWAs can still be installed with Chrome without that popup through the icon in the URL bar, or from the main menu.

Even if Firefox didn't allow the popup, they should still absolutely add the ability to install them. Otherwise they're going to keep falling behind Chrome, and I'm going to keep telling my users to install Chrome instead. And it's pretty obvious Apple only wants to prevent it because they want complete control over every app their users are allowed to use through their app store. And even if some people abuse it, it doesn't mean the technology should be abandoned. People abuse javascript and css, should we go back to ascii only?

PWAs are the future, Mozilla. You should get on it.

(In reply to skeddy13 from comment #48)

(In reply to Judah Himango from comment #44)

The update on this is that Mozilla has signaled they will not be moving forward with PWA installation via the beforeinstallprompt event. Last week Mozilla filed this update to the standards proposal, suggesting removal of beforeinstallprompt from the W3C standard.

Their reasons for removal are because Apple and Mozilla believe app installation shouldn't be initiated by websites, for fear of abuse. Details in this thread.

Honestly their excuse makes no sense. First of all, the request to install can only be initiated on a user input like a click, you can longer just make the app install message immediately pop up. Second, PWAs can still be installed with Chrome without that popup through the icon in the URL bar, or from the main menu.

Put the event listener in the document or the <body> or even the <html> tag and you just gained free "install" spam on every single click the user does. Whatever means you can think of to block that has a cost and it takes a lot of thinking to know how to deal with that.

(In reply to skeddy13 from comment #48)

Even if Firefox didn't allow the popup, they should still absolutely add the ability to install them. Otherwise they're going to keep falling behind Chrome, and I'm going to keep telling my users to install Chrome instead. And it's pretty obvious Apple only wants to prevent it because they want complete control over every app their users are allowed to use through their app store. And even if some people abuse it, it doesn't mean the technology should be abandoned. People abuse javascript and css, should we go back to ascii only?

I think firefox will add the ability to install PWA in desktop. It will just be a waiting game. Either short if someone jumps in and implements it, or a longer game if waiting until a mozillian comes and picks this up

I'm yet another developer who would absolutely love to see this implemented. Having web apps serve as first-class citizens on modern computers is a huge victory for software portability as far as I am concerned. This is a humongous barrier to me switching from Chrome to using 100% Firefox!

I'm not a skilled browser programmer by any means, but I'd certainly be willing to try my hand at contributing to fixing this issue! Really have no clue where to even get started; if there's anyone that could point me in the right direction, that would be fantastic.

Flags: needinfo?(dolske)

@jpoles, even if you fixed it, Mozilla would not accept it. They've decided to reject this feature and advocate against standardizing PWA installation. See the above thread. See comment #44 above.

(In reply to Judah Himango from comment #51)

@jpoles, even if you fixed it, Mozilla would not accept it. They've decided to reject this feature and advocate against standardizing PWA installation. See the above thread. See comment #44 above.

That comment says they are rejecting "installation via the beforeinstallprompt event". It does not say they are rejecting PWAs in general.

I believe @jpoles is talking about PWAs in general, not installation via the beforeinstallprompt event.

(In reply to @Judah Himango from comment #51)

Absolutely agree with comment #52, I think that the beforeinstallprompt event is a totally separate issue. Definitely recognize the concerns there.

That said, I think the user-initiatiated installation model as described in comment #48 (clicking on an install button in the URL bar, for example) is perfectly valid/reasonable. I would love to see this functionality included in Firefox lest it fall behind Chrome in the browser arms race!

Flags: needinfo?(dolske)

Hi,
Is the PWA installation support is on Firefox roadmap ?
I don't understand why there is no clear answer here.

Mozilla is currently prototyping site-specific browsing.

See this reddit comment and Mossop's reply for more info on it.

Looks like someone posted a youtube walkthrough of how to enable it. Short version is create a new boolean in about:config called browser.ssb.enabled toggled to true, restart the browser and there will be a new menu item under the three dot (...) menu at the right of the URL bar.
I cannot confirm, deny or endorse these instructions - just relaying them.

(In reply to Caspy7 from comment #55)

Mozilla is currently prototyping site-specific browsing.
(...)

Thank you Caspy for relaying

See Also: → 1623142

Electron-based Skype for some reason crashed. Had to use Skype PWA. This doesn't work with Firefox, so i keep Chrome and have a fully functioning Skype with it's icon and notifications, thanks to Google Chrome. <- One example of good PWA. I love Firefox and feel sad that i am forced to use Chrome for this.

browser.ssb.enabled in about:config works great for code-server, thanks.

It does create a kind of web app that one can then launch from the Firefox menu. However, it still is a Firefox window so I couldn't find a way to integrate it inside the gnome launch bar for example or Plank....

The browser.ssb.enabled option in about:config doesn't produce anything close to the idea of the Progressive Web Apps. Yes, the quite well hidden menu item is called "Install Website as App" but it only opens the website in a new window of a default size and position. When you want to lanuch the "web app" , you need to find the menu item "Installed Websites", quite well hidden again, and select your "web app" from the list. It opens in its window of the default size and position, no matter how you moved or resized the window last time you opened it. So no customization there.

The "web app" doesn't show as an application on your system, it is impossible to pin it to your taskbar, and it most probably can't work in the background.

To be fair it does place a shortcut on the Windows desktop that launches the installed web app.

it does place a shortcut on the Windows desktop
What about on other operating systems?

The "browser.ssb.enabled" made me finally switch to Firefox. I was stuck on Chromium due the lack of this functionality on Firefox. The only thing that I miss is a flag on Firefox launcher to open in ssb mode, something like "firefox --app='https://...'", to become possible to create shortcuts.

(In reply to Matheus Zabin from comment #64)

The "browser.ssb.enabled" made me finally switch to Firefox. I was stuck on Chromium due the lack of this functionality on Firefox. The only thing that I miss is a flag on Firefox launcher to open in ssb mode, something like "firefox --app='https://...'", to become possible to create shortcuts.

Oh, my mistakes, there is a --ssb flag.

I love this SSB feature and subscribed to this bug in order to know more about it.
I've been using it for a while but increasingly I realized there are a number of browser features you don't get, such as desktop notifications, file downloads, even if running the app in a browser tab, these features are disabled if the app is installed (I'm on GNU/Linux).

I would also use the feature for running local apps, but it also requires SSL even for localhost so that renders it unusable for that scenario as well.

If these issues were to change, I'd be so happy. Thanks for working on it!

I just noticed that if you enable this and use "Install website as app", the addons do not work for that page.

In Chrome, when PWA redirects the user to some other website/origin that is not part of PWA, a new page will remain in the original PWA window, but Chrome will display some kind of title/URL bar which shows title and URL of the new website (screenshot). And when that new website is redirected back to the main one, title/URL bar will be hidden and PWA will work as before.

However, in Firefox, when new website/origin is opened, it will open as a normal tab in Firefox window. When that new website is redirected back to the main one, the main website won't be displayed in PWA/SSB window, but instead in normal tab.

Some websites are using SSO on different domains than original websites. This means that even if the website is added as PWA/SSB, it will be redirected to SSO website on a different domain, so Firefox will open that in a new normal tab. And when SSO website redirects back to the original website, it will remain open as tab and not as PWA/SSB. I found this on https://che.openshift.io/, but it probably also happens on some other websites.

This is three years in making now. It's not the time to be pondering on PWA support pros and cons. Chrome have shipped it already and from having made few PWAs now, I can say they work well and are a positive addition to desktop/mobile.
I just tried a PWA with browser.ssb.enabled flag enabled and two good things I see (compared to Chrome on Desktop) that hovering over a link doesn't pop a tooltip label with that link's full url (breaks immersion), and also there is no hamburger menu icon that shows the 'normal' menu, like icons for all the extensions, 'Print', 'Find', 'Cast' etc (breaks immersion too).
Bad things:

  1. PWA icon on the taskbar lacks transparency (Chrome handles my PWA properly there)
  2. Application bar is not colored as per settings in the manifest
  3. Notifications (web-push) are a letdown - images aren't displayed (from what I gather Firefox can't handle relative image paths properly and you have to provide base64 URI, ugh!)
  4. Notifications aren't integrated with Windows 10 Notification Centre

Good luck catching up to the lead pack (you're not that far behind!)

Bad continued:
5) Ctrl+Mousewheel doesn't change zoom level, this one thing I will miss!

And depending how you look at it, it could be good or bad that there is no right-click menu (haven't tried adding a homemade one yet). Good for immersion out of the box, but if I needed to hide the menu, I could already programmatically.

I found a bug in Microsoft Todo:
When opening in non SSB tab and in SSB there is a difference in the way popups is shown.

Attached image Non SSB tab —
Attached image SSB tab —

It also seem that the 192 px icon (containig a circular shape) doesn't scale down that great compared to chromium, if only you could use the svg instead... for the desktop icon.
And I can open fullscreen wiht "requestFullscreen" but closing it with document.exitFullscreen doesn't work (esc does).

I'm not sure if this would be helpful to the developers, but I just heard about a new Windows API that seems relevant called Hosted App Model. Apparently, the new Edge will use it for PWAs. Just thought I would share here.

Depends on: 1635272

I'm running the Firefox Developer channel on desktop and I had a few web apps pinned. With the latest release, all these are showing as the mobile versions, regardless of viewport size. Is this a deliberate change?

Notably both outlook and Gmail are showing mobile versions, with limited functionality on each. Outlook is showing the view I get on Android split screen, where the action buttons are on the left to save vertical screen space.

Are there any plans to generate desktop files for installed web apps on Linux?

(In reply to Matthew from comment #77)

Are there any plans to generate desktop files for installed web apps on Linux?

In the meantime, you can make a manual shortcut with command line arguments firefox --ssb 'https://website'

Any Idea when this will be available for MacOS? been a loooong while since this bug was initially raised?

It's quite annoying that add-ons appear to be all switched off inside SSBs - kind of annoying having all ads in there

Depends on: 1658271

Seems to me this should depend on Bug 1602117 - Site specific browser ptototype

See Also: → ssb

In case anyone hasn't seen: https://bugzilla.mozilla.org/show_bug.cgi?id=1682593#c8

there is currently no plan for PWA support in Firefox.

As per bug 1682593 we do not intend to support this feature at this time.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WONTFIX

Unfortunate timing, right as Microsoft is building new Outlook to be web based:
https://www.windowscentral.com/project-monarch-outlook-web-universal-email-client-microsoft

Even if Mozilla were to want to remove PWA support, why can't Mozilla have a "Save to Desktop" or "Save to Start" button for sites?

@everyone: Be kind to our Mozilla developers. Nagging or being somewhat nasty is not helpful. Mozilla-people understand that they may loose users on this, but when your economical future is less good that your past, you need to prioritize. Prioritize as in skipping things you initially thought you would do. That's takes away a lot of energy. Us nagging just takes away more energy. I was also hoping for this feature and my initial response was "Nooooooooooooooooooooooo!", but I am not seeing the full internal picture from Mozilla's side, so I can't judge. Hopefully this can bring some debat as to how to finance Mozilla so it can have a healthy economy to develop what's needed. But that debate is maybe better done elsewhere. Suggest a #tag on Twitter, and we can take it from there?

Is this feature that much important ?

Is there any performance benefit of running PWA instead of running it inside browser from users point of view ? from my search, The only benefit it seems to give is that it provides .desktop or [insert windows/mac equivalent here] file like the native apps and run in single window mode.

Is there any advantage of installing PWA instead of using scripts which creates .desktop file to open website in new window ?

Is there any advantage of using PWA instead of using this project https://github.com/linuxmint/webapp ?

Is this feature that much important ?
Is there any advantage of installing PWA instead of using scripts which creates .desktop file to open website in new window ?

Yes to both. At least if it if it is fully implemented. Basically the idea is that you would have a PWA that behaves in many ways like a native app. Besides just opening in a new window, this would mean, at minimum:

  • Hiding browser chrome, such as the url bar, toolbars, tab bar, menus, etc. for the browser, freeing that screen real-estate for the web app
  • Clicking on a link that goes to a different site would open the url in your main brower window instead of in the app window.
  • It would appear as it's own app on the taskbar, with the web-apps logo instead of the browser logo, etc.

Then there are some other less essential things that it could do:

  • Have a different app_id/window class/etc. To make targeting it easier to target that specific app with window management rules. This is very significant if you use a window manager like i3 or sway. (For some web apps, targeting based on window title can be very difficult to do).
  • If a PWA is installed, and the user grants permission allow it to do thing a normal, uninstalled app couldn't such as running background tasks when not active, using more disk storage, registering keyboard shortcuts that normally wouldn't be allowed because they conflict with the browser, etc.

If done well, SSB could potentially be an alternative to a lot of electron apps.

Is there any advantage of using PWA instead of using this project https://github.com/linuxmint/webapp ?

I'm guessing you meant https://github.com/linuxmint/webapp-manager?

In which case:

How to open links in my main browser?

This is not possible with Firefox. All links are opened within the WebApp, either directly or using a new tab.

Is pretty unfortunate. Also, that is something that SSB would hopefully help with. In fact SSB support would make using firefox as the browser for that project a lot easier. It also looks like it currently uses the "toolkit.legacyUserProfileCustomizations.stylesheets" setting to hide the chrome, so if that option gets removed, which is is quite possible, and SSB is removed, there may not be a way for webapp-manager to hide chrome in firefox anymore.

...you need to prioritize. Prioritize as in skipping things you initially thought you would do.

Certainly. But I think many of the other commenters here, feel that Mozilla's priorities are different than theirs, and would like to communicate that to Mozilla . Now, if delaying this feature does somehow lead to Firefox gaining more marketshare and then getting the resources it needs to add this feature later, awesome, I'm on board. But then why say "we aren't going to do this" instead of "this isn't a high priority right now"? And why rip out the functionality that already exists? The reason given in the linked issue was that "user research found little to no perceived user benefit to the feature." Well here's me saying that I, as a user, perceive benefit. I would at least like a command line flag to disable chrome when opening a website in a new window.

All the same, Thank you Firefox developers for all the work you do. I am very grateful for Firefox. I sincerely hope that Firefox not only survives but finds a way to thrive and when back the marketshare it deserves.

(In reply to jebeld17 from comment #94)

Even if Mozilla were to want to remove PWA support, why can't Mozilla have a "Save to Desktop" or "Save to Start" button for sites?

This sounds like a different thing. Maybe propose it on the mailing list or open a new bug for it?

(In reply to Thayne from comment #99)

But then why say "we aren't going to do this" instead of "this isn't a high priority right now"?

I would point out that just because the bug is closed doesn't mean it can't be reopened again should this become something that could be prioritised in the future. I explicitly said "at this time" because I cannot predict the future and I sure would like to see this come back in some form at some point. But it has to be in a way that is clear that it is worth the investment it would take which is not insignificant.

And why rip out the functionality that already exists?

Because it is broken in a number of ways and even in its current state is causing work. Not a lot to be sure but any work on something that we don't intend on folks using is better spent elsewhere.

(In reply to darkdragon-001 from comment #103)

IMHO they could get rid of the Android app UI that scales to all form factors (from 8k down to Linux smartphones).

So, Linux Smartphones over "Android app". Yea make sense. Removing cloud sync? That's a disaster move for general consumer use. Maybe if this was Vivaldi, it would be okay.

(In reply to Passawit Kaovilai from comment #104)

So, Linux Smartphones over "Android app".
I was kidding.. Android app will be more important always due to sheer volume of potential donors.

I think the thought with skipping PWA support is because the system PWA install support will always be best oversaw by the OS makers? ie. Safari/Edge..

Especially when these companies plan to integrate PWAs into app stores. I doubt PWAs installed from app stores will be using Firefox engine.

(In reply to Passawit Kaovilai from comment #104)

(In reply to darkdragon-001 from comment #103)

IMHO they could get rid of the Android app UI that scales to all form factors (from 8k down to Linux smartphones).

So, Linux Smartphones over "Android app". Yea make sense. Removing cloud sync? That's a disaster move for general consumer use. Maybe if this was Vivaldi, it would be okay.

First of all, please quite correctly. You are missing important parts of my post! Quote could be

IMHO they could get rid of the Android app [...] instead focus on the browser [...] with a UI that scales to all form factors (from 8k down to Linux smartphones).

The Android app is a dedicated build with a dedicated UI and specific OS integration. Linux smartphones on the other hand would use exactly the same desktop application, the same build process, the same system integration, just with a converging UI. That's a huge difference! So adding PWAs to the "desktop" build, would get PWA support for Linux smartphones for free!

(In reply to Passawit Kaovilai from comment #105)

I think the thought with skipping PWA support is because the system PWA install support will always be best oversaw by the OS makers? ie. Safari/Edge..

Many Linux distros would love to prefer Firefox over Chromium engine for their web apps. With this move, distro packagers are left with no choice and need to prefer Chromium over Firefox... On space constraint devices, this usually also means replacing the default Firefox with a default Chromium...

If anyone is interested, I've made an official bug report/feature request for a simple "Add to Desktop" or "Pin to Start" button in the Desktop app, maybe being a replacement for what some of us are looking for.

https://bugzilla.mozilla.org/show_bug.cgi?id=1687806

I think the thought with skipping PWA support is because the system PWA install support will always be best oversaw by the OS makers? ie. Safari/Edge..

Many Linux distros would love to prefer Firefox over Chromium engine for their web apps. With this move, distro packagers are left with no choice and need to prefer Chromium over Firefox

And currently Firefox is the default browser for most browsers. Furthermore, Google recently announced that chromium will no longer be able to use Google API's such as sync and spell check, which leaves distros with the dilemma of choosing a browser that supports sync (Firefox) or a browser that supports PWAs (Chromium). And even if you use windows or mac, that doesn't necessarily mean you want your PWAs to run in Edg or Safari respectively.

If anyone is interested, I've made an official bug report/feature request for a simple "Add to Desktop" or "Pin to Start" button in the Desktop app, maybe being a replacement for what some of us are looking for.

Personally, I'm less interested in that than being able to open a site with the browser chrome hidden, because "Add to Desktop" and "Pin to Start" could be done with external programs, or possibly even an extension without too much friction. Whereas if the browser doesn't support chromeless windows natively, there isn't a whole lot you can do about that.

(In reply to Thayne from comment #99)

  • Hiding browser chrome, such as the url bar, toolbars, tab bar, menus, etc. for the browser, freeing that screen real-estate for the web app

Then there are some other less essential things that it could do:

  • Have a different app_id/window class/etc. To make targeting it easier to target that specific app with window management rules. This is very significant if you use a window manager like i3 or sway. (For some web apps, targeting based on window title can be very difficult to do).

I think we should be able to do without PWA support.

I think browsers have become most optimized cross platform framework with years of works and millions of users each day. Native GUI frameworks just can't compete with browsers. There is only one cross platform native GUI library left and it is Qt. U can make amazing things with it but Qt's small ecosystem just can't compete with large ecosystem of web. Most databases don't even have async C++ API. It makes a lota sense to choose Web for ur next cross platform app. I think Mozilla should reconsider this. sunset is on native. More apps will be made with Web than native and it will be nightmare to install and have separate chrome browser for each instance. PWA is a new hope against growing electron cancer. Mozilla please reconsider this.

(In reply to smit from comment #109)

(In reply to Thayne from comment #99)
I think we should be able to do without PWA support.

grammer mistake, I meant "we should be able to do THIS without PWA support"

I am sorry for my language, but this is actually insane. I was going to switch to mozilla VPN to support you but I can not do that anymore. This is one of the big features firefox was missing, and I know many people who dont use firefox because of just this reason. You guys are so close, this issue has been open for 3 years, and you support it enough to have people actually use SSB so they can have 90% actual PWA with just some missing bits...

If you can do another redesign of firefox, you can do this too.

Firefox is getting left in the dust here... sad day that I can't recommend Firefox to our enterprise customers. We've many customers and we issue hundreds of separate PWAs from our SaaS (single domain) to make everything accessible on any supporting OS (including mobile). Whomever makes these decisions at Mozilla, this is dumb and unacceptable for many professional business reasons.

#ListenToTheUsers

I'm staying on Chrome until this is implemented!

(In reply to neumaif02 from comment #114)

I'm staying on Chrome until this is implemented!

As I understand it, is not just Mozilla being capricious about choosing not to implement this. But the related PWA API standards seem to not be yet fully fleshed out. It just happens that Google fastlaned non-standard APIs to rush them out.

If anything, we need to have the standard APIs (regarding Desktop as well) approved. Of course, with only Blink implementing arbitrary APIs the case is even worse to define W3C standard.

(In reply to Jj Del Carpio from comment #115)

As I understand it, is not just Mozilla being capricious about choosing not to implement this. But the related PWA API standards seem to not be yet fully fleshed out. It just happens that Google fastlaned non-standard APIs to rush them out.

Absolutely agreed, but in that case, this bug should stay open while we wait for standards to finalize. Instead, Mozilla has closed this as WONTFIX effectively shutting the door to this feature even after the W3C has finished standardizing it. :(

(In reply to neumaif02 from comment #114)

I'm staying on Chrome until this is implemented!

Doing this kind of threatening only encourages Chrome to continue bypassing the standards procedures in order to gain and lock in users faster.

(In reply to Dominic from comment #116)

(In reply to Jj Del Carpio from comment #115)

As I understand it, is not just Mozilla being capricious about choosing not to implement this. But the related PWA API standards seem to not be yet fully fleshed out. It just happens that Google fastlaned non-standard APIs to rush them out.

Absolutely agreed, but in that case, this bug should stay open while we wait for standards to finalize. Instead, Mozilla has closed this as WONTFIX effectively shutting the door to this feature even after the W3C has finished standardizing it. :(

I think the semantics problem here is that we're reading this as "Won't fix ever" vs "Won't fix now". Given the resource shortage and priorities they won't be spending time on maintaining a half baked feature and code that will ultimately change. I believe that PWAs are definitely the path forward, and we should have them sooner! I guess our efforts should go towards pushing the needed standards to be wrapped up so then we can come back and ask for such implementation.

But the related PWA API standards seem to not be yet fully fleshed out.

Even if the PWA APIs are not implemented yet, SSB is still useful to me. Being able to run a web app in a chromeless browser seperate from my normal browser would be really nice.

Support for pwa, please; I don't want to use chromium browsers merely for the pwa support.

Resolved wontfix, are you kidding me??

Everyone, just move over to chrome. And accept FF, the fox is dead, they did it to themselves...

Chrome by the way works great!!

(In reply to derevag734 from comment #120)

Resolved wontfix, are you kidding me??

Everyone, just move over to chrome. And accept FF, the fox is dead, they did it to themselves...

Chrome by the way works great!!

Chrome is terrible for privacy though

Pwa's are the future of the web, no doubt about it, how are you thinking there, as a web browser??

(In reply to derevag734 from comment #122)

Pwa's are the future of the web, no doubt about it, how are you thinking there, as a web browser??

Edit: who belives in privacy online anymore?

(In reply to neumaif02 comment #121)

who belives in privacy online anymore?

Technically, PWAs (Service Worker, Local Storage, Indexed DB, push notifications) are already supported.
I assume they have halted this work because it's more secure if you see the URL bar (bug 1682593): You can also more easily share a Spotify song etc.

Idea:

  1. Basic feature: Show an "Install" button in the address bar of a PWA. Installing the PWA should create shortcuts on the desktop and on about:newtab. Such a shortcut should open the PWA as app tab or jump to it if already open. Regular bookmarks are perceived differently!
  2. Enhanced feature: Let a PWA be configurable on about:newtab to open as a window without tab&bookmark bars, but with a compact uneditable address bar (maybe let it look like a Safari address bar), capable of displaying one app tab. If clicking a link would open a web browser, open it as a regular tab in a regular Firefox window.
  3. Optional feature: Let pwa windows respect <meta name="theme-color" content=""> by using the default theme with this color, otherwise fall back to the configured theme.

Firefox is a community project. I assume we would have to contribute this by ourselves and hide it behind a pref before it is considered mature.

Until this is fixed, if you're a Linux user - the Web App Manager from Linux Mint is a great way to make 'standalone' web apps that run with Firefox... https://ubuntuhandbook.org/index.php/2021/01/install-linux-mints-web-app-manager-ubuntu-20-04/#:~:text=The%20latest%20Linux%20Mint%2020.1,when%20it%20was%20Ubuntu%2014.04.

(In reply to Darkspirit from comment #125)

Technically, PWAs (Service Worker, Local Storage, Indexed DB, push notifications) are already supported.
I assume they have halted this work because it's more secure if you see the URL bar (bug 1682593): You can also more easily share a Spotify song etc.

Idea:

  1. Basic feature: Show an "Install" button in the address bar of a PWA. Installing the PWA should create shortcuts on the desktop and on about:newtab. Such a shortcut should open the PWA as app tab or jump to it if already open. Regular bookmarks are perceived differently!
  2. Enhanced feature: Let a PWA be configurable on about:newtab to open as a window without tab&bookmark bars, but with a compact uneditable address bar (maybe let it look like a Safari address bar), capable of displaying one app tab. If clicking a link would open a web browser, open it as a regular tab in a regular Firefox window.
  3. Optional feature: Let pwa windows respect <meta name="theme-color" content=""> by using the default theme with this color, otherwise fall back to the configured theme.

Firefox is a community project. I assume we would have to contribute this by ourselves and hide it behind a pref before it is considered mature.

Well it can be implemented on Android as far as I understand but not on Windows, that is BS. But like I said FF is killing itself, sadly we now only have the two mandatory browsers chromium and webkit.

PWA's will only move forward from here. And FF will join Explorer.

(In reply to jonrandy from comment #126)

Until this is fixed, if you're a Linux user - the Web App Manager from Linux Mint is a great way to make 'standalone' web apps that run with Firefox... https://ubuntuhandbook.org/index.php/2021/01/install-linux-mints-web-app-manager-ubuntu-20-04/#:~:text=The%20latest%20Linux%20Mint%2020.1,when%20it%20was%20Ubuntu%2014.04.

This is extremely buggy though. I would use Epiphany.

Enhanced feature: Let a PWA be configurable on about:newtab to open as a window without tab&bookmark bars, but with a compact uneditable address bar (maybe let it look like a Safari address bar), capable of displaying one app tab. If clicking a link would open a web browser, open it as a regular tab in a regular Firefox window.

This is the main thing that I want. Along with having something (such as window title) that I can use to set up a hotkey in my window manager to automatically focus the window. I don't even really care about having a button for firefox to create a shortcut that does this, if I can just have a command option to open an url in that mode (like the --ssb option used to do).

Even if most people gravitate toward "native" apps (meaning for example Electron) on desktop, there's growing number of web apps that offer PWA functionality and are installable. Maybe there won't ever be huge shift to PWAs or maybe there will. Whatever it is, the fact is that the technology is very useful and is great addition not only as a web tech but also as something beneficial and tangible to end-users.

Nobody wants to create native desktop apps nowadays, even the big proponents like Apple are experimenting with hybrid approach (Catalyst) and Electron has proven very successful. I'm still waiting for serious argument against PWAs other than:

  • browsers don't support it
  • people don't understand them

Browser support is what we're talking about in this thread and most of Chromium-based (if not all) browsers already allow to use PWAs on desktop. Does Firefox want to join Safari with their feet-dragging?
People not understanding them - I've heard that and I don't think that's true. If you're person who is familiar with website/webapp that they keep visiting in browser, they already know how to use it. If browsers communicate that the web app is installable (either via install banner or icon), it's enough and people will get used to it.

I'm one of those people that always checks whether web app has PWA capabilities and I prefer it over downloading any binaries. For this reason I'm using Chromium and I already have dozen PWAs on my system. I would really prefer to use my favorite browser (Firefox) to do that instead of relying on Chrome/Chromium.

The best thing about PWAs is that they're really "progressive". I believe there's a very large amount of companies out there that just repackage their web apps into Electron apps just so they can claim to have desktop experience (Asana for example). Most of these packaged apps could be replaced with PWA nowadays.

Chrome is implementing PWA support to Software (their app store). It will probably be based on Chromium as Firefox doesn't support PWAs:
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1575#note_1343638

Chrome is implementing PWA support to Software (their app store)

Did you mean Gnome?

Of course I mean Gnome is adding PWAs to Gnome Software. Sorry for the confusion.

With Microsoft retiring the Microsoft Teams desktop client on Linux in early December and replacing it with PWA (https://news.ycombinator.com/item?id=32678839), it makes a good case to reconsider "installing PWA to desktop" functionality in Firefox.

Duplicate of this bug: 1834182
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: