Thursday, October 9, 2008

Mindrift (IPA: /maɪn'drɪft/)

I own a Garmin Forerunner 305 and I use it for both biking and running. Being able to save the data and see trends in my exercising is a neat feature, so that's why I started getting involved with the pytrainer project. Unfortunately I've been busy with a few other things, but soon I'm going to get back into hacking it.

Something that happens to me while running or biking is that my mind tends to drift. I doubt that I'm unique in this regard, but what I really like about those mindrifts is that I can sometimes see things from a strange angle or maybe find insight into a problem that I'm working on. This time I came up with another social web idea.

The train of thought went something like this. First I was wondering what the math is behind calculating distance between two lattitude and longitude points. Since Earth is not really a sphere, distance isn't just an arc along the surface. Assuming we all hover at some altitude and aren't affected by traveling over hills and valleys (another interesting facet when considering distance accuracy) the arc that you do travel on can be much more elliptical, or much less elliptical, depending on direction and lattitude.

But this drift led to a more interesting question. How hard is it to calculate the sameness of two routes, or just two collections of points? If you run the same route every day, each route is unlikely to be exactly the same collection of points, but they are going to be very close each time, perhaps within 50-100 ft. So if you have two lists of points, you could make some determination as to how far each is from each other and then score the groups. I think for the sake of computational complexity, it's worth it to cut down the work to comparing the nearest and the furthest, say, with some kind of weighting that pushes far routes away from each other, and brings nearer ones closer.

Why is this interesting? I tend to run or bike by myself. It's not because I'm being antisocial; it's because I just don't really know of anyone who also runs in my neighborhood (running outside is out of style, you obviously need a treadmill) and I tend to have weird schedules. But if it was easy to load the data points from my Garmin into a database, and ask the database who runs near my routes, I would definitely try to get in contact with those people and see if we couldn't start up some kind of routine. You could even ask for people who run near you and run at similar times of day.

As long as you can stop any evil stalkers from poaching the routes of potential victims, I think this would be a great site to have and would help build on exisiting bicycle and running communities.

0 comments: