3 ms·
Some info about it: * Like Firefox, it is open source! http://github.com/potch/glow http://github.com/potch/glow * Counter was started this morning at 6am PST
by gkoberger 16y ago
Some info about it:
* Like Firefox, it is open source! http://github.com/potch/glow http://github.com/potch/glow
* Counter was started this morning at 6am PST.
* Each dot represents one download.
* Map is generated using SVG, "pings" are divs with rounded corners, country radial charts are canvas.
* The bars across the bottom shows downloads per minute.
* You can drill down to the city level, to see how many downloads from your town. (Click the bottom left circle graph)
* Created by Matthew Claypotch (http://potch.me http://potch.me) and Jeff Balogh (http://jbalogh.me http://jbalogh.me) on the Mozilla Web Dev team.
[edit: added open source information]
- jedsmith 16y agoPretty good GeoIP, it seems; do you know where the GeoIP data comes from?
- DEinspanjer 16y agohttp://www.maxmind.com/app/ip-location http://www.maxmind.com/app/ip-location We perform the lookup using the binary database and the Java client directly off of the web request and only store the location in HBase so we don't keep the IP around in a database.
- jbalogh 16y agoThe geo data comes from MaxMind. They give us latitude/longitude and country:region:city info.
- ajays 16y ago> Map is generated using SVG I thought the map was a static PNG image: http://glow.mozilla.org/maps/world_4.png http://glow.mozilla.org/maps/world_4.png Edit: I stand corrected. I missed this call: http://glow.mozilla.org/maps/world_4.svg http://glow.mozilla.org/maps/world_4.svg
- gkoberger 16y agoDepends on your browser. If it supports inline SVG, you should see an SVG map. http://grab.by/9C5w http://grab.by/9C5w
- teoruiz 16y agoAre you thinking on open sourcing it?
- gkoberger 16y agoAlready done! We open source everything we do. http://github.com/potch/glow http://github.com/potch/glow
- dochtman 16y agoDoes it just do long-polling to receive the data? This seems another app where enabled WebSockets support would have been nice.
- mikepurvis 16y agoSimpler than that: It just displays the data in 60-second chunks, delayed by sixty seconds. Here's one of the blocks: http://glow.mozilla.org/data/json/2011/03/22/16/51/map.json http://glow.mozilla.org/data/json/2011/03/22/16/51/map.json This would actually be an excellent opportunity for http streaming (ie, the forever frame), too. Long polling is great when you're waiting for a singular event, but not so much when it's ongoing data being pushed down.
- DEinspanjer 16y agoNope, it is not a push data service. New data files are generated every minute and available to the client to pull down. While it is possible to set up WebSockets or something similar to do a truly fancy data flow, we preferred to spend our bandwidth resources on making Firefox 4 available for people to download. ;)
- gluegadget 16y agoWondering where did you get that map. Caspian sea is missing.
- fluidcruft 16y agoAlso missing the Great Lakes in North America.
- khafra 16y agoAlso, there's a ton of downloads coming from a point in Northeast Siberia where, as far as I can tell on Google Maps, there isn't so much as a log cabin. Mapping anomaly, or giant, secret military base?
- jbalogh 16y agoThe svg was generated from the shapefiles here: https://github.com/potch/glow/tree/master/shapefile https://github.com/potch/glow/tree/master/shapefile. I need to ask potch where the shapefiles come from. Inner regions like lakes weren't included since they would complicate the svg without a lot of benefit.
- potch 16y agoThe map was generated using continent-level shapefiles (I believe from here: http://pubs.usgs.gov/of/2006/1187/basemaps/continents/ http://pubs.usgs.gov/of/2006/1187/basemaps/continents/). We stuck with continent-level outlines because adding country boundaries would have needlessly complicated the SVG, and borders can sometimes be disputed and controversial things :) It would have been nice to have the great lakes and caspian sea, because they're such large features but with a team of two webdevs, some things have to wait until version 2.
- gkoberger 16y agoWhoops, I was wrong about the pings. It now uses canvas, not <div>s. For a while it was using a bunch of <div>s for performance reasons, but now it's using all canvas.
- sambeau 16y agoWas it inspired by the original Zeus Global Load Balancer UI? (seen top-right here http://www.zeus.com/products/global-load-balancer/index.html http://www.zeus.com/products/global-load-balancer/index.html)
- jbalogh 16y agoI've probably seen that picture before, but it wasn't a direct inspiration. We had a map like this for Firefox 3.6, so glow is a mix of that plus a little WarGames and Tron.
- sambeau 16y agoI only mentioned it because I thought you guys were using Zeus's Global Loadbalancers to distribute the load around the world. (Oh, and because I designed and built the original web-frontend for Zeus with little-lights-blinking-on-the-james-bond-baddy styled map).
- DEinspanjer 16y agoWe do use Zeus LBs. I am happy to report that one of the cogs that made this machine work much easier was the fact that we could have our zeus clusters send out remote syslog events for the site traffic in addition to the normal log files. That made it easy for us to use rsyslog to filter the data and aggregate it to be consumed by the app.