Thursday, February 28, 2008

Triathlete Meets Computer Scientist

I've said it in the past, but I'll say it again: I love my numbers with running. I like being able to look not only at a specific run, but also long term trends. It's a great way to see what works, and what doesn't. What yields improvement? What causes injury? Am I pushing my limits or stagnating? Looking at the numbers can help training tremendously.

You know the problem with numbers, though? Most people have a hard time visualizing them. Someone might see the numbers, but not be able to see what they mean unless they have a background in math; which most people don't. It's great to be able to see a week, month, or year of training at a quick glance.

Another problem, though, is that it can be a real pain to set it all up. I have an excel spreadsheet I took some time to set up, and it helps me track my training pretty well. I also used Motionbased and Training Center to look at the details of an individual run. But for me, the problem is that I use Linux, and both Motionbased and Training Center only work in Windows (and maybe Mac?). I hate rebooting into Windows.

Time for a solution.

Just recently I decided to start up a personal project. It's huge, and I might be getting in over my head. But by now you probably know I like being in over my head. I like seeing what I'm capable of in all areas, not just in running.

Here's the idea.

I'm planning to write some software to track training across any combination of swimming, biking, and running. With options to see workouts, weeks, months, or years in detail. This is a key idea not just tracking workouts, but also tracking trends. I'm going to do a little research to see what numbers people use to track their progress, and make some useful graphs out of it to gauge progress. The user can look at them or not, the point is they'll have access without needing to a) put together a complicated spreadsheet and b) put all the information in by hand.

Wait. Not put the information in by hand?

Bingo. Thats the crucial part. Just like Training Center and Motionbased talk to your Garmin to get the information, my plan is to talk directly to the Garmin, and pull the information right into the program to save it on your computer. There are some open source projects out there which do exactly that, but they don't have a good graphical interface.

I'm also going to make an attempt to make it cross-platform. If I have that goal from the beginning, and choose the correct methods it may be possible. My main concern is talking to the Garmin regardless of the operating system (i.e. Windows, Linux, Macintosh).

This will combine my passion for training with a lot of topics I've learned in graphics, databases, and perhaps animation once I get the groundwork done.

Here's where you come in. I want ideas. What do you like to track with your training? What features do you think would be nice to have? What WOULD you track if it was easier to do?

This project is as ambitious as some I've done in the past (face recognition, 3d graphics engine, game development), but combines topics from several areas of Computer Science and tie it in with my biggest passion of all. This is just the idea. Hopefully it's doable. Theres only one way to find out, and it'll take time. Expect updates as to my progress.


nwgdc said...

dude, my dork-dar is going off big time right now.

all kidding aside, it would be oool if HR training could be integrated along with elevation change and pace, so that you can see what parts of your runs or at what changes in elevation you hit different zones. i'm always wondering about that.

it sounds like this project could get pretty big, so be sure to TiVo Battlestar Galactica.

Dave - Atlanta Trails said...

You have spoken to the nerd in me.

Keep us updated!

Jess said...

NWGDC's first sentence said exactly what I was gonna say. Plus, his line cracked me up.

Basically, what I'm sayin is: just re-read his comment to get the gist of mine.

Steve Stenzel said...

Wow, I have no ideas. I'm a paper-and-pencil boy when it comes to tracking my workouts. Good luck with the geeky stuff!!

Marcy said...

"Someone might see the numbers, but not be able to see what they mean unless they have a background in math; which most people don't."

Ohhh no homie, I don't need a background in math, remember? I'm Asian. ROFLMAO! Ohh what a horrible thing to say :P

nwgdc said...

HA! Marcy! It's a good thing she does most of her biking on a trainer, because she's probably a bad driver too.

Bill Carter said...

Hi Doug

You have just spoken to my inner dork. I love numbers probably as much as you, and can't wait to see what you come up with. BTW, I have to wait 2 months for the Garmin as my wife is getting it for me for my 40th birthday. She gave me a not so subtle (Ok she punched me in the ribs) hint that I should not buy it myself. Best of luck with this project and you better keep up the training... when you come to Michigan we are going to tear it up. Last time we ran, I did a hard 14 miler the day before and you took it to me a bit.. this time I will be rested and ready Mr Tri Guy.

Good vibes coming at you from snowy Michigan.

Good luck in your race!

Dave - Atlanta Trails said...

Try these two sites to find trails:


You might be surprised with what you find. I'm still discovering new ones all the time.

Run For Life said...

For ideas, graphs help me the most with determining what's working or not. A feature I think that would be cool for the running aspect is tracking how many miles you've put on a certain pair of runners. I am so bad about tracking that on the insoles. :P

Talk about a massive undertaking. It's a good thing you enjoy the programming, lol. It sounds like it'll be fantastic when it's completed.