cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How can Firefox create the best support for web apps on the desktop?

david-rubino
Employee
Employee

Hi everyone, my name is David Rubino and I’m a product manager for Firefox. As the Firefox leadership team mentioned in the Reddit AMA last week, we’re taking a fresh look at Progressive Web Apps (PWAs), which have long been a top request from our Mozilla Connect community. Today I want to share a concept that aims to address some of this feedback. 

As you may know, we built a prototype for desktop PWAs a few years ago, and unfortunately user testing on our solution showed confusion and lack of perceived value. We didn’t release it because we didn’t have an approach that could meet the needs of power users without causing confusion among the broader user base. Recently, other browsers have implemented or enhanced their approach to PWAs, for example by making it easy to install any website as a web app (even if no PWA manifest is provided), and by running web apps in the same session as normal browser tabs. I was a user of these features, and so when I joined the Firefox Product Management team last year, I decided to take a fresh look at how Firefox might approach the problem. 

In this post you will see that I don’t use the term “PWA” and instead stick with the more generic “web app”. While there are some working definitions for what a PWA is and is not, most of the feedback from the Firefox community are requests for specific capabilities. So when considering what Firefox should do, I’m focusing on how we can offer features that help you get a more app-like experience for any website you choose, when you choose

There are many specific requests in the thread, but viewed through this lens a few emerge:

  1. Web apps should appear with their own icons alongside traditional apps, both in places where you launch apps and where running apps are shown. 
  2. Web apps should remain open until you close them. You should not be able to “navigate away” from them like a web page.
  3. Like many mobile apps, desktop web apps should be able to handle links to their website in lieu of having them opened in a normal browser window. 

It’s possible to take the web app concept further than is needed, into the realm of making web apps be as app-like as possible. This can make it seem like you’re not using a web browser or a website at all. Some examples of this might be having PWAs be installed and uninstalled using the OS, removing all or nearly-all of the browser “frame”, and limiting access to common browser features like bookmarks and search. While some of these may turn out to be beneficial, it’s not a goal to make it feel like you’re not in Firefox.

In fact, contrary to the notion that web apps should be “installed” like regular apps, a core idea of this concept is that running a web app should be thought of as moving a tab to your taskbar or dock... a one-step operation that can be undone just as easily. 

So what might this experience look like? Let’s look at the following topics:

  1. Moving into and out of a web app “mode”
  2. Offering a different browser UI for a web app
  3. Browsing within and between sites
  4. Integrating with the operating system

Moving into and out of a web app “mode”

As stated above, you should be able to take any tab and move it into web app mode in one step. When you take this action, the tab would be moved into a new web app window, maintaining the state of the web page entirely. You could even be watching a video, and it won’t miss a frame. There would be no setup. Each website will have some preferences associated with it, but the intent will be to have sensible defaults that work for most people, informed by a manifest if the site offers one. Moving a tab back out of this mode will be just as simple. 

Offering a different browser UI for a web app

Web apps are still websites in a web browser, so the goal will be to fully maintain access to features that help you with the website itself, while de emphasizing features that are about managing multiple websites. Some examples:

  • No tabs or bookmarks bar by default, but these could be enabled in web app preferences
  • The main toolbar would be fully enabled, including the address bar and extensions 
  • A new toolbar section would show the icon of the website prominently, clearly indicating you’re in web app mode for a given site. This section would offer access to settings and controls for the web app.
  • In lieu of a new tab button, there would be buttons to open a new tab in a normal Firefox window, or a new instance of the current web app. 
  • The address bar would not be read-only, offering easy access to Firefox Suggest and the ability to search. Web pages opened from here would land in a new tab in a regular Firefox window. 

Browsing within and between sites

One of the key differences between a normal mode webpage and a web app is that you shouldn’t be able to “navigate away” from a web app. To exit a web app you have to explicitly close it. To accomplish this, each web app would be a “single site browser”. Navigations within the current website will remain in the app, and navigations outside the current website will open in a normal Firefox window. There will be exceptions to help with login flows and redirections so that a web app feels as much as possible like an app that only opens a browser when opening a truly external page. 

We would also introduce “link capture”, which would allow a web app to register itself to handle URLs within its scope. For example, if you click on a link to reddit.com in a normal Firefox window, the link would open in the Reddit web app. This behavior is analogous to how mobile browsers redirect links to registered mobile apps. 

Integrating with the operating system

On Windows, it is straightforward to show web apps separately on the taskbar using differentiated icons, to allow them to be pinned, to show them in the Start menu, in the ALT+TAB and window snap experience, and so on. This allows quick access to web apps using the same surfaces used to run or switch between regular apps. By “leveling up” to the taskbar websites you leave running and revisit often, you can save time over hunting for them in Firefox. 

This behavior may be more challenging to implement on macOS and is likely to have some limitations comparatively. You should expect that if we build a prototype, it will begin as a Windows-only feature. Once proven we would bring it to our other desktop platforms leveraging the features supported by them. 

Please let us know what you think!

I am hopeful Firefox can bring a web app experience to the desktop that will feel natural to all users, while supporting the needs of our power users. In particular, I think we can improve upon the current experience offered by other web browsers by offering one-step setup, retaining access to core browser features, and allowing links to be “captured” automatically. 

We are looking to make progress in this area soon, so I would love to get a discussion going about what is right and wrong and missing from this set of ideas. While I did read every post in the Ideas thread, I am aware I did not address every topic mentioned, so please especially bring up what I skipped that is important to you. 

Thanks in advance!

-David Rubino
Product Manager
Mozilla Firefox

84 REPLIES 84

FWIW... a "privileged extension" is one where you get to write your own API that can call Firefox internal code. The how-to is here: https://firefox-source-docs.mozilla.org/toolkit/components/extensions/webextensions/basics.html. I wrote a prototype of some of the features I described above using this mechanism. But the prototype can only run in Nightly unless it's signed by Mozilla, so this is only good for writing cool extensions for yourself and your Nightly-using friends.

Agree, I am not currently on Linux, but when I do go back, consistent appid/class-instance are very useful, especially for tiling/scriptable WMs

bel57
Making moves

Stumbled on this topic while looking for a way to get PWA and push notifications through Firefox and Gecko based browsers. I'm glad Mozilla is considering web apps, this is great news and that would make a lot of users make the switch from Chromium browsers.

Hello, and thanks for stumbling in! Can you help me understand what is and isn't working about notifications today? I'm aware that Firefox is limited to handling push notifications only when it's running, but otherwise I don't fully understand the gaps, and how they relate to the topic of web apps. Would appreciate any insight you can give.

Thanks! -David

> Firefox is limited to handling push notifications only when it's running

That's a big limitation, isn't it?

It can be... but it's not different from Chrome and Edge, AFAIK

Chrome has a setting to continue running background tasks even when all its windows are closed for cases like this.

And the page must be opened. At least under Windows.

No, that's not the case for Firefox on Windows. Unless it's broken. Can you give it a fresh look and if it doesn't work for you let me know and I'll be happy to help.

BiORNADE
Making moves

I've made a kind of a concept regarding the generic topbar (for the non-PWA webapps); but just all the notes that I do know or understood

I do also agree with RabN to every suggestion and I wanted to get some elemental changes from the post, mix with some of my other ideas and have the result.

The first 3 are according to what David commented (not sure if I'm missing one).
The last one is according to RabN, with some other adjustments by me

(P.S: the color is the background most apparent color, just like what Google Chrome does)

Thanks for sharing! I've saved the concepts for our reference. Much appreciated.

FWIW, I think the color of the title bar in Chrome is determined by the theme_color property in the PWA manifest. Right?

-David

Might be, because creating an app as a shortcut has this result (the bottom color not applied). It does change the color in PWA mode tho:

BiORNADE_0-1720635008297.png

The Android version however, does this:

BiORNADE_1-1720635321190.png

I'm not sure if that is defined by the website itself (or if it is a sort of telemetry).
If that's the case, then an offline workaround could be used... But that would take time to implement, whether with AI or not, since changing it too much would be distractive, and might be performance issues with lower end computers too

ffffff
Making moves

Glad to hear Mozilla is taking another look at PWAs, and even more so that the plans seems promising. I don't use PWAs on desktop yet, but I'm excited to try out Firefox's when they're available.

As for feedback, since I'm not a current desktop PWA user, take this with a grain of salt: I'm not sure that I get the address bar part:

- The address bar would not be read-only, offering easy access to Firefox Suggest and the ability to search. Web pages opened from here would land in a new tab in a regular Firefox window.

Is that really such a common use case, wanting to open new Firefox windows from your PWA address bar? It feels like you'd just be adding a big waste of space for many users. Chat web apps are a case where I don't see the point of having a URL bar, at all. I think it's good to keep it available in some manner, e.g. behind a menu, just not visible at all times.

I think I need to take a look at what other browsers are doing before saying anything else.

Thanks! See my respond above (https://connect.mozilla.org/t5/discussions/how-can-firefox-create-the-best-support-for-web-apps-on-t...) about why I'm proposing the address bar be visible. I do think many people who have never thought about PWAs won't understand what's happening when they see their websites in a window that has ceased to look like a web browser. If someone who isn't familiar with the concept asks themselves "is this a website or an app" I want the answer in our case to be "it's clearly a website". Customization for those who "get it" and just want to save real-estate makes total sense though.

David, could the solution to the problem of taking screen space be, instead of interfering with the app design by adding an extra topbar, having a default message on a web app startup:

```

Hi! This app, XYZ, is a Web App, powered by Firefox.

If you want to open this app on Firefox, press {hotkey} (or on Mobile, long press the menu button)

(Possibly also: If you wish to display the Firefox topbar here, press {hotkey})

[ ] Don't show this message on startup

[ OK ] [ Learn more ]

```

I should also mention that adding the bar or opening in Firefox without the user prompting this could lead to conflicts with Firefox add-ons and confuse the non-techie user, who won't understand why his Netflix app or whatever has a Firefox bar on top (I can hear grandma asking "Is this a virus?")

I am a fan of options, and so I'm tracking the idea of hiding the address bar (which is admittedly what Chrome, Edge, etc. do) as an option. But I do think that the way to win broad adoption of this feature is to present it to grandma as "this is still a website and you're still in Firefox, it's just that this website is right there in your taskbar / dock"

I'm not in the "grandma" demographic, so my perspective may be off, but it seems like having an address bar, especially a writable address bar would actually be more confusing.

It seems to me like typing an address or search term, and having it open in a different window would be pretty surprising behavior. And I suspect there will be some interesting edge cases with that as well, for example what if the user has multiple regular browser windows open, which one will it open the new tab in? What if the user doesn't have a regular browser window open already? I assume it would open a new tab rather than replace a random existing tab?

And then if using a url in the same site, it doesn't open in a different window. So sometimes it opens in the same window and sometimes it doesn't.  And I imagine that inconsistency would be confusing if you don't understand why.

lengau
Making moves

Here's a brief, half-baked thought: could you use site-limited container tabs for this? Although it's not actually a PWA, right now I have Discord set up in a site-limited container tab that I have pinned. I'd love to move that tab to its own "app window" though. That doesn't have to look like the electron app or like Chrome's PWA windows - I'm happy for it to be "clearly a website" as mentioned above, but I would like the following features in that window:

  1. Links that leave the site get opened in a new tab in a sensible non-app window (whatever is used when opening from an external application is probably the most sensible choice)
  2. Links to this site always go into this sort of app window (details would I guess be decided by the `launch_handler` manifest item).
  3. I do want access to extensions from this window
  4. Preferably, I'd be able to hide the tab bar entirely and just use the system titlebar

The most important parts for me are 1 and 2, as these make the PWA "work like an app" in the ways that I'd like them to.

I think we're on the same page! #1 is "single site browsing" and #2 is "link capture"... both very much in the concept I described above. #3 extensions are in, and #4 will be the default (though multi-tab web apps do make sense for some sites).

KellyC82
Making moves

the forum ate my comment when it took me through the new account setup when I hit post, so thanks for that. Forgot I wasn't on my main FF profile...

KellyClowers
Making moves

Anyway, my comment was going to be something like...

Do things as much like https://github.com/filips123/PWAsForFirefox as possible.

They have good ideas about how to allow customization for dealing with tabs, address bar, etc

About the only thing missing in PWAsForFirefox (unsurprisingly) is support for minimize to tray.

The PWA should appear in the OS list of installed programs, and in general should act like any other program.

Removing the PWA should *not* be as easy dragging and dropping a tab. I never want a PWA to disappear back into my main browser window, if I did I would have just opened a new window.

If you want to do weird stuff with PWAs that are more like just tabs, at least preserve (or improve) the access that allows PWAsForFirefox to keep making their version. Maybe add APIs to WebExt to allow for extensions to have more control over PWAs, so you can have the mainline version, and if people want something else, they can easily develop/use it as a webext.


Also PWAs on Android already exist happily, and mostly really good, just it would be nice to be able to semi-automatically PWA-ify a page that doesn't have a manifest. Currently FF on Android just falls back to adding a web shortcut to the homescreen, which just opens a tap in the main browser. Which is a handy thing to have sometimes, but shouldn't be conflated with adding a PWA.

No plans to do anything to break PWAsForFirefox!

It does sound like you aren't a fan of the model I proposed above. I understand and expect that. In generally I'm approaching this from the angle of "how do I make browsing the web with Firefox better"... with the idea that being able to set up a website as a separate entry on your taskbar/dock and contain to just one site is something that helps users stay organized and get to their sites easier.

Ponda
Making moves

Please see Webapp Manager for implementation attempt on Linux. Installing add-ons, changing settings etc. isn't as straightforward as in pure Firefox and notably, clicking on the link doesn't open it in the browser but in a web app tab, which is especially annoying considering tab and address bars are hidden making navigation difficult. Other than this annoyance, however, it serves the purpose well (as well as providing support for wide range of browsers).

Personally, I'd argue that while address bar should at the very least be option, customizable tab bar (with settings, add-ons etc.) would be very useful for some use cases. Notably, separate extensions, Firefox and extensions settings should be available per web app, including themes – it's easy to imagine a situation when one chooses pinky-blue theme but decided it doesn't go well with their Netflix web app, as opposite to many, many Netflix themes already available. This could also boost theme usage, leading to more high-quality specific themes.

I think it would be quite valuable to spread beta version to as many people as possible, for example by distributing it as extension (if technically feasible) instead of limiting it to Nightly.

For Android, I find web apps useful as well if not more, but currently this feature is a little limited. I have no information whether some of the issues can be solved or are Android limitations, but for me they include inability to change icons, manage add-ons, change settings including desktop mode and opening links in Firefox instead of preview. Some of the other features that might be available in desktop would likely be useful on Android as well.

Bink
Making moves

Hey David!

Thank you for taking the time to take a holistic approach here and sharing it with the community.  I thought I'd chime in with my two cents on your post.

I really really like your web app mode idea and related round tripping; I'm just not sure how often this feature will be used.  Although, there's a good chance I'm wrong here and this might mostly be because of the status quo around web apps right now and how I've been using them.  As for altering the browser UI for a web app, this is a must IMHO as the focus should be on the app and not "browsing the web."  For my use case, the address bar would be largely useless and I feel the idea and pushing Firefox Suggest into the web app space would be an anti-pattern and only serve branding purposes; if I want Firefox Suggest, I'm back to browsing the web and have likely already switched out of the web app.

On a related note, I've used Windows for a long time, with a sprinkling of ChromeOS, but with the direction Microsoft is taking Windows, I now primarily use Linux.  When I used Windows, I didn't bother with Firefox; Edge was good enough and in many cases, with web apps being one of them, it's better.  Unlike other OSs, when I started with Linux, Firefox was installed by default and, because of this, I gave it spin and mostly liked it.  Because it was installed by default, and because I believe Firefox is still trying to take my needs into consideration over corporate needs first, I continue to use it even though it's still missing many quality of life features that other browsers have had for a while.  Please know that the Linux community, I believe, is Firefox's largest evangelist and if it wasn't for Linux, I probably wouldn't be using Firefox today.  So, please keep this is mind when you develop web apps for Windows first as you've noted here.

Lastly, if you haven't already, I'll encourage you to spend a little time with ChromeOS as it largely revolves around web apps and the implementation is pretty decent.  While I realize Firefox doesn't get to control the whole OS, like Google does with ChromeOS, I find the web app experience there rather well done.

Thank you again!

Someone
Making moves

Super excited to see Firefox starting to work on PWA support! Looking forward to trying it out!

I like the overall approach you're suggesting, just one request.
Can link capture be optional? Personally, I don't like when links are opened in apps without prompting me first. Maybe something like the Firefox android "Open in app" feature that's available when there's a matching native app installed.

HenryMortal
Making moves

To create the best support for web apps on the desktop, Firefox could implement several key features and improvements:

  1. Integrated Web App Support: Provide a seamless way to install web apps directly from websites, similar to how mobile browsers handle progressive web apps (PWAs). This could include a prominent install button or notification when visiting compatible sites.

  2. Desktop Notifications: Ensure that web apps can utilize desktop notifications effectively. Users should be able to receive notifications from web apps even when the browser is not open, enhancing the app-like experience.

  3. Offline Functionality: Enable web apps to work offline or in low-connectivity scenarios by supporting service workers and other technologies that allow for caching of app resources. This ensures users can continue using web apps even without a stable internet connection.

  4. Customizable UI: Offer options for users to customize the appearance and behavior of web apps on their desktop. This could include window size preferences, taskbar/dock integration, and even custom icon settings.

  5. Performance Optimization: Optimize browser performance when running web apps to ensure smooth and responsive user experience. This includes efficient resource management and minimizing CPU and memory usage.

  6. Security and Privacy: Implement strong security measures to protect users' data and ensure that web apps adhere to browser security standards. This includes sandboxing web apps to prevent unauthorized access and ensuring HTTPS compliance.

  7. Developer Tools: Provide robust developer tools specifically tailored for creating and debugging web apps. This includes tools for inspecting service workers, debugging offline functionality, and optimizing app performance.

  8. Compatibility and Standards: Stay up-to-date with the latest web standards and ensure compatibility with popular web app frameworks and technologies. This allows developers to leverage modern web capabilities seamlessly.

  9. User Education and Support: Offer clear documentation and support resources for users and developers interested in creating and using web apps with Firefox. This includes tutorials, forums, and responsive customer support channels.

  10. Community Engagement: Foster a community around web app development within Firefox, encouraging feedback, collaboration, and contributions from developers and users alike.

frelancesage
Making moves

Sounds exciting, David! Especially looking forward to one-click web app mode and link capture. Would love to see a prototype and give feedback on the UI for web apps. Keep us posted on the progress!

HenryMortal
Making moves

Firefox can enhance support for web apps on the desktop by improving Progressive Web App (PWA) capabilities, ensuring seamless offline functionality, and enabling easy installation directly from the browser. Integrating robust notification and background sync features while optimizing performance and resource usage will provide users with a smooth and native-like experience. Additionally, offering customizable app shortcuts and better integration with desktop operating systems will make web apps more accessible and appealing to users.

ShowMeBillyJo
Making moves

Thanks so much for the post and active discussion! I'm so glad and motivated to finally see some real movement on this topic.

Just wanted to echo offline and background capabilities via service workers! In my day job, I support folks in international contexts with unreliable Internet connectivity. One of our core use cases is being able to capture data offline and then sync up with the server when back online at a central office.

Offline and background operation - Progressive web apps | MDN

Jeffg2525
Making moves

It all sounds good, but one of the most important thing you need to add is a way to print out documents and webpages. Currently I reset safari, with Google, then open the document or webpage back up and go to the rectangle with an arrow above it and print what I need to print it. Then go reset set safari back to Firefox. Another nice thing, with bookmarks, is to allow us to use smaller size icons so we can display more on the homepage.  It would be nice if when we turnoff history, it stop collecting it and I still have to delete it.  Also allow me to turn off sponsor Icons and the previously viewed icons. I don’t need to see either one.  

Lacusch
Making moves

Hi David, thanks a lot for being open with the community. Honestly I've been quite frustrated seeing this request without any status change for a long time. Especially hard was what felt like the lack of feedback on the fact that it's being worked on and that others like me have partially / fully switched from Firefox because of this missing feature.

Echoing the sentiment in this thread for me it would be really important to focus on implementing the features that apps are already depending on. For example I use the Spotify and What's app PWA personally but another important apps include all the Microsoft Pwa apps.

I agree with KellyClowers and Bink in particular that an app should be (at least optionally) be installable act like any other app and not focus on being part of Firefox. Another point to consider is that people already have expectations on what a PWA is what they want from it if they used it from other browsers like yourself so it shouldn't be a totally different experience.

I also hope that the team can be relatively quick in closing  this gap so that Firefox feels less behind to the competition and have less missing features driving people like me away by not giving them the option the use the features I need.

This came of more negative than I wanted but I truly appropriate you asking for feedback.

 

hellogoodbye
Making moves

Thank you, David, for starting this conversation! I have no doubt that PWAs will have to come to Firefox at some point (the sooner, the better). It's now quite powerful and developers only need one codebase to deploy everywhere, this by itself ensures substantial adoption once PWAs are mature enough.

A few suggestions based on the discussion so far:

  • You asked how not to leave Firefox, I agree that having a button or toolbar on top (including the features you mentioned, like text searching) could be a solution. The obvious problem is taking screen real estate from a game or whatever, which would certainly annoy the user. Maybe this could be solved if hotkeys were pressed on Desktop platforms, or long-pressing the home button on smartphones? (and then opening the PWA on Firefox)
  • Asides from what was already mentioned (like the ability to start an app from the home screen, without first entering Firefox etc.), the main advantages of a PWA for a user are *being able to use the app offline **reliably*** and *storing content locally*. One key problem with PWAs nowadays, however, is that local storage is still a mess. AFAIK it can be deleted automatically by the browser, esp. on smartphones, or accidentally if the user "clears app data" on phone or in Desktop settings, *without knowing it'll also delete the app data*. Thus, if Firefox could find a consistent way of alerting the user to this fact, that the web app data will be deleted, and of letting developers know exactly how much storage they can get (pending user approval) *for sure*, this would be a huge improvement on the present state of affairs.

Firefox has been a trailblazer in many important features, like container tabs. I'd love to see Firefox making web apps (I'm calling them PWAs here just for clarity sake) easy, reliable and respectful of user's privacy. Following Atwood's law, it's just a matter of time till they'll be everywhere. Google is, unfortunately, ahead, I do hope Mozilla will take the lead in making them an option that can still respect the user's preferences and privacy -- something Google will never do.

 

PS: In regard to the worry that people would be installing apps instead of Firefox: no matter the advantages, I'll never install the Amazon app anywhere, I can't trust Amazon (even on simple things, like ensuring I'll have easy features to implement, like text search). I'll always use the web. But for a bazillion other apps, that could be as simple as a to-do or time tracker app, I'd **much** rather have them offline with local storage. Right now one mostly still develops these for each platform, but PWA lets you distribute your app to everyone

Kvin
Making moves

Can you tell us if work on this has already started?
And is it possible to name it Pwa Tabs so that users don't get confused?

onequest
Making moves

There's a lot of comments here and I didn't read all of them, so let me know if this is a duplicate. I also know that it's technically outside of the scope of this post, but I saw other comments about mobile. What I want to know is, will mobile web apps be given a similar amout of emphasis and polish? I love how many details are being explored for the desktop side, and would love to hear about a similar focus for Android since there's still a few things missing from that experience.

knightRider0xD
Making moves

Thanks David, this is great news!

Building on Oneeyedziggy's post, I've experienced a lot of issues with notifications in chrome/edge PWAs, so I think really nailing the notification implementation would be a massive boon for Firefox.
Some key areas to help make that happen:

  • Timely notification delivery
    Often the chrome/edge apps I use receive delayed notifications, or miss them altogether compared to native or even electron apps.
  • Making sure apps stay loaded/don't go to sleep
    Often the chrome/edge apps I use will stop responding after some time, and similarly stop delivering notifications. This behaviour is especially prevalent in windows that are open, but out-of-focus.
  • Full support for the Badging API
    Some of the apps I use fall back from notifications to using a app/icon badge if minimised. There is currently no support for this in Linux despite a reasonably standard implementation across most DEs.

Some of the above may be down to the apps themselves, but in my opinion, despite going all-in on PWAs Chrome has really dropped the ball on some of this core functionality.

Jz68000
Making moves

Allow web apps to be installed offline as XPI files and provide the Add-ons, Plugins and ElectronJS APIs to allow web apps to run as desktop apps using Firefox as a runtime similar to Java or DotNet.

jstormail
Making moves

Great news!  I’ve read through the proposal and all of the comments.  

First, I’m very glad to see the proposal.  I decided to distribute my app as a PWA, and only a PWA.  Since Firefox does not support PWA’s, I choose not to support Firefox.  Supporting PWAs would let me support Firefox too.

I much prefer using PWAs to something like Electron and Tauri.  Browsers are spec-compliant with the features I need (sorry Tauri without SharedArrayBuffer) and without the risk of vendor lock in (sorry Electron and app stores).  Plus, shipping a PWA is a far simpler build and deploy process in both cases.

When PWA support is added, the most important parts for me is that I can:

  • Detect if my app is installed as a PWA with media queries
  • Limit users to a single PWA app tab at a time
  • Automatically redirect users to the PWA when they navigate to it from the browser
  • Automatically transfer login credentials from the browser to the PWA
  • I can select the PWA display mode for minimal-ui and standalone
  • Installing as a PWA lets my app save data without expiration

Limiting users to a single PWA app tab at a time is important for me, since I use wasm libraries that to persist data, which do not handle multiple tabs well, if at all.  It is fine for there to be multiple containers for the same PWA, but a single container should only ever allow the one tab.  

I want users to think they are using an app, not Firefox.  Counter to your point, it should be clearly an app, not a website.  The URL bar and ability to switch back to a webpage are completely unwanted in my case.  The PWA spec describes and implements many display modes, from standalone to minimal-ui, and I would like to see Firefox implement the spec.  You are more than welcome to implement a new display mode that presents the URL bar and buttons to switch back to the browser (there’s an existing browser display mode that sounds similar), but please allow me to remove the browser frame and limit access to browser-specific functionality by default.  Feel free to let users override it, but let me set the default experience.

I would like the PWA to run even if Firefox is not running.  The Firefox app should not need to open if users open the PWA from the app selection, and quitting Firefox should not quit my PWA.

I think a good goal for the initial implementation is to make strides to support what safari supports, as they have the most limited PWA experience.  After that, feel free to implement other app-like features that you see fit.

If Firefox enables PWAs, I would be glad to enable support for Firefox.

Just want to second the suggestions made here.

https://alexdelorenzo.dev

Vaidotas
Making moves

Interesting, that no one mentioned Mozilla Prism yet. Back in the 2010 I had it running on computers in a small office, for employees to have an easy access to their "sales application". It was very convenient for advanced users, and for less experienced computer users to launch the application and have it available separately from web browser, which, back in the day, was crashing a bit more than nowadays.

I still would find it very useful to have a standard way to add any web application to the desktop. Especially older, "legacy" application, that was build way before PWA existed, thus not requiring manifest to be available.

Another useful outcome of supporting web applications on the desktop, would be that developers could easily "publish" their applications to desktop without using any additional tools, like Electron. I understand the appeal of Electron (single codebase for multiple platforms), but when users installs a dozen of Electron apps, with each providing its own runtime, usually several versions behind and with possible security issues, it would be more secure to share web browser runtime, which is usually the first to receive all security updates and performance improvements. Saved disk space would be a huge bonus too. Network usage (initial application downloads and updates) should be considered not only for users with limited or payed data, but also for servers, and developers paying for them. This could be spun as an eco-friendly feature.

atjn
Making moves

That sounds great! I don't think the URL bar should be visible on most apps, but I will take it if it means I can install my web apps directly in Firefox. As you already mentioned, it would be nice to have a user preference that could turn off the URL bar, so at least power users would have the option.

In the future, I think you should allow websites to customize the URL bar, and override parts of it if they want to. You can implement it as an extension to the Window Controls Overlay API, and you can have a (per-app?) user preference that disables part of, or the entire API for people who prefer that.

I understand your arguments for keeping the URL bar, but this is why I don't want it: If developers can't remove the URL bar from their apps, they will just package it with electron and distribute it as a normal app, which leaves us users with no choice. If you allow the URL bar to be removed, you make a much more compelling argument for a web app.