Lots.
The latest version of the Migration Route tool is now available. While I can't give out usernames / passwords, you can browse a few routes that have been submitted already. (Make sure to have cookies enabled.) Development is largely complete though there are still some tweaks and improvements that need to be made.
To get this working:
I had to work through the usual laundry list of web technologies; HTML, CSS, Javascript, PHP, XML, AJAX and SQL. Some of these such as HTML and SQL were familiar to me but the others required some time to get acquainted.
Cambridge Flocks is a fairly simple Google Maps mashup. It takes a user's location, then uses the Google geocoding service to get a latitude, longitude pair. Each location is drawn to the map. When a user's route is complete, it's submitted to the backend database. That's the front end.
The route browser shows a couple of routes provided by individuals who shall remain nameless (thought they have my gratitude.) All the submitted routes for a given "class" will show up. To make browsing easier, each route can be turned on or off. I hope the color contrast is enough to make each route easy to pick out.
The color of each route was a puzzle that gave me pause. I wondered how you would get colors to deterministically iterate. Manipulating the raw hex values as a string seemed really annoying; requiring huge strings of if-then-else branches. Ick. Working with them as hex values didn't seem all that easy either. Then I remember that hex values translate pretty well to base-10 and that base-10 was easy. The code looks like this:
var color = 3355443;
//for loop starts here.
strokeColor: '#' + color.toString(16),
strokeOpacity: 1.0,
strokeWeight: 2,
map: map,
path: locationList
};
color += 102;
routePaths[id] = new google.maps.Polyline(routeOptions[id]);
//for loop ends here.
The .toString() function came in really handy by allowing to specify hexidecimal output.
So there's more work to do but I'm fairly happy with what's here so far.