The latest version of Firefox is a huge milestone for Mozilla and represents the combined efforts of hundreds of people from around the world. To celebrate this launch we revisited Glow, a real-time visualization of Firefox downloads originally used during the launch of Firefox 4 in 2011.
This time we wanted to do more than just show downloads. We wanted to give people a chance to express what they want the Web to be. To this end, users visiting https://webwewant.mozilla.org/ have the option to share with Mozilla and the world their hopes for the Web. These “shares” are displayed on the map and we display information about which issues are most important in each continent and country.
The dots on the map represents people: either someone downloading Firefox or sharing the Web they want. For me, watching the map is both humbling and inspiring. When people use Firefox— a free and open source browser made by an amazing community— and choose to share with the world what matters to them, it shows a global commitment to the future of the Web.
Technical Details
How do we process millions of interactions and display them?
The site processes request logs for Firefox downloads, auto-updates, and users who share via the website. We perform geolocation lookups on the data and aggregate the information for consumption and display by the Web application.
We have a particular love of the Simpsons on our team and elements of our project are named appropriately:
- Mr. Burns – The overall codebase.
- Smithers – The “servant” scripts who provide data to Mr. Burns.
Mr. Burns relies on three main scripts to display data:
- Bart – Parses log files looking for Firefox downloads or auto-updates.
- Lisa – Geolocates parsed data and aggregates into buckets.
- Milhouse – Packages data into JSON for consumption by the front-end.
The flow of data can be seen in this diagram:
Data is stored in Redis and the JSON files are delivered to the front end application via CDN. The front end app renders the individual “glows” and the stats using D3.js.
To learn more visit our Wiki and explore the code on Github.
Special Thanks
This was a large project with many participants, all of whom deserve thanks. I would like to thank a few people who worked especially hard:
Eric Petitt – Project Sponsor
Paul McLanahan – Senior Developer
Steven Garrity – Senior Developer
Ali Almossawi – Metrics Engineer
John Slater – Creative Director
Sean Martell – Art Director
Matej Novak – Copy Director
The Localization Team & Contributors
And you! Without you the world would have no Glow.
Dev Perera wrote on :
Muragesh wrote on :
jef nicol wrote on :
Kislay Prajapati wrote on :
Najath wrote on :
D howorth wrote on :
CRIMSON wrote on :
Ansateza wrote on :
V wrote on :
anon wrote on :
Gireesan Pullat wrote on :
Gireesan Pullat wrote on :
Fabiola wrote on :
THEAFRICANS wrote on :
salclem2 wrote on :
Sandeep wrote on :
Zerkoto wrote on :
eko billboy wrote on :
Sajjad wrote on :
Peberdah wrote on :
Vahid Mirzaei wrote on :
angona wrote on :
Caleb H wrote on :
Bernd vom Brocke wrote on :
Love Open Source wrote on :
Paul Batt wrote on :
TheMan wrote on :
tourpulauseribu wrote on :
asghar wrote on :
steven kyalo wambua wrote on :
AnnMarie horton wrote on :
Belete getachew wrote on :
Aliakbar Akbar wrote on :
glpablo wrote on :
Trucker Jim wrote on :
William wrote on :
YveZ wrote on :
Michael wrote on :
Veereshgouda wrote on :
Veereshgouda wrote on :
Desain Rumah Minimalis Modern wrote on :
The fox wrote on :
here i am wrote on :
Diego wrote on :
Nicky wrote on :
Fabrizio wrote on :
Patrick CHAUVIN wrote on :