As much as I like Firefox. It is now on a cross road.
For debugging development purposes I am keeping a version now for older dev plugins that never got a proper replacement, and aren't compatible with the newer API and newer will be (because the API is so much less powerful, good for noobs / bad for power user).
And I can't wait until Servo gets more stable and feature complete. I am thinking about a Vivaldi browser like HTML5 based UI based on Servo web engine, instead of blink - that would be the ideal next-gen Firefox reboot! (Firefox/Firebird/forgotthename was initially a leaner fork of the "bloated" MozillaSuite, in the meantime Firefox got so much more bloated than the still maintained MozillaSuite (now called SeaMonkey, based on recent gecko engine)).
It's the same name as the Servo porting project. I could see that creating the separate process is a first step and involves no Servo code as of yet, but how do you know either way?
The meaning of "Quantum" is a bit confusing. I thought it was only Servo ports, but after I read your post I looked around and found this. I guess it's any improvement to Gecko?
"Quantum has a number of components, including several adopted from the Servo project."
Quantum is the umbrella, if you will, under which a bunch of performance focused subprojects are being developed. Some of them (Quantum Render, Quantum CSS) are importing Servo components (WebRender and Stylo, respectively), while others (Quantum DOM, Quantum Compositor, Quantum Flow) are serious surgery on existing Gecko components.
Cookie containers are a feature that I really like a lot. The problem is the UX for them is terrible. There are no keybinds and they only show up in one place in the interface. I wanted to add keybinds but I found this very difficult.
Whenever a new Firefox release drops, my favorite thing to do is to see if this (now ten-year-old) bug [0] is finally fixed.
Spoiler: it isn't.
This bug (and many others similar to it) are one of the main reasons I dislike using Firefox. It just feels out of place on macOS. I'm fine with non-native UI elements as long as they're not elements as fundamental as the select dropdown and the right-click menu.
Edit: Turns out this bug has been fixed, but only if you have Electrolysis [1] enabled [2].
Do people actually make web pages that try to look native to the OS they're loaded on? That is a lot of effort to reimplement GUI toolkits and I can't think of anything I've seen that does it.
I'd say the real way to look native in firefox involves XUL, even if it is getting removed.
My favorite thing is coming to the HN threads to read the "tried it out to see if <personal hangup re: obscure app feature 6 people use> is fixed (meaning works the way I want it to work) but it's not, therefore the entire project A SHIT" posts.
The fact that this one then acknowledges that the bug is actually fixed if you use the browser in the recommended mode gives it extra points.
Electrolysis isn't enabled by default, so I don't think it qualifies as "the recommended mode".
Furthermore, I never said "the entire project is shit". Firefox is a great piece of software, but I don't use it personally because of the issue I mentioned, among other issues in the same category (like the right-click menu looking different compared to other right-click menus, or not integrating with the macOS spell-check system).
> As of Firefox 54+ (early 2017), our Multi-Content process model is currently being tested on Nightly (4 processes). Four content processes will be enabled on 54 Aurora and if stable enough, we will begin to roll it out in Firefox 54 Beta experiments.
This seems to be the case because I downloaded Firefox 53 for the first time on my new MacBook Pro and e10s wasn't enabled. I had to go to about:config and enable it manually.
Firefox 52 shipped with e10s enabled by default for all users except those who are on Windows XP, have a windows machine with a touchscreen, or have extensions that are not compatible with e10s. It uses one browser UI process and one web content process.
Firefox 54 has e10s-multi, with multiple web content processes.
If you go to about:support in your Firefox 53, the "Multiprocess Windows" item in the first section ("Application Basics") should tell you why e10s is disabled for you, if it's disabled.
The only thing it says for me is "0/1 (Disabled)". [0]
Edit: Ah, so this is weird. It looks like e10s isn't enabled when you first run Firefox. You need to quit, and then relaunch. On the second launch e10s is then enabled. This explains why I thought it was disabled by default (since it was my first time running Firefox on this machine).
"Disabled" means there was an explicit pref set to disable it.
I can't tell from over here what preferences you changed and in what order and when. You said "I had to go to about:config and enable it manually"... did you restart after that? e10s pref changes require a restart to take effect. What was the state of the preferences before you did that, if you remember?
In any case, glad to hear it's working for you now.
It is enabled by default, you just may have a plugin installed that is blocking it. The plugin(s) could be multiprocess compatible but unmaintained and missing the multiprocess=true flag in its package.json.
You can go to about:support to see if multiprocess is truly enabled. If not, go to about:addons and start disabling extensions until it does work.
Electrolysis is enabled by default on Mac, Windows, and Linux except for users that have some incompatible add-ons or use Windows touchscreens or a11y. Those issues are being fixed.
You should check out Container tabs in Firefox: https://wiki.mozilla.org/Security/Contextual_Identity_Projec.... It's like per-tab profiles, no need for multiple copies of the browser, etc. Totally changed the way I deal with sites I need multiple accounts for (like AWS).
I love it although now that I have a Mozilla employee here I should mention that:
- it seems to be missing features when running with Tab Tree
- the ux of Mozilla vertical tabs experiment is weird and IMO bad. And I rarely complain about UX. The problem is: the tab bar goes up on the side of the awesomebar and slides it back and forth as the tab panel expands and goes back.
I have reported this but so far nobody seems to care.
Another small thing: I more or less love Firefox in general <3
> and slides it back and forth as the tab panel expands and goes back.
There's a "pin" button there that keeps it open. I know, this doesn't fix your problem, but I and everyone I've seen using it uses the pin button, and IMO it's a much better experience :) I've noticed that on most high-end laptops websites have way too much blank space on the side margins so pinning a useful tab bar in that space works fine.
> the ux of Mozilla vertical tabs experiment is weird and IMO bad ... the tab bar goes up on the side of the awesomebar and slides it back and forth as the tab panel expands and goes back.
Yeah this seems really whack. I like what Safari did: they have a left sidebar with several tabs (favorites, reading lists, shared links). Having these independent sliding spaces overloaded in the same area is clumsy.
The problem though is there is UI hierarchy between tabs and something in the sidebar like bookmarks. I can't think of a good way to place these relative to each other to impart that relationship, which is probably why they are independent for now. Hopefully they do something about that though.
Please share your UX problems on the Containers experiment's GitHub issues! Getting early user feedback is why we're testing more Firefox features as experiments. :)
Containers are awesome and very easy to use compared to profiles.
I'm guessing that Chrome might not want to make such a powerful pro-privacy feature available to the masses, so this could be a good way for Firefox to distinguish itself.
As you're already here, when can we expect Firefox to...
(a) read QT_SCREEN_SCALE_FACTORS to do per-screen dpi scaling on Linux? Currently there's an old-style extension to read this, and scale the browser accordingly, but with WebExtension only, I'd be stuck with a browser that's always the wrong scale.
(b) support hardware video decoding on Linux? Currently I use a plugin to force Firefox to use VLC to handle HTML5 video, wherever possible, so I can get fluent video - with WebExtension, this won't be possible, and CPU-decoding of HTML5 video eats over 5-10% of CPU even on an i7-6700 with a 4K video. On laptops, it's almost unusable.
(c) How long do you expect it to take until we can customize the entire browser chrome with HTML, CSS and JS again? XUL will be gone, but with Browser.html, and competing browsers such as Vivaldi, these things are possible easily. As we're already on that topic...
(d) as you don't seem to be willing to implement Tab Previews in the browser itself, when can we expect a WebExtension API to do so ourselves? In old-style extensions it is possible, but this breaks with WebExtension.
i have so been needing this! no more opening new windows, private windows, and new browsers with private windows to test multiple user scenarios. [thumbsup emoji]
I wonder if this is why battery and heat are so bad with Firefox on my Ubuntu 16.04 box? I've switched away to chromium because of the sheer difference in battery drain.
(And no, it's not a plugin that's causing the problem)
Are you letting random advertising Javascript run? I don't. Noscript disables most of that.
My experience is that Chrome uses more battery than my Firefox, by a lot. Of course, Chrome is what I use when I just want a site to work, not have to wonder if I turned on enough Javascript.
If you watch a lot of Youtube, force the video to MP4 so your graphics card can decode it in hardware. Youtube defaults to VP9 but gfx cards rarely support that codec.
Google's wasting a lot of battery life by pushing VP9 onto everyone.
It's true that Chrome/Chromium don't support it. [0]
Linux itself certainly supports it [1], and at least Mozilla have some progress towards it happening [2][3][4], if slow progress.
However, we used to have hardware video decoding via gstreamer and VLC within Firefox as plugins, using VAAPI and NPAPI, so it's still possible to get working today.
You can easily force enable it. But the stability varies wildly with hardware. My iGPU works good, my NVIDIA 920m works good but the old AMD 5750HD causes crashes.
Go to about:config and set: layers.acceleration.force-enabled to true.
The entire Linux world is fragmented. Luckily, things are getting better with systemd, wayland, etc, aiming to provide a simple and standardized way to interface with some parts of the system for developers.
Both Firefox and mpv use the same decoder for Youtube (ffvp9). With accelerated layers forced on and fullscreen, you should see roughly comparable performance. For windowed, it's currently expected to be somewhat more taxing than mpv because all of the extra window contents are composited every frame.
I'm not at all convinced about making the general user choose between 32- and 64-bit versions at installation, given that even techies disagree on the relative merits [1]. (Sometimes with themselves [2].)
If the system only supports one or the other, the installer should be able to work that out. If it supports both, the installer should at least give some hints as to what the tradeoffs are.
The bitness choice (and that entire screenshotted dialog) is only present if you select "Advanced Options" in the bottom left of the installer's first screen, it's not something that we force every user through.
We're still defaulting to 32-bit on systems where both are supported, but we hope to default to 64-bit around Firefox 55. We had to delay this due to issues with Flash, sandboxing, and Farmville 2: https://bugzil.la/1317995
SEH exception handling don't work properly and debuggers don't show a proper callstack. For it to work properly, the JIT has to generate "function tables" to allow Windows to do stack walking.
This site is really cool! I work on browsers and often need to test things in IE (to see how behavior of a web feature differs across browsers) and hate booting up VMs :)
Yup. That's a feature. Run any app on any platform in your browser. That's where I'm taking Browserling. We've a bunch of users already running all kinds of software in their browsers so rather than restricting VMs, I'm opening them up. These are throw away VMs anyway, once the session is up, VM is gone.
In the same vein, Windows users can grab the portable version of Firefox 53 and use it without needing to install it, without needing admin rights, and without interfering with a different version installed within Windows:
In addition to the stable channel, you can grab beta, dev, nightly, and esr and automatically update them within the PortableApps.com Platform. We also have all old major versions of it available on our SourceForge project. They're all free and fully open source.
Oh no! That actually should've worked as described (not auto-playing until you switch tabs), but it looks like auto-play suppression is in 54, not 53. Sorry :( https://bugzil.la/1308154
Media playback on new tabs is blocked until the tab is visible
^^ That feature was in the Beta release notes but didn't seem to make it into 53 release...disappointing because it appears to work great in Beta/Developer Edition. Can anyone from Mozilla explain why it was scrapped?
107 comments
[ 3.0 ms ] story [ 148 ms ] threadFor debugging development purposes I am keeping a version now for older dev plugins that never got a proper replacement, and aren't compatible with the newer API and newer will be (because the API is so much less powerful, good for noobs / bad for power user).
And I can't wait until Servo gets more stable and feature complete. I am thinking about a Vivaldi browser like HTML5 based UI based on Servo web engine, instead of blink - that would be the ideal next-gen Firefox reboot! (Firefox/Firebird/forgotthename was initially a leaner fork of the "bloated" MozillaSuite, in the meantime Firefox got so much more bloated than the still maintained MozillaSuite (now called SeaMonkey, based on recent gecko engine)).
On the other hand, it's not moving absurdly fast and breaking things as a matter of policy like recent Firefox is.
With sensible browsing habits and a very conservative use of js, I'm confident enough, day to day.
Parts of Servo are being migrated to Firefox. IIRC, Quantum Compositor, mentioned in the blog post, is one of them - you can start using it today!
http://jensimmons.com/post/jan-4-2017/replacing-jet-engine-w...
> The goal of the Quantum Render project is to take the WebRender compositor in Servo and embed it in Firefox
https://wiki.mozilla.org/Platform/GFX/Quantum_Render
"Quantum has a number of components, including several adopted from the Servo project."
https://medium.com/mozilla-tech/a-quantum-leap-for-the-web-a...
Many bloated png can now retire.
...and now begins the indeterminate wait for Edge and Safari :)
Spoiler: it isn't.
This bug (and many others similar to it) are one of the main reasons I dislike using Firefox. It just feels out of place on macOS. I'm fine with non-native UI elements as long as they're not elements as fundamental as the select dropdown and the right-click menu.
Edit: Turns out this bug has been fixed, but only if you have Electrolysis [1] enabled [2].
[0] https://bugzilla.mozilla.org/show_bug.cgi?id=402625
[1] https://wiki.mozilla.org/Electrolysis
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=402625#c32
Considering stuff like Electron and co, that's not an unusual request.
I'd say the real way to look native in firefox involves XUL, even if it is getting removed.
Either you can build something looking native in the web languages, or Electron and co habe failed already.
The fact that this one then acknowledges that the bug is actually fixed if you use the browser in the recommended mode gives it extra points.
Furthermore, I never said "the entire project is shit". Firefox is a great piece of software, but I don't use it personally because of the issue I mentioned, among other issues in the same category (like the right-click menu looking different compared to other right-click menus, or not integrating with the macOS spell-check system).
This seems to be the case because I downloaded Firefox 53 for the first time on my new MacBook Pro and e10s wasn't enabled. I had to go to about:config and enable it manually.
Firefox 54 has e10s-multi, with multiple web content processes.
If you go to about:support in your Firefox 53, the "Multiprocess Windows" item in the first section ("Application Basics") should tell you why e10s is disabled for you, if it's disabled.
Edit: Ah, so this is weird. It looks like e10s isn't enabled when you first run Firefox. You need to quit, and then relaunch. On the second launch e10s is then enabled. This explains why I thought it was disabled by default (since it was my first time running Firefox on this machine).
[0] https://gist.github.com/dstaley/b17ce52947cf520ca793d545daee...
I can't tell from over here what preferences you changed and in what order and when. You said "I had to go to about:config and enable it manually"... did you restart after that? e10s pref changes require a restart to take effect. What was the state of the preferences before you did that, if you remember?
In any case, glad to hear it's working for you now.
You can go to about:support to see if multiprocess is truly enabled. If not, go to about:addons and start disabling extensions until it does work.
https://wiki.mozilla.org/Electrolysis#Schedule_and_Status
You can use Containers in Nightly or via the Containers Testpilot experiment here: https://testpilot.firefox.com/.
disclaimer: I work for Mozilla
- it seems to be missing features when running with Tab Tree
- the ux of Mozilla vertical tabs experiment is weird and IMO bad. And I rarely complain about UX. The problem is: the tab bar goes up on the side of the awesomebar and slides it back and forth as the tab panel expands and goes back.
I have reported this but so far nobody seems to care.
Another small thing: I more or less love Firefox in general <3
There's a "pin" button there that keeps it open. I know, this doesn't fix your problem, but I and everyone I've seen using it uses the pin button, and IMO it's a much better experience :) I've noticed that on most high-end laptops websites have way too much blank space on the side margins so pinning a useful tab bar in that space works fine.
Yeah this seems really whack. I like what Safari did: they have a left sidebar with several tabs (favorites, reading lists, shared links). Having these independent sliding spaces overloaded in the same area is clumsy.
The problem though is there is UI hierarchy between tabs and something in the sidebar like bookmarks. I can't think of a good way to place these relative to each other to impart that relationship, which is probably why they are independent for now. Hopefully they do something about that though.
This might not be perfect for what I know but at least it doesn't move the majority of the browser controls around.
https://github.com/mozilla/testpilot-containers/issues
I'm guessing that Chrome might not want to make such a powerful pro-privacy feature available to the masses, so this could be a good way for Firefox to distinguish itself.
(a) read QT_SCREEN_SCALE_FACTORS to do per-screen dpi scaling on Linux? Currently there's an old-style extension to read this, and scale the browser accordingly, but with WebExtension only, I'd be stuck with a browser that's always the wrong scale.
(b) support hardware video decoding on Linux? Currently I use a plugin to force Firefox to use VLC to handle HTML5 video, wherever possible, so I can get fluent video - with WebExtension, this won't be possible, and CPU-decoding of HTML5 video eats over 5-10% of CPU even on an i7-6700 with a 4K video. On laptops, it's almost unusable.
(c) How long do you expect it to take until we can customize the entire browser chrome with HTML, CSS and JS again? XUL will be gone, but with Browser.html, and competing browsers such as Vivaldi, these things are possible easily. As we're already on that topic...
(d) as you don't seem to be willing to implement Tab Previews in the browser itself, when can we expect a WebExtension API to do so ourselves? In old-style extensions it is possible, but this breaks with WebExtension.
https://addons.mozilla.org/en-US/firefox/addon/profilist/
https://addons.mozilla.org/en-US/firefox/addon/profile-butto...
https://addons.mozilla.org/en-US/firefox/addon/profileswitch...
Everytime Firefox releases something I am reminded of this:
https://xkcd.com/619/
(And no, it's not a plugin that's causing the problem)
Google's wasting a lot of battery life by pushing VP9 onto everyone.
It's true that Chrome/Chromium don't support it. [0]
Linux itself certainly supports it [1], and at least Mozilla have some progress towards it happening [2][3][4], if slow progress.
However, we used to have hardware video decoding via gstreamer and VLC within Firefox as plugins, using VAAPI and NPAPI, so it's still possible to get working today.
[0] https://bugs.chromium.org/p/chromium/issues/detail?id=463440
[1] https://wiki.archlinux.org/index.php/Hardware_video_accelera...
[2] https://bugzilla.mozilla.org/show_bug.cgi?id=563206
[3] https://bugzilla.mozilla.org/show_bug.cgi?id=1210729
[4] https://bugzilla.mozilla.org/show_bug.cgi?id=1210726
Go to about:config and set: layers.acceleration.force-enabled to true.
BUG REPORT: https://bugzilla.mozilla.org/show_bug.cgi?id=594876
Video is always decoded on CPU on Linux. Always. Eating, at 4K, around 5-10% on an i7-6700.
On a smaller laptop, this can eat an entire core, and make the browser close to unusable.
The entire Linux graphics stack is fragmented and makes things worse for both users and developers.
Its just plain slower code for whatever reason
If the system only supports one or the other, the installer should be able to work that out. If it supports both, the installer should at least give some hints as to what the tradeoffs are.
[1] https://blogs.msdn.microsoft.com/ricom/2015/12/29/revisiting...
[2] https://blogs.msdn.microsoft.com/ricom/2016/01/04/64-bit-vis...
What's the default if you don't select "Advanced Options", btw?
The tracking bug for making 64-bit the default is https://bugzil.la/1340936
But yes, adding storage.sync will help a lot.
[1]: https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Br...
https://www.browserling.com/firefox/53/news.ycombinator.com
I've a bunch of VMs available for free testing. If there are too many people wanting to try it, then you'll have to wait in a queue for a few minutes.
https://lol768.com/i/pP.4G.Rb.t7.US.8b.u8.gI
https://portableapps.com/apps/internet/firefox_portable
In addition to the stable channel, you can grab beta, dev, nightly, and esr and automatically update them within the PortableApps.com Platform. We also have all old major versions of it available on our SourceForge project. They're all free and fully open source.