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.
Kyo wrote on :
Husnain Shaikh wrote on :
Adam Suchi Hafizullah wrote on :
Fathur wrote on :
Fco.Carlos wrote on :
Timothy Su wrote on :
M. Hesel wrote on :
R S GURU wrote on :
Cody Poletti wrote on :
shimaoh wrote on :
Conqueror wrote on :
Aman Nougrahiya wrote on :
Shiva wrote on :
robert paz wrote on :
ED wrote on :
RockerJoe wrote on :
Science Teacher wrote on :
mojo706 wrote on :
Giordano Sconti wrote on :
Jesús Famiglietti wrote on :
Gavin Matthew wrote on :
Liz wrote on :
Matt. Wilkie wrote on :
Fabio wrote on :
Dr Gautam Kaul wrote on :
Freddy wrote on :
JAYASANKAR NILAGIRI wrote on :
TarisMan Kasis wrote on :
Rafael Lobato wrote on :
Uttam wrote on :
Harley Alderson wrote on :
Jason wrote on :
ytzak mark wrote on :
THOR wrote on :
Hossein Rad wrote on :
MaggieP wrote on :
James wrote on :
Gopi wrote on :
lalo lolez wrote on :
william pilon wrote on :
Lipittoo wrote on :
Jerry wrote on :
Bob Clark wrote on :
Davis wrote on :
The_User wrote on :
fidel kastor wrote on :
Tony.W wrote on :
ALEXI DIAZ wrote on :
Ant wrote on :
Emilio. T wrote on :