Well, I’d not call it a Mashup - it’s actually backed by a custom database, a Xapian index for full text search and so on. To me, a true mashup would work without own server side code.

Anyway, what it does is this:

  • It gathers data from two dozen Google Calendars for the next few weeks
  • Geocodes them and does full-text indexing (including the Geo information, so you can search for that, too.)
  • Applies some magic formatting to the calendar data (making links clickable, allowing some basic styling)*
  • Pushes them as KML feed to a Google Maps application
  • Markers on the map are aggregated and “clustered” (which is a simple proximity merging, which I wouldn’t call clustering)
  • The map is pre-centered and panned using Google geo-location information on the visitor to show the best region with hits. So if you are in a city I have data for, it show you your city. If you are in the US, it should try the whole US next, then fall back to the whole world.

It’s using the Maps V3 API, currently in public testing, which seems to give quite some extra speed compared to earlier versions. I’ve also added two extra controls, a search box at the top center, and a “Go to” menu on the left, which uses the visitor position from Google.

The data is coming from swing dancing calendars, so it’s real world data, and you should get different results every day. Most of the data is from Germany, so that is where you can see the marker aggregation and these things in effect.

Here’s the prototype.

There is still lots of things to do, but this is just my free time project, when I’m not at work, dancing or with my friends.

  • Timezones need to be handled right. So I don’t give you any guarantee that any event has the correct time shown. I believe it only works right for events in CET and visitors in CET right now. It’s okay: I havn’t though of how to handle time zone differences yet, and the JavaScript Date API is worthless anyway, so that requires quite some effort.
  • Events in info windows aren’t sorted by time yet
  • Info window UI is bad, need to do pages there
  • There is no way of choosing a different time query window except the next week. The backend does this already, it’s just not in the UI.
  • There is no “temporal navigation” tool
  • No list view (well, actually there is one, but that is the old version)

I don’t know yet if this will remain online, it’s more of a toy project for me. Still it’s cool to see where there are swing dancing events, and it’s cool to be able to just zoom to another city and see where you could “hop by” for a dancing event while you’re there. But there are just a lot of UI issues to solve to get this really usable, and I’m not much of an UI guy…

P.S. if it doesn’t work, that probably means I’m currently working on it. There is no staging, and no “production system”.