Add-on recommendations for Firefox users: a prototype recommender system leveraging existing data sources

By: Alessio Placitelli, Ben Miroglio, Jason Thomas, Shell Escalante and Martin Lopatka. With special recognition of the development efforts of Roberto Vitillo who kickstarted this project, Mauro Doglio for massive contributions to the code base during his time at Mozilla, Florian Hartmann, who contributed efforts towards prototyping the ensemble linear combiner, Stuart Colville for coordinating integration with AMO. Last, but not least, to Anthony Miyaguchi who helped shaping the current code thanks to his reviewing efforts....

December 8, 2017 · 12 min · Alessio Placitelli

Recording Telemetry scalars from add-ons

The Go Faster initiative is important as it enables us to ship code faster, using special add-ons, without being strictly tied to the Firefox train schedule. As Georg Fritzsche pointed out in his article, we have two options for instrumenting these add-ons: having probe definitions ride the trains (waiting a few weeks!) or implementing and sending a new custom ping (doing some pipeline work!). Both solutions are not very appealing when shipping code faster....

October 6, 2017 · 3 min · Alessio Placitelli

Getting Firefox data faster: introducing the `new-profile` ping

Let me state this clearly, again: data latency sucks. This is especially true when working on Firefox: a nicely crafted piece of software that ships worldwide to many people. When something affects the experience of our users we need to know and react fast. The story so far… We started improving the latency of the data coming from Firefox, in the previous quarters, and got to the point where the majority of pings reach our servers within 1 hour, instead of days (latest Beta only): there’s an extremely satisfying plot by :chutten about that!...

July 14, 2017 · 3 min · Alessio Placitelli

Getting Firefox data faster: the shutdown pingsender

The data our Firefox users share with us is the key to identify and fix performance issues that lead to a poor browsing experience. Collecting it is not enough if we don’t manage to receive the data in an acceptable time-frame. My esteemed colleague Chris already wrote about this a couple of times: data latency sucks. But we can fix that. Why is there latency, anyway? The bulk of measurements we collect (histograms, scalars, events, …) are sent through the main-ping....

June 23, 2017 · 3 min · Alessio Placitelli

How We Built It: The First Ever Firefox Hardware Report

By Alessio Placitelli, Ali Almossawi, and Rebecca Weiss Cross-posted from Medium We have just released the Firefox Hardware Report, a report of the hardware used by the Firefox release user base. You can read the announcement here. The Firefox team believes that this report will be very valuable to developers, particularly those who build for the web. Web developers need to know what platforms and hardware are being used to inform their decisions when they are building and upgrading applications....

December 20, 2016 · 6 min · Alessio Placitelli

Build Firefox for Android on Ubuntu and test it on Windows!

Sadly, right now (and until bug 1169873 is fixed), it’s not possible to build Firefox for Android on Windows. That’s not nice, especially if you need to track down some Android-only failures triggered by your code 🙂 Until recently I was able to run my Android Virtual Device within my Ubuntu Virtual Machine (yeah, tricky). Then something broke in OracleVM (ticket 12941), preventing me from starting the Android emulator. Here comes the good news: there’s a way to spawn an Android emulator on Windows, build Firefox for Android on a VM and then run it....

December 31, 2015 · 2 min · Alessio Placitelli

Visual Studio project generation for Mozilla Firefox

Recently, the Mozilla Firefox build interface, aka mach, was enhanced with a great feature for Windows developers: the ability to generate Visual Studio project files. Such project files are not maintained in mozilla-central, hence the need for a way to generate them. Thanks to the awesome work done by Gregory Szorc, generating project files using mach is as simple as issuing the following command: [bash] ./mach build-backend backend=VisualStudio [/bash] The solution file will be available in your object directory, under the msvc folder (i....

March 22, 2014 · 1 min · Alessio Placitelli