I recently installed (approx. a month ago) Firefox version 60 (now updated to 61) on MacOS in the hope of further strengthening my « Gexit » (Google Exit). Google is a company I do not trust anymore, for various philosophical, ethical and practical reasons, so stopping using their products is a priority for me.
These days consumers benefit from a relatively broad choice of browsers, however those of us who have paid plugins, paid software, and use 2FA (Two Factor Authentication) hardware devices such as those supporting the FIDO U2F protocol are restricted due to different integration levels. In my case, the lowest common denominator on MacOS is to use either Google Chrome or Mozilla Firefox.
The Golden Age of Firefox
Like most old school users, I used to be a staunch fan of Firefox in its infancy. May I remind the younger readers about what we had then: crappy, lame-ass Internet Explorer from Microsoft (a hundred ancient sumerian curses on them), which will be remembered in the IT Hall of Infamy alongside other horrors such as AOL floppies, the Sony Xperia X2, Windows ME and Facebook, but I disgress.
Firefox was awesome, it was a fresh approach at browsers, it was revolutionary, and it laid out the modern standards by which browsers must abide. However as Firefox grew, its appetite in RAM and CPU power grew. And then we had this IT underdog, Google, coming up with all their free services and Chrome, which was (and still is) pretty fast. Many jumped onboard and let Firefox to its own fortunes.
Firefox and the Quest for the Holy Privacy Grail
It is only recently that I came back to Firefox, motivated by my quest for online security and privacy, which, like security researcher Sarah Jamie Lewis says, « is about consent, not about hiding ». Unfortunately, at least on the browser side of things, this chapter of the epic quest is about to end abruptly after nearly one month of under-achievements. The resentment has to be strong for me to write a blog post, but the reality is that Firefox has been underperforming and shown a hunger towards battery usage that is seen only when running modern games.
To set the record straight, I’m using an « Early 2015 Retina MackBook Pro 13.3″ ». I didn’t install or remove any software on my laptop during this transition. The reader should also know that I use several plugins such as HTTPS Everywhere, μBlock Origin, Momentum Plus, Toggl. Additionally, I have integrations with a password manager and a hardware cryptocurrency wallet. The same setup was present on Chrome and in Firefox.
The first symptom, immediately visible after my transition from Google Chrome to Firefox was that Firefox was noticeably slower, taking a couple seconds to show content that Chrome would immediately show, with some further lag when opening new tabs. Over the time, the most frustrating part of it was the sluggishness. Then I kind of came to an epiphany: I didn’t pay much attention to this before, but it seems that not only my browsing experience was slower, but also it appeared as if my battery life had considerably decreased over the last month, and I quite couldn’t figure out where the issue was, until I decided to have a look at power consumption metrics (that would be confirmed only after correlating the battery drain with symptoms described below).
Firefox for MacOS: Flight of the Concorde!
I also noted that my laptop fans would go often go hypersonic for no reasons at all, and the laptop would also get burning hot. Now having had this Macbook Pro for a while, I knew cases when this would happen: usually when running games, or putting some heavy strain on the CPU. However, when my poor old neurons started talking to each other and realised something is wrong, the only thing that was running was Firefox, and I was just looking at some potential vacation places. It’s all fun to use your laptop for typically casual lightweight activities like browsing the Internet until it starts burning your lap and fans go nuts like a Concorde supersonic jet about to take off (enjoy at full volume for effect). They should have rebranded Firefox for MacOS to Concorde, for if the EPA was in charge of web browsers, they would have certainly banned Firefox for MacOS due to the high levels of noise it incidentally produces.
Back to seriousness: I started investigating the matter, first on r/Firefox on Reddit, then directly on Firefox’s Bugzilla, and I found there several threads covering similar issues. In all cases, the affected systems were not running on the default configuration. This default screen size is 1280×800 on my laptop, but mine is set at 1440×900, therefore entering the space of custom resolutions, which is where the bug strikes.
I won’t get into much details but the following bugs cover the matter:
– Bug 1404042 – Poor battery life on OSX with scaled resolution – Reported 9 months ago
– Bug 1422090 – high GPU load and excessive power usage – Reported 7 months ago
– Bug 1191965 – Use CoreAnimation like HardwareComposer – Reported 3 years ago
– Bug 1429522 – Avoid using a transparent window by using CoreAnimation – Reported 6 months ago
It is unclear to me at the moment whether the issue is being worked on actively by Firefox developers or not. One of the bug discussion threads above says that a special build was created which solves the issue. Another thread points out to the fact that the Nightly releases of Firefox have implemented a sort of fix where battery life and performance issues are mostly sorted out. The challenge with Nightly builds is that these aren’t exactly stable builds, so if you are security conscious you might well think about using a development/nightly build browser for potentially sensitive activities, shopping, banking etc. Nightly builds also automatically send diagnostic data to the Mozilla Foundation, and for me any kind of diagnostic data sharing is a no-go.
Another solution is to configure Firefox to run in Low Resolution. I tried this and while the performance improved and battery drain lowered (you can use the Intel Power Gadget to measure this), running in Low Resolution mode on a Retina screen means a lower graphical quality (heh who would have thought this if choosing low res) but more importantly blurry text edges. For someone like me wearing glasses and diagnosed with astigmatism it’s not the best possible setup and guarantees you’ll get an headache pretty soon.
Unless you’re running a Mac exclusively on an external display or at default resolution, the sad reality is that Firefox isn’t production ready. What I mean by production ready: a product that is shipped with decent quality control and is optimised to run on the platform it is intended to be supporting. That’s a bold statement, but I stand by it.
Currently, Firefox Quantum for MacOS triggers CPU and GPU usage gauges to Tchernobyl catastrophe levels; not only that but it also preys on your battery reserve like a swarm of hungry tropical mosquitoes craving for your precious innocent blood.
Even with the strongest ethical convictions, I find it very hard to justify running a piece of software that simply isn’t optimised to run on modern Retina Mac devices and which doesn’t supports resolution scaling; I can’t imagine such a position would be defendable on Windows for example, where screen resolution diversity is even more pronounced. Retina displays have been around since 2013 and as of today, only the MacBook Air do not have Retina displays. The experience of using Firefox has been truly excruciating. If I asked industry acquaintances and friends for testimonials, I’m sure a swarm of IT professionals would rush forward to vent out their frustration at Firefox on MacOS.
I understand that Firefox is an open source project funded by a foundation and developed by volunteers, but like in every project priorities must be set. This issue should be seen as a top priority if Firefox and the Mozilla Foundation want to maintain or increase their market share on MacOS. Most of the bug reports are at least nine months old; versions from 56 up to 62 (which isn’t out yet at the time of writing) are affected. This is a sad state of affairs, especially for power users / road warriors who want to get the best out of their battery.
The saddest part here is that without these performance and battery drain issues, Firefox would be ideal to use: it is a neutral, non-commercial project, the developers seems to have well worked on the privacy aspects of the browser, but lo! The performance / battery issues are just a killer, and if it doesn’t work properly, nobody’s gonna care about all of the awesome features.
It would be great here to talk about choices, but there simply isn’t any choice to be made: if you want to maintain decent levels of sanity, there’s no place in your life for Firefox on MacOS. Don’t get me wrong, I’d love to use Firefox on MacOS, but in the current conditions, it is impossible to move forward with this. Perhaps the devs working on these issues will have a read and realise the struggle is real.