Mozilla, Gecko Archive

Microsoft wants Firefox to ditch Google, switch to Bing

The rumour, by way of The Information, claims senior Microsoft execs hope to seal a deal with Mozilla to make Bing the default search engine as soon as this year, as the browser’s existing big-bucks deal with Google is coming up for renewal. Now, Firefox making a search engine switch isn’t new. Mozilla tested Microsoft’s Bing as Firefox’s default search engine back back in 2021; and those with longer memories may just remember a time when Yahoo! was the default search engine in select countries. It’s a tough pill to swallow: Firefox, effectively the only serious browser not controlled by Google or Apple, exists by the grace of Google. Google pays Mozilla for being the default search engine in Firefox, and said deal makes up about 85% of Mozilla’s revenue. Replacing Google with Microsoft int his equation seems like a lateral move, at best.

Here’s what’s going on in the world of Firefox extensions

So we weren’t surprised to hear that Chrome users were concerned after learning that several of the internet’s most popular ad blockers, like uBlock Origin, would lose some of their privacy-preserving functionality on Google’s web browser, resulting from the changes Manifest V3 brings to Chrome’s extensions platform – changes that strengthen other facets of security, while unfortunately limiting the capabilities of certain types of privacy extensions. But rest assured that in spite of these changes to Chrome’s new extensions architecture, Firefox’s implementation of Manifest V3 ensures users can access the most effective privacy tools available like uBlock Origin and other content-blocking and privacy-preserving extensions. I’m so glad Firefox exists. There simply isn’t any viable alternative to it, and that’s why I’m continuously worried about the continued existence of Mozilla. The story around Manifest V3 is just another example of why Firefox is superior.

Improving Firefox on Windows stability with this one weird trick

The first computer I owned shipped with 128 KiB of RAM and to this day I’m still jarred by the idea that applications can run out of memory given that even 15-year-old machines often shipped with 4 GiB of memory. And yet it’s one of the most common causes of instability experienced by users and in the case of Firefox the biggest source of crashes on Windows. A detailed technical explanation of why Windows’s memory management – and only Windows’s – is causing so many crashes for Firefox, as well as a solution they found to address the problem.

Firefox UI UX history

The history of Firefox UI is important because my project compensates for the shortcomings of this Proton UI and inherits the strengths of the existing Firefox UIs. It’s also one of the ways to prevent divisions in the community, given that there have been forks every time the UI changes big. A detailed timeline of the changes to the user interface of Firefox.

Is Firefox OK?

At the end of 2008, Firefox was flying high. Twenty percent of the 1.5 billion people online were using Mozilla’s browser to navigate the web. In Indonesia, Macedonia, and Slovenia, more than half of everyone going online was using Firefox. “Our market share in the regions above has been growing like crazy,” Ken Kovash, Mozilla’s president at the time, wrote in a blog post. Almost 15 years later, things aren’t so rosy. Across all devices, the browser has slid to less than 4 percent of the market—on mobile it’s a measly half a percent. “Looking back five years and looking at our market share and our own numbers that we publish, there’s no denying the decline,” says Selena Deckelmann, senior vice president of Firefox. Mozilla’s own statistics show a drop of around 30 million monthly active users from the start of 2019 to the start of 2022. “In the last couple years, what we’ve seen is actually a pretty substantial flattening,” Deckelmann adds. The decline and potential demise of Firefox is a massive problem that everybody seems to be kind of tiptoeing around, too afraid to acknowledge that if Firefox were indeed to disappear, we’d be royally screwed. We’d end up right back where we started 20 years ago, with Chrome being the new IE6, but with the big difference that Chrome isn’t bad enough yet for people to care. The situation is especially dire for the Linux world, and I feel like a lot of Linux users, developers, and distribution makers simply aren’t thinking about or preparing for a future where they can’t rely on Firefox anymore. Aside from Firefox, there really isn’t any browser out there that takes Linux seriously, and this is a big problem. Chrome is a disaster on Linux – it doesn’t even do something as basic as video acceleration unless you use one of the third party, custom maintained versions of Chromium, and, of course, it’s a vessel for Google’s advertising business. Things like the Gnome Browser or KDE’s Falkon can barely be taken seriously, and on top of that, are based on Apple’s WebKit, which isn’t a great position to be in either – and that’s it. There’s nothing else. The desktop Linux world is playing with fire by being so reliant on Firefox, and now that Firefox and Mozilla seem to be in some serious dire straits, I’m dumbfounded by the fact nobody seems to be at all preparing for what happens if Mozilla ever truly goes down.

Version 100 in Chrome and Firefox

Chrome and Firefox will reach version 100 in a couple of months. This has the potential to cause breakage on sites that rely on identifying the browser version to perform business logic. This post covers the timeline of events, the strategies that Chrome and Firefox are taking to mitigate the impact, and how you can help. Just skip 9.

Privacy preserving attribution for advertising

Attribution is how advertisers know if their advertising campaigns are working. Attribution generates metrics that allow advertisers to understand how their advertising campaigns are performing. Related measurement techniques also help publishers understand how they are helping advertisers. Though attribution is crucial to advertising, current attribution practices have terrible privacy properties. For the last few months we have been working with a team from Meta (formerly Facebook) on a new proposal that aims to enable conversion measurement – or attribution – for advertising called Interoperable Private Attribution, or IPA. Mozilla working together with Facebook on a privacy feature. How desperate is Mozilla, exactly?

Mozilla has defeated Microsoft’s default browser protections in Windows

In version 91 of Firefox, released on August 10th, Mozilla has reverse engineered the way Microsoft sets Edge as default in Windows 10, and enabled Firefox to quickly make itself the default. Before this change, Firefox users would be sent to the Settings part of Windows 10 to then have to select Firefox as a default browser and ignore Microsoft’s plea to keep Edge. Mozilla’s reverse engineering means you can now set Firefox as the default from within the browser, and it does all the work in the background with no additional prompts. This circumvents Microsoft’s anti-hijacking protections that the company built into Windows 10 to ensure malware couldn’t hijack default apps. Microsoft tells us this is not supported in Windows. Sadly, this does not work on Windows 11, where Microsoft is now forcing users to change the default handler for every individual file type a browser might use.

Progress on the OpenPOWER SpiderMonkey JIT

This may not look like much, but it demonstrates that the current version of the OpenPOWER JavaScript JIT for Firefox can emit machine language instructions correctly (mostly — still more codegen bugs to shake out), handles the instruction cache correctly, handles ABI-compliant calls into the SpiderMonkey VM correctly (the IonMonkey JIT is not ABI-compliant except at those edges), and enters and exits routines without making a mess of the stack. Much of the code originates from TenFourFox’s “IonPower” 32-bit PowerPC JIT, though obviously greatly expanded, and there is still ongoing work to make sure it is properly 64-bit aware and takes advantage of instructions available in later versions of the Power ISA. (No more spills to the stack to convert floating point, for example. Yay for VSX!) Good progress being made on porting Firefox’ JIT to POWER. I’m forced to use Chromium for now, which is unpleasant.

Firefox 89 released with new UI

Say hello to a fresh new Firefox, designed to get you where you want to go even faster. We’ve redesigned and modernized the core experience to be cleaner, more inviting, and easier to use. I was all set to dislike the new design, but honestly, on Linux – both on Gtk+ and KDE desktops, it looks and feels… Nice? I got used to it in an instant, and everything definitely looks cleaner, tighter, and fresher, without really making any massive changes or doing any truly drastic user interface overhauls.

Improving Firefox stability on Linux

Roughly a year ago at Mozilla we started an effort to improve Firefox stability on Linux. This effort quickly became an example of good synergies between FOSS projects. Just a nice feelgood read about collaboration in the open source world – and if you use Firefox on Linux, like I do, this is already benefiting you greatly.

Mozilla plans to remove the Compact Density option from Firefox’s Customize menu

The organization plans to remove the Compact option from the customize menu and migrate users who use Compact to the Normal mode once the change happens. The preference browser.uidensity will remain for the time being, but it is possible that it will get removed at one point in time as well or that the compact mode value won’t change it anymore at the very least. This is a terrible decision. I obviously use the compact layout everywhere, because not only does it look better and use less space, it also doesn’t have that insanely oversized back button. This change makes absolutely no sense to me, and I can’t wait until we get a hack to bring it back.

Porting Firefox to Apple Silicon

The release of Apple Silicon-based Macs at the end of last year generated a flurry of news coverage and some surprises at the machine’s performance. This post details some background information on the experience of porting Firefox to run natively on these CPUs. We’ll start with some background on the Mac transition and give an overview of Firefox internals that needed to know about the new architecture, before moving on to the concept of Universal Binaries. We’ll then explain how DRM/EME works on the new platform, talk about our experience with macOS Big Sur, and discuss various updater problems we had to deal with. We’ll conclude with the release and an overview of various other improvements that are in the pipeline. These kinds of articles are very valuable, since Apple isn’t always forthcoming with documentation of specifications, and the new M1-based Macs are no exception. Big, massive projects like Firefox sharing their experiences can be quite useful to other developers.

Servo project has a new home

The Servo Project is excited to announce that it has found a new home with the Linux Foundation. Servo was incubated inside Mozilla, and served as the proof that important web components such as CSS and rendering could be implemented in Rust, with all its safety, concurrency and speed. Now it’s time for Servo to leave the nest! Code for this independent web engine is out on Github.

Firefox 82 on POWER goes PGO

But let’s not bury the lede here: after several days of screaming, ranting and scaring the cat with various failures, this blog post is finally being typed in a fully profile-guided and link-time optimized Firefox 82 tuned for POWER9 little-endian. Although it multiplies compile time by nearly a factor of 3 and the build process intermittently can consume a terrifying amount of memory, the PGO-LTO build is roughly 25% faster than the LTO-only build, which was already 4% faster than the “baseline” -O3 -mcpu=power9 build. That’s worth an 84-minute coffee break! (-j24 on a dual-8 Talos II , 64GB RAM.) This whole post is a ringing endorsement of Firefox and why the technology landscape – especially the alternative operating systems and hardware platforms landscape – needs Firefox. There really isn’t any other viable option. Chromium? Chromium is open source, but a lot of its important functionality is hidden behind a needlessly complex process of setting up and registering API keys that’s about as intuitive as designing an atomic bomb from scratch on a deserted island. On top of that, Chromium is still a Google project, and as Google’s reluctance to support important features on Linux shows, Chromium is designed for Google’s interests – nobody else’s. WebKit? WebKit requires developers to build an entire web browser around it from scratch. While that can lead to awesome applications, it also means replicating every single bit of functionality users have come to expect from their browsers. Things like bookmark and tab sync, extensions, and so on – all have to be built and maintained form scratch. Firefox is the only complete package someone can port to another platform and end up with a complete browser package. Sure, it’s definitely not an easy undertaking to port a program as complex as Firefox, but in a lot of cases, it’s probably easier than porting WebKit/Blink and building a browser around it from scratch.

Firefox Nightly flips on new JIT “Warp” code for greater JavaScript performance

Warp aims to improve the Firefox JavaScript performance by reducing the amount of internal type information that is tracked along with other optimizations. Warp can lead to greater responsiveness and faster page load speed. Numbers cited by Warm developers are normally in the 5~15% range. As of yesterday, Firefox Nightly now enables Warp by default. The enabling in Firefox Nightly is seeing 20% faster load times for Win64 Google Docs, 13% faster for the Android Reddit SpeedIndex, 18% faster for PDFPaint, and other measurable improvements elsewhere. That’s a big improvement, and sadly, due to the state of the modern web, a very, very welcome one.

Why Did Mozilla Remove XUL Add-ons?

During the past few days, I’ve been chatting with Firefox users, trying to separate fact from rumor regarding the consequences of the August 2020 Mozilla layoffs. One of the topics that came back a few times was the removal of XUL-based add-ons during the move to Firefox Quantum. I was very surprised to see that, years after it happened, some community members still felt hurt by this choice. And then, as someone pointed out on reddit, I realized that we still haven’t taken the time to explain in-depth why we had no choice but to remove XUL-based add-ons. So, if you’re ready for a dive into some of the internals of add-ons and Gecko, I’d like to take this opportunity to try and give you a bit more detail. David Teller’s been at Mozilla for nearly 10 years, so he knows what he’s talking about. A good and detailed explanation of why Mozilla pretty much had no choice.