Skip to content

Category Archives: Mozilla

Telemetry Results for Add-on Compatibility Check

Earlier this year (in Firefox 32), we landed a fix for bug 760356, to reduce how often we delay starting up the browser in order to check whether all your add-ons are compatible. We landed the related bug 1010449 in Firefox 31 to gather telemetry about the compatibility check, so that we could to before/after […]

How many Firefox extensions do people use?

I found myself wondering what a “normal” number of XPI extensions is, and since I was working on some other analysis runs on the Mozilla Telemetry database, I took the time to run a count across one day’s data (May 29 2014). Without much further ado, here’s the median and higher percentiles of the number […]

A Mixed Bag of Telemetry

There were a few open questions, and follow ups on previous work, that I wanted to look at in Mozilla’s Telemetry database (, though that page is out of date). Add-on Compatibility Check For Bug 772484, we wanted to know how often browser start up is blocked by the add-on compatibility check. Fortunately there is a […]

Add-on compatibility checks and new Firefox versions

I’ve been working on Bug 772484 – “extension check dialog is annoying and can effectively hang the Firefox process”, and Vladan suggested I post an outline of the issues and proposed changes. The underlying problem is that when you start up an updated version of Firefox for the first time, we want to make sure that […]

Add-on Manager JSON databases landed!

Felipe landed the Addon Repository (Bug 853389) changes on Aug 1, so they rode the uplift train and are currently in Firefox Aurora (25). My changes for the XPI Provider (Bug 853388), aside from the Telemetry measurements, landed on Sunday (Aug 11) and are in the latest nightly (Firefox 26). I still need to make some changes […]

Add-on Manager progress: Almost done!

Felipe has a full suite of r+ for his work on AddonRepository.jsm in Bug 853389, and I’m in the middle of handling review comments for the XPI Database changes in Bug 853388. I need to update based on the review comments, implement asynchronous loading of the JSON database, and add some telemetry so we can track performance […]

Saving browser state asynchronously

As part of switching the Firefox extensions databases from sqlite to a flat file containing JSON, we want to build a module that flushes the in-memory state of the data out to disk after it changes, in a way that doesn’t hang the main thread waiting for the I/O to complete. Felipe did an initial […]

Add-On Manager Progress

It’s been a month since Felipe and I started coding on the add-on manager conversion, and we’ve made quite a bit of progress. The core code for both modules has been converted to load and save in JSON format; we’re now cleaning up corner cases like upgrading from previous database formats. By far the biggest […]

Speeding up the Add-On Manager

One of the focuses of the performance team this year is to improve start-up time for the browser. We’ve identified that the Add-on Manager has several issues that can delay start up, and can also cause brief user interface hangs (“jank”) during normal operation. This Bugzilla search shows what we’re tracking right now. After investigating […]

Waking Up

It’s been a long time since I’ve posted anything here. In the mean time I’ve moved jobs to Mozilla, originally working on the Thunderbird email client and more recently on the Firefox performance team, known as “Snappy”. I’ll be trying out using this space to kick around ideas related to the specific portions of Firefox […]