06-21-2024 10:54 PM
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:
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:
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.
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:
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.
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.
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
08-11-2024 10:01 PM
Just want to second the suggestions made here.
08-12-2024 12:01 PM
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.
08-14-2024 06:46 AM
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.
08-22-2024 09:23 PM
I really really dislike the website Icons that automatically show up as one of the 16 on every New Tab windows I open. Anyone close by can see all the sites I have been to recently, and many of them will NOT let me delete them from the page. I will have to start using other browsers If I can't get these turned off. Very Irritating.
09-15-2024 11:11 PM - edited 09-15-2024 11:12 PM
> On Windows, it is straightforward to show web apps separately on the taskbar using differentiated icons
I think it is pretty straightforward on linux as well. In Wayland, I believe it just requires using a different`app_id` from the normal firefox windows. It probably makes sense to keep "firefox" as part of the app_id, but also include the name of the web app. I it is similar in X, but I don't remember the exact mechanism.
> to allow them to be pinned, to show them in the Start menu, in the ALT+TAB and window snap experience, and so on
In order for those to work in linux (at least on most desktop environments), firefox would just need to create a .desktop file in ~/.local/share/applications that would look something like:
[Desktop Entry]
Name=Example app
Exec=firefox --webapp https://example.app
Type=Application
Icon=/path/to/app/icon
# optional, if the webapp handles a custom scheme
MimeType=x-scheme-handler/exampleapp
Also, I'd like to be able to start these web apps from the command line, by passing some option to firefox (like the `firefox --webapp https://example.app` in the above desktop file. Even if the initial support for adding shortcuts is windows only, I'd like it if I could manually start firefox with a web app experience from the command line.
09-23-2024 07:28 AM - edited 09-23-2024 07:33 AM
Hi,
I can't really read everything on here but one point in your main thread that hit me is that the UI should partly remain. Why?
The great thing (At least on MacOs), is that the only thing you have is the main buttons to close, minimize and expand, the title, and a "..." which hide everything else on the right side (probably on the left on windows instead).
This way, the "app" looks exactly like the original built in app in most cases.
I use it for teams and outlook and they look like their exact counterpart with Chrome. They're already electron app for the desktop version and thus, behave exactly the same as well in a browser, and pwa can replicate this easily.
And they appears as standard app with icon in the MacOS bar:
My own gripe with this and the "wants" of Firefox having this is simple. It is my main browser and I like to use for everything. However, not having PWA means I use chrome for this... But every single link that is opened in these app is opened in Chrome instead of Firefox and there is no way to set this otherwise.
09-25-2024 11:46 PM
Hello,
First of all, I want to say that Firefox is my favorite browser. I just want to make sure I understood the new web app "mode" correctly. It seems like it will function similarly to the current popup "mode", but with more options, like a "quit web app mode" button and access to all extension buttons. From what I gather, the current popup mode is more compact and minimalistic than the upcoming web app mode will be.
However, I believe that one of the key ideas behind PWAs is to minimize distractions and reduce unnecessary interface elements. In Chrome, for example, developers can choose between different modes for PWAs: "fullscreen" (for games or video apps), "standalone" (which makes the app look like a regular desktop app), and "minimal-ui" (which shows only essential browser controls). Although I’ve only seen web apps in "standalone" mode, I think it’s important to offer a very minimalistic UI, ideally with just a three-dot menu in the title bar for options.
Additionally, since you’ll likely need some form of installation to manage link handlers, I’d suggest going all the way with it—offering a full installation experience. This would include the ability to pin the app to the taskbar and find it in the OS app menu, without showing the Firefox logo on the app icon.
If this feature isn’t implemented soon or doesn’t meet user expectations, I and other users may switch browsers permanently (I’m already using Chrome for PWAs and WebSerial). So, I urge you to create a clean, streamlined web app mode—no URL bar, no extra buttons to open Firefox (if I want to open the browser, I’ll use the pinned icon on my taskbar), and full integration with the taskbar.
Thank you, and I hope to see this update soon!
--
(Text is revised by AI, this time not with the AI-Chatbot in the sidebar)
10-08-2024 04:35 AM
i think i replied elsewhere in this thread, and im pretty sure i mentioned part of this elsewhere too, but honestly the main reason i like firefox is the customization of both the UI and the webpage layout (font, colors).
that being said, i do think the ability to pin to the taskbar or create desktop shortcuts would be a nice addition, but as far as how the PWA's actually look, so, if you enable the vertical tabs experiment and then click to customize the toolbar... it hides the vertical tabs. which means you cant easily switch your tab, but it does give a nice look at what a PWA should look like (imo). ill include the screenshot at the end of this i suppose since i dont know how to navigate the formatting here yet lol
so i basically already use PWA's, just without the shortcuts. firefox reopens all of my windows when i open it for the day, and basically i have spotify in its own window and that actually looks not much different from what a PWA should look like even with the vertical tabs.
I guess i dont even have much of a suggestion here, just showing that what is possible already with the vertical tabs looks GREAT - especially if you set a theme with firefox color, and enable the titlebars to set their color based on the desktop wallpaper - so anyway i guess the TLDR is this is more just a thumbs up than anything lol
10-18-2024 03:20 AM - edited 10-18-2024 03:22 AM
drizztdourdon expressed my thoughts exactly. Web apps let me have a similar desktop app experience regardless of whether I'm using my Windows work or personal devices, or Linux devices. The lack of Web App support in Firefox is the single reason I stopped using Firefox and switched to Chrome several years ago for any browser related task.
Web app support may seem like a niche feature to some but it now drives my browser choice. It's that important to me.