10 ms·
Hey, thank you for your input. We are aware of the importance of those three things. They're all not-trivial problems to solve, but we're working on all three:
by zbraniecki 10y ago
Hey, thank you for your input.
We are aware of the importance of those three things. They're all not-trivial problems to solve, but we're working on all three:
1) Performance is an insanely complex problem. We can't easily measure the "real" performance, in a scientific way. We can measure performance of so called "microbenchmarks" which can tell you that, for example, our JavaScript engine can perform X million regular expression computations per second. The X may be higher or lower than what Chakra or V8 can, but how it translates to real world experience is insanely complicated.
What we know by now is that JS engine performance is not the problem. At this point all modern engines are fast.
What we need to advance are things like performance of DOM, CSS, layout, painting and prioritization (ability to ensure that UI performance cannot be blocked by website's JS computations).
We're working hard on several projects this year, under the umbrella of codename "quantum" that is aiming at making Firefox blazingly fast. We're taking lessons and code from Servo and applying it in Firefox.
The end result, if we succeed, is that we'll have ability to perform DOM, layout, CSS and painting orders of magnitude faster (even if it's 2x it's still huge!).
The other piece of performance, is what's called perceived performance. That one is even more tricky because it's all about what your brain tells you. In cognitive psychology and HCI there are tons of studies that prove that depending on how we use tricks like animation, colors, shapes and gimmicks like focus, we can trick your eye to think that things are faster or slower.
Chrome is really good at that and kudos to them! I love watching their UI painting order in 120fps slow-mo just to see all the things they employed.
Together with Quantum we're going to look into ways to improve the perceived performance of Firefox. I hope we'll get it right :)
2) On the privacy front we're working with Tor browser and we're also working on several projects aiming at disrupting the current way of browsing the Internet. Read about Firefox+Tor browser and Activity Streams if you're interested.
3) On the QA front, we've made major progress over the last year. That's a huge part of the technical debt that we had to remodel in 2016. We now have much better fuzzers, tests and APIs that makes it easier to write code that will not break. On top of that, multi-process helps us make sure that painting crash doesn't crash your browser, that plugins can't crash your browser and finally that content can't crash your browser.
We also designed a whole new language that is significantly better suited to write security critical code than C++ is. It's called Rust and we just started moving pieces of our engine to it. If we can succeed with this, we should end up with a codebase of the unprecedented stability for a project this size and facing third-party code. If you're interested, read about Mozilla Oxidation project.
It is a major bet. We're betting on JS, we're betting on Rust. We're betting on Gecko and our ability to "change the engine mid-flight".
I'm excited about the opportunity, but it's going to be a huge effort to pull it off.
If any of this is interesting for you, help us! We're a small team (compared to all other browser engines), but we have a culture that fosters community participation and I believe that we can compete and shape the Web together: https://whatcanidoformozilla.org/ https://whatcanidoformozilla.org/
- wamatt 10y agoThis all sounds really encouraging. I've become a vocal supporter of Firefox again since switching back a year ago. On that note, it may seem trivial to the average user, however it would be great if the powers that be could consider not forcing UI animation on the user without any possibility to disable it. IMHO one of Firefox's greatest assets is it's rich legacy in user choice and customization. Many users (myself included) reluctantly switched away for performance and security reasons back in the day. With that said and while sensitive people are a minority group, we do exist and UI animation can cause elevated stress and fatigue.
- zbraniecki 10y agogreat point. I haven't read about this experience, but I believe you. I know that there are different kind of animations that trigger different reactions (like, fade in text is different from things shifting on the screen). Please, track Mozilla progress over the next months if you have the time. We're drafting a workforce to start the UX updates and I hope we'll get voices like yours well represented. I'll make sure to post about it on HN once we begin.
- neurobot 10y agothe best way to improve Firefox is inspect popular add-ons on Firefox, what they offer on their add-ons.
- ianopolous 10y agoThis all sounds AWESOME. I can't wait to try it all out. Another out there idea would be a protocol handler for the IPFS protocol. I also have some JS benchmarks from a real world app involving encryption and erasure coding in JS where Chrome significantly outperforms Firefox if you're interested (I'm talking 3.3X faster).
- zbraniecki 10y agoWe definitely want JS benchmarks. Please, if you can, file bugs at bugzilla.mozilla.org in Core::JavaScript Engine.