Ehsan Akhgari, a Mozilla engineer, writes about Firefox performance, Clang builds, static analysis, and private browsing.
HN links his Quantum Flow performance newsletters and private browsing post in Firefox threads, and his account of losing Google access as an example.
Firefox 57 has its share of detractors among the HN crowd, particularly those who want XUL extensions to continue to live on. I am not in that camp; I think Firefox is fighting for its future, and I like that my browser of choice is closing the performance gap with Chrome.
The 57 release is chock full of great features and performance optimizations. Ehsan Akhagari manages a critical initiative, called Quantum Flow, and he publishes a weekly newsletter that chronicles performance improvements in Firefox on his blog [1].
In the recent newsletter [2], he mentioned "Quantum DOM Cooperative Threading", a feature that has landed in Firefox Nightly, but is disabled for now so that issues can be fixed. To quote Ehsan on the project's goals:
"... this past week the first implementation of our cooperative preemptive scheduling of web page JavaScript, more commonly known as Quantum DOM, landed. The design document describes some of the background information which may be helpful if you need to understand the details of how the new world looks like."
This combined with other efforts -- such as de-prioritizing background tabs, event queues, and lazy loading -- should significantly improve Firefox's perceived performance.
If you haven't given Nightly a try, I suggest that you do.
1. https://ehsanakhgari.org/blog
2. https://ehsanakhgari.org/blog/2017-09-01/quantum-flow-engineering-newsletter-22
Private Browsing Mode is for browsing without storing information on your computer. It has nothing to do with websites tracking you; that's what the Do Not Track feature is. We do require that add-ons respect Private Browsing Mode, and our privacy team is working on a recommendation (not a requirement) that add-ons also honor the user's Do Not Track preferences.
As the person who implemented Private Browsing describes:
Private Browsing aims to help you make sure that your web browsing activities don't leave any trace on your own computer. It is very important to note that Private Browsing is not a tool to keep you anonymous from websites or your ISP, or for example protect you from all kinds of spyware applications which use sophisticated techniques to intercept your online traffic. Private Browsing is only about making sure that Firefox doesn't store any data which can be used to trace your online activities, no more, no less.
http://ehsanakhgari.org/blog/2008-11-04/dont-leave-trace-private-browsing-firefox
Strictly speaking, Stylo and WebRender fall under the Quantum project umbrella, as "Quantum CSS" and "Quantum Render", respectively. https://wiki.mozilla.org/Quantum has details. (The names are definitely confusing!)
Also, Quantum Flow is not so small! It's actually now the part of Quantum that's getting the highest priority and most resources. It doesn't involved any single component, but is rather a focused effort to relentlessly profile Firefox on real-world workloads and eliminate as many noticeable slowdowns (jank, stutters, pauses, spinning beachballs, etc.) as possible. It's been hugely effective, with noticeable speed-ups in each release from Firefox 54 to 57. Ehsan Akhgari's blog has more details: https://ehsanakhgari.org/blog
You might want to give Nightly a try (upcoming Firefox 56) which improved a lot thanks to Quantom Flow project. I updated from Firefox Dev Edition (FF 55) to Nightly and the boast was obvious (there's also been a good boast recently in FF 54 thanks to multi-e10s).
e.g. see the SpeedometerV2 benchmark differences at https://ehsanakhgari.org/blog/2017-06-23/quantum-flow-engineering-newsletter-14 So there is progress and thanks to Quantum the best is hopefully yet to come with the integration of Servo components
I'm rather skeptical about text editors implemented on top of the canvas element. Mozilla has already tried that with Bespin project and it failed miserably (huge code base, poor performance, limited accessibility).
Wouldn't it be easier to just use div element with contentEditable attribute? Currently contentEditable has limited API and a lot of inconstancies across browsers, but in the longer run it seems to be the way to go: http://ehsanakhgari.org/blog/2011-08-31/future-editing-web
Yes, this is part of those efforts. The UI redesign and performance projects are part of a cross-functional group working on making Firefox faster. They've talked about how part of the reason for square tabs is that they're much faster to draw for example.
Weekly newsletters about the "Quantum Flow" performance project here: https://ehsanakhgari.org/blog/2017-03-09/quantum-flow-engineering-newsletter-1