Screenshot / Code Snippet
(source: apphb.com)
About
Ever wanted to see just what kind of locations are posting to the various Stack Exchange sites at any given time? Even if you haven't, you'll find it with StackGeography.
NEW! Now with multiple-site concurrent polling goodness!
This site started with a desire to get a visual sense of the wide-spread use of the various Stack Exchange sites while simultaneously creating a proof-of-concept mapping demo. This met both of those needs, and provided a great chance to poke around various JavaScript libraries.
License
MIT License
Download
No download necessary, just visit stackgeography.apphb.com.
NOTE: With AppHarbor phasing out free custom domains at the end of the month, if www.stackgeography.com stops resolving correctly, you should be able to get there with the direct AppHarbor domain: stackgeography.apphb.com.
Platform
Should work on any modern web browsers with JavaScript enabled. While it works fine on desktop browsers, it has a few UI tweaks to go to be more mobile-browser friendly.
Contact
Bugs and requests and such can go on the StackGeography GitHub repository.
Code
Stackgeography.apphb.com was written entirely in JavaScript, HTML, and CSS. The code can be found, and contributions made, at the StackGeography GitHub repository.
APIs Used
- Stack Exchange API v2.0
- Google Maps v3 (used for geocoding and mapping)
Projects Used
- jQuery v1.7.1 (MIT or GPL) (used for just about everything)
- jQuery UI v1.8.16 (MIT or GPL) (used for the site selection dialog)
- jsrender v1.0pre (MIT) (used to render out a number of things from JavaScript objects to HTML)
- LINQ to JavaScript (JSLINQ) v2.10 (Ms-RL) (used for collection manipulations)
- URI.js (MIT or GPL) (used to simplify URL handling)
- jquery-jsonp (MIT) (better JSONP error handling, though $.Deferred support isn't built-in)
- jquery.hotkeys (MIT or GPL) (hit "?" for keyboard shortcut dialog)
- geoPlugin (geo IP lookup used for map centering)
UPDATES
2012-02-24
- Ability to poll meta Stack Exchange sites, defaults to omit to keep site list shorter (toggle via saved option).
- Marker placement can be staggered via saved option.
- Clear map markers via #.
2012-02-23
- Polling multiple sites concurrently! The UI still needs work, but if you return to site selection by pressing S, you can keep adding sites to poll.
- Polling management: hit P to view pending polls and cancel some/all of them.
- Options management: hit O to view/set options (more options to come).
- Using localStore for StackGeography options (currently only saving last selected site and maximum map markers).
2012-01-19
- Mark questions with site-specific map markers.
- Options window:
- Toggle site-based map markers vs. generic stackgeography.com map marker.
- Change max number of markers shown (default 500).
2012-01-18
- Switched to ASP.NET MVC to make it easier to output-cache common API hits on the server.
2012-01-16
- Added location geocoding in batches (up to 100).
2012-01-13
- Added filters to the Stack Exchange API calls to cut down on JSON coming back from those requests.
- Switched to SQL Server on AppHarbor to avoid locking issues on geocode cache inserts.
- Added keyboard shortcuts (? brings up hint window).
2009-01-09
- Google Maps 403 issue patched with server-side caching proxy for geocoding API requests.