Smart Trax

It seems I’m obsessed with finding new applications for GPS data.  The latest is an idea called Smart Trax: a hypothetical social application for discovering and sharing cycle routes. Imagine if you could upload a route (recorded via GPS), and find “similar” routes.  These similar routes can then be compared to your own.  It turns out there are a number of applications for this. Operation Duck Pond It’s the weekend, you’re a keen cyclist, and your bike is getting lonely.  You draw back the curtains, and see only blue sky and sunshine.  Ignoring the washing up, you fill up a water bottle and jump onto the saddle. But where to go?  Well, there was that circular route on quiet roads around the Thames Valley, published in Cycling Plus a few months back.  You feel fairly confident you can remember the route, and are too impatient to dig out the magazine. Never mind, it’ll be OK.  Just one last thing: you grab your iPhone, fire up a GPS app and press Record.  Stick it in your pocket and off you go. As you pass the pretty duck pond in Barnes though, it all goes wrong.  Taking a wrong turning, you find yourself on a hectic A Road, dodging juggernauts and choking on exhaust fumes.  Eventually, tapping into ancient wisdom, you sniff the air and somehow find your way back onto the planned route. When you arrive home, invigorated and exhausted, you wonder how you got so lost.  So you upload your route data from your iPhone to the “Smart Trax” website.  The website searches through its history of routes uploaded by other users, and finds the closest matches.  Fortunately for you, there will be many matches because the route is a well-known one (published in a major magazine). You see a map of your route appear on the screen.  A red dot appears at the start position (that’s you).  Other dots of different colours appear alongside yours (that’s the others who took the same route).  You then “play back” the route, watching the different dots progress in their different ways.  As your red dot approaches the duck pond in Barnes, it makes the fatal decision of going straight ahead, while all the other dots turn left.  That’s where you went wrong. Racing Dots As well as the described scenario, Smart Trax has competitive, ‘gaming’ applications, for example racing against other cyclists over the same route at different times.  For example, many competitive cyclists compare lap times of Richmond Park.  It would be interesting to overlay a number of cyclists on the same map, and watch them race side-by-side at a later time, even though they showed up on different days. Commuters could find value in Smart Trax, too.  If you cycle from Hammersmith to Baker Street, you might think you have to slog through Oxford Street traffic.  No matter, there are many others on Smart Trax who took routes with similar start and end points, but were more prudent by cutting through side-streets.  These will show up when you look for similar routes.  The alternative routes would appear as differently-coloured paths. Long-distance tourers and charity riders would benefit too.  Cyclists who are considering the “Lands End to John O’Groats” challenge might like to see real routes side-by-side, perhaps looking for the fastest, most scenic or shortest route.  Smart Trax would automatically detect LeJOG routes and group them together, because they’re all similar on a large scale. Challenges There are several technical challenges with this idea: - Algorithms to find closest matches.  It would be necessary to smooth the (sometimes erratic) GPS samples, and allow fuzzy-matching because relatively small deviations shouldn’t matter.  It should also be possible to scan for incomplete matches on routes.  For example, I might join a typical route half-way along, but I still want to know how my shorter route compared with others who did the whole hog. - Interface design.  The obvious choice would be to use public APIs and toolkits such as Google Maps.  But this might not provide the flexibility required for features such as “racing dots”.  So, a starting point would simply be paths traced over an opaque background, with pixels mapped to GPS co-ordinates.  A map or satellite background could be added later on. Personally, I might kick this idea off by comparing my daily commutes side-by-side.  It would be interesting to see one “dot” surge forward ahead of the others and wonder “what happened on that day?”  Perhaps the system would detect a particularly interesting “dot” and highlight it with annotations created at the time of upload, such as “mighty tailwind”, or “took the scooter for a change”.