Take the 2-minute tour ×
Stack Apps is a question and answer site for apps, scripts, and development with the Stack Exchange API. It's 100% free, no registration required.

Screenshot / Code Snippet

alt text

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

Adam Patridge

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

Projects Used

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.
share|improve this question
1  
+1 for being featured in the screenshot ;) –  agent86 Jan 9 '12 at 19:10
    
This looks really cool. Err, sounds really cool...I just get a bunch of 403s when I start polling a site. –  Rebecca Chernoff Jan 10 '12 at 1:15
    
Looks like I maxed out my geocoding quota on Google Maps. I'm not sure how to go about fixing that yet, but I will definitely need to look into it. –  patridge Jan 10 '12 at 1:44
    
@agent86 I hoped you wouldn't mind. I chose that question because I had that issue while developing this app. –  patridge Jan 10 '12 at 4:53
    
@Rebecca In case you hadn't seen it since, it is fully functional now. While it still has some 403s from the Google Maps API (I must have made them very angry), they don't affect the interactions. –  patridge Jan 11 '12 at 13:56
    
Awesome app! btw where did you get the geo data from? I cannot see any ip-related information on the official soapi? –  matcheek Mar 2 '12 at 12:53
    
@matcheek All the geocoding is done with Google Maps API, but I proxy it through a server-side DB cache since the app was hammering Google directly for every person for a very limited number of unique user locations. After running for most of three months, there are only 790 entries in said cache (oddly, only 18 entries that didn't geocode). –  patridge Mar 9 '12 at 19:16
    
404 Not Found, what happened? –  systempuntoout Apr 27 '12 at 22:00
    
@systempuntoout When AppHarbor started charging for using a custom hostname, the domain stopped resolving. I hadn't been back here in a while, but it has been forwarding correctly for a while now. –  patridge May 26 '12 at 15:37
    
AWESOME APP!!!! I logged into stackapps.com, just to say "WELL DONE"! –  Pavan Manjunath Jun 7 '12 at 12:41
    
That site is down :( –  rekire Apr 26 '13 at 20:13
    
It's been located at stackgeography.apphb.com for a while now. There were a few links in there that worked, but I hadn't updated them all. When the custom domain came up for renewal, I let it go. –  patridge Apr 28 '13 at 20:21

3 Answers 3

The map repeats itself. Additionally, when selecting a post, the second incarnation of the icon gets the tool tip like box, not the one I clicked.

enter image description here

share|improve this answer
    
Thanks for the feedback. The repeat was by design, since I couldn't guarantee where the viewer would be located. I didn't want to pin someone into a corner of a continent-centric layout. Unfortunately, this caused that marker issue to arise that you noticed. If two flags for the same item are visible, Google Maps highlights one of them regardless of which one is actually clicked. I haven't nailed down if this is something I am doing, but I am suspecting the Google Maps system does this by default. –  patridge Jul 31 '12 at 15:40
    
Why not just show the whole world at max? –  soandos Jul 31 '12 at 15:52

This is excellent.

If I could make one suggestion, it would be great if you could set a cookie and keep my polling option (which site I want to poll) and maybe just give me a list to refresh and show the dialog again.

I often check the site, find an interesting question which takes me to stack overflow. When I come back, I have to select my polling option again.

Thanks.

share|improve this answer
    
I definitely have that planned for where there are far more preferences to be set. Until I get the chance to really incorporate savings of preferences, I did a stripped-down version. While it doesn't assume you want to start polling, it does save/load your chosen site from localStorage when it is available in the viewing browser. After you have a setting saved, it should auto-select; just wait for the selection window to pop and smash the enter key to start polling. –  patridge Feb 13 '12 at 3:38
    
In case you check it out again, I added multiple-site polling. All selected sites from the list of checkboxes (vs. the old radio buttons) is still a saved preference. –  patridge Feb 27 '12 at 19:44

The scrollbar in the "pick a site" dialog isn't visible in Mac OS X Lion while scrolling (usually it appears only when scrolling, but here it doesn't).

screenshot

Besides that, it's very cool!

share|improve this answer
    
Thanks for letting me know. I'll definitely look into a way to fix that. That is a fairly standard jQuery UI dialog box, so I hope tracking down a solution will be easy. Unfortunately, I only tested on Snow Leopard (no Lion yet) and Windows 7. It is weird that it worked fine on Safari for both of those, though. –  patridge Jan 9 '12 at 14:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .