Wednesday, July 28, 2010

Are graphs really that hard?

I don't understand how both Nike and Garmin Connect can get their running pace graphs so wrong. Both the Nike+iPod and GPS data are noisy. Nike just picks random points along your run, while Garmin seems to have chosen to just show all the noise. The first option is incorrect, and the second isn't all that useful.

Since I've switched to using the Garmin 405 and the Garmin Connect site, I've found a way to see how each of the three sites I've mentioned plot the same run data. This is made possible by this fantastic site that can convert and upload a Garmin run to the Nike Running site. Then, slowgeek.com pulls the data from Nike and generates its own graphs. So lets take a look at today's sloppy attempt at a heart rate fartlek using the graphs for all three.

Nike+iPod

First, lets look at the Nike graphs. The thing to note for these two graphs is that they are the same run. The exact same data. The only thing that differs is that one view is in kilometers and one is in miles.




How is it that these graphs are the same run? These images underscore just how broken the Nike graphs are. It seems they pick a regular interval out of their noisy data, and plot them as if they were real. When you change the settings from kilometers to miles it picks new points, in different sections, and plots those. There is no rounding or cleaning up the noise in the data, which is crazy considering what the raw data looks like.

Garmin Connect


The Garmin site takes a different approach. As near as I can tell they don't interpret the data, but try to plot all of the raw data. Here is the same run as Garmin presents it.


This is starting to look a little more like my run, and I'm sure this is an accurate representation of the raw data coming off the watch. You can see what was going on, somewhat. The first and last kilometer or so of this run include some messy data. I start from the middle of downtown Vancouver, right in the middle of tall buildings, so the GPS signal is all over the place for a bit. But then you see some somewhat regular alternations of pace. My goal for this run was to alternate running hard until my heart rate hit 160bpm, slack off until it dropped to 140bpm, and then crank it back up. You can see that. Somewhat.

Slowgeek

 The Slowgeek site presents a very different looking graph.


Now this is how my run felt. After the initial static of running in tall buildings (I assure you I did not run at 3min/kilometer at any point) it looks exactly like it felt. I alternate between running hard and backing off, until I get dog tired and everything falls apart at the end. Now that was my run. How much was that my run? Compare it to my heart rate graph from the Garmin site.

Look at the resemblance between the Slowgeek pace graph and the Garmin heart rate data. Uncanny. The Slowgeek representation of pace perfectly matches the effort exerted based on heart rate. It isn't that the Garmin graph is wrong, it is just that all that noise doesn't match reality as well as the Slowgeek interpretation.

What gives?

How is it that Slowgeek, a hobby site created by one guy, gets it right while both Garmin and Nike get it wrong. This is their business! Worse, Rasmus (who created both slowgeek and the PHP programming language) has contacted Nike a number of times and told them how to fix this. It isn't magic. From the slowgeek forums:
The math involved tries to do its best using something called a LOWESS curve. It uses locally weighted polynomial regression where each point is derived by weighted least squares regression over the local span for that point. Basically it means that it tries to pick out the trend in the data. Noisy peaks or valleys will be smoothed out in the process.
I sure wish the professionals cared as much as some random geek. I mostly love the Garmin equipment and site. But I plan to continue to use slowgeek for its superior pace graphs, and better graphs for historical data.

Thursday, July 22, 2010

Garmin 405 accuracy.

GPS Accuracy

I've read much about how the Garmin 405 has a highly sensitive antenna, and is great even in heavy tree canopy or tall buildings. I'm mostly impressed with it in my limited sample size of runs so far, but today's run left a little bit to be desired.

If you really care about route data and you will be running in a city, zoom in the above and pay attention to the first and last kilometer of the run. Those do not match reality. For both the out and back my route took me up Pender, to Burrard and down Cordova. At no point did I do crazy Parkour over skyscrapers and on the living roof of the new convention center, as the map would suggest.

That said, the total distance is close to being correct, and everything after I hit the seawall is close enough to make me happy.  I still think it is more accurate than the Nike+iPod gadget overall (OK, maybe not for *this* run). I believe the problem is tall buildings. Around the lake is under trees, and that seems fine. But, from my work to the seawall is all in skyscrapers. Also, my habitual route keeps me on the South side of the street when heading west, and the east side of the street when heading north. As most of the GPS satellites are in a southernly positon in the sky from up here in the Great White North, that puts me in just the wrong position to get a direct signal. My next time out I plan to keep as clear of a line of sight to the southern hemisphere as I can and see if my accuracy improves.

Foot pod?
Another option is getting the Garmin accelerator foot pod to compliment the GPS data. For years while running with the Nike+iPod accelerometer I've had this recurring thought: an accelerometer foot pod, coupled with a GPS (and maybe some fuzzy logic algorithms) could provide almost perfect distance and pace data. I found that the Nike+iPod system is very accurate if two conditions are met:

 1) You have calibrated your foot pod on a track
 2) You run a very consistent pace

The Garmin I find very accurate unless you are in tall buildings, like the run above. But, if you could properly pair the two systems you could make it almost perfect. When you have a clear line to the satellites you could be constantly calibrating the accuracy of the accelerometer. When you lose sight of the satellites you have a recently and perfectly calibrated foot pod to cover the gaps. You would know your pace before the GPS went dark, and just after. You would have historical data for the different paces you run at, and how that matches the data coming off the foot pod. You could reconstruct the missing GPS data  almost perfectly (at least in terms of pace and distance). Plotting this on a map, you could have the route a different color when you think the GPS signal is not good enough to indicate that you probably didn't run that exact path, but pace and feedback distance would be correct on the watch and in the online data.

Is that how it works?
I don't know if this is how the Garmin 405 works when you pair it with their foot pod, but I'm going to bet it doesn't. There is a big technical hurdle that I don't think Garmin could overcome, related to processing power on the watch. If you look at the above map, I don't think I ever actually lost the GPS satellites. What happened (I assume) is that I was in the satellite shadow of a big building, and the watch was picking up the reflection of the signals off of a building across the street. How would the watch know if it was getting bad data compared to good data? Well, it would have to look at pace and location data and know how to do the right thing. An aggressive algorithm could mess things up, smoothing out speed work laps as errors and such. I think it would be tricky to get right, and might be more than a watch can handle (Or maybe not. I think we landed people on the Moon with significantly less power than this watch has).

In absence of that knowledge, I'm hesitant to fork out the cash for a footpod just yet. Sure, I'll get one at some point, if only so I can gather distance info if I'm running on a treadmill in the Winter. But I'm not going to get too excited about it. All the manual says about it is:
Your Forerunner is compatible with the foot pod. You can use the foot pod to send data for your Forerunner when training indoors or when your GPS signal is weak or you lose satellite signals.
As a technical writer, I appreciate the minimalism.  This covers the basics. I'm sure it is true. It leaves enough ambiguity around "weak signal" to allow developers to totally change how it works without reprinting the manual. Perfect. The ambiguity isn't going to keep me from buying the product and there is plenty there to satisfy the incurious. That is what I would have done as a tech writer. As a geeky consumer that blogs about running data, I want to know more. How would the foot pod have changed my run data on the run above?

At some point I will get the foot pod. When I do, I should have several, maybe dozens, of runs on this exact route logged. That should give me plenty of information to see if the foot pod improves accuracy fot this type of run.

Why not?


So here is my proposal. Garmin, why don't you send me a foot pod for testing? I'll give it a glowing review and suggest everybody buy one (assuming it improves accuracy). Heck, I love the 405 so much I think everyone should get one anyway. Buy a foot pod too in case you are on a treadmill. If it improves accuracy in the run above, I'll shout it from the rooftops.

So what do you think? Thanks Garmin. I'll be watching my mail. Also, I'm sure the accuracy would be improved significantly if you threw in an extra ANT+ USB stick. It couldn't hurt, right?

;)

Saturday, July 17, 2010

Summerfast 10k. 49:20

So today I ran the Summerfast 10k with the new Garmin 405. I was pleased with my time (49:20 was my official chip time). My best time for the 10k ever was 5 minutes faster than this, but I was about 20 pounds lighter, 6 years younger, didn't have kids and was in a Track Club.  All in all I'm pleased with the time. I've had 10k races since I moved here that were 10 minutes slower than today.

I'm really pleased with how the Garmin 405 performed. It came in at 9.86k. That is pretty dang close. The interesting thing is that it seemed to be off by that much by the 2nd kilometer marker. There was a brief tunnel, and there were some tight turns and a brief out and back jog in the course before that. I think it might be more accurate than that if there were less trees, turns and no tunnel. I could hear the kilometer marks chiming on the Garmin watches around me (there were tons of them) and they grouped really tightly. It seemed they were all off by about 100 meters after the 2km marker and they tracked right, but 100m off, for every marker after that. The pace data was great, and I'm convinced that having quality feedback on the fly helped me come in under 50 minutes. I would check my pace and if I was above 5 minute kilometer pace I would suck it up and run faster. I was really tired around kilometer 7, but pushed through it.

I had a bit of a frustrating start. I got sidetracked answering questions about my shoes and the watch had gone into power-save mode when the race started. I had to step out of the crowd and wait for the Garmin to acquire the satellites. It was frustrating, but not a big deal since the race is chip timed.  Once it got going I dropped into a quick easy pace and stayed there. It is amazing being in a race. It isn't that I'm all that competitive (I'm mid pack overall and in the back of the pack for my age division). But it is amazing to have so many people to pace yourself against.

The rest of the day has underscored how out of shape I am. I've been starving and exhausted. It is pretty clear that I need to get back on the program in terms of diet, drop some pounds and pick up more mileage. Now I need to pick my next race. I'd like to do another 10k soon and at least one Half Marathon in the Fall.

Garmin 405

So I bought a new toy, the Garmin Forerunner 405. My data addiction can continue!  It is a GPS watch targeted at runners. The reviews sound mostly positive, & a coworker has been raving about his. The Nike+iPod system has served me well, but I think it is time to try something different. The device itself is one of the first GPS watches that is small enough to wear as a regular watch. It wirelessly connects to a heart rate monitor, and comes with a USB key for syncing data to your computer, and then to Garmin Connect online. You can optionally connect it to other devices, such as a foot pod that will allow you to run on a treadmill and still gather pace and distance data and that will fill in the gaps if you lose satellite connection in trees, tall buildings or a tunnel. Adding the foot pod will also provide information on how many steps you take per minute, which is a useful metric as well if you want to improve your cadence.

You can even buy a crazy expensive scale that claims it can record "weight, body fat percentage, and hydration levels." Once you have this scale, it records all these metrics, uploads them to the watch, and the watch then transmits them to Garmin Connect. So in addition to tracking your mileage, pace, route, elevation and heart rate, you can also watch your weight and muscle to fat ratio over time. It is a data addict's dream come true. Still, I'm not going to run out and buy the scale just yet. But, I think I will start weighing myself often on the scale I have and entering that info so I can track gains and losses over time. That could help keep me focused.

So how is it? Seems great so far. The night I bought it we went to New Brighton Park for dinner with a friend and her kids. We enjoyed the beautiful afternoon, had a cocktail and ate takeout sushi. Afterwards, as the ladies conversed on a blanket and the kids blew off steam at the playground, I ducked out for a very brief jog to see what the watch could do. My first impression is that the immediate pace feedback is far better than what the Nike+iPod system provides. I set up the workout screen to show pace, distance and heart rate. A gentle acceleration or deceleration showed instant results on the pace readout. The main reason I wanted to jog around though was so that I would have some data to sync when I got the software set up. Check it out:


So the Garmin Connect site is pretty neat. You can pull lots of information out of there. I'm really looking forward to getting more familiar with this system. I did another easy run this morning. I ran an easy 4km in to work. I'm dieing to get out and do a longer run, but tomorrow morning I do the Summerfast 10k around Stanley Park. So an easy 4k was the most I could justify.

Wednesday, July 14, 2010

Finally a good run.

Yesterday was the best run I've had since I hurt my calf. I have no idea if I was fast, as I haven't replaced my nikeplus foot pod or bought a different gadget yet. But I felt strong, and it felt good to push myself a little past my comfort zone. I had a good, steady run Monday morning. It was my 10k out-back-work route that has some small hills & gets me to the office. It was nothing to write home about, didn't push myself, but nothing felt bad. I debated going out Tuesday (yesterday) at lunch. I don't want to push myself too hard, but I'm behind on my training for the Sumerfast 10k next Saturday. So I decided to go out for a quick 7k. I felt surprisingly good: even breathing, quick foot turnover.

Once I settled into my pace on the seawall, running north towards Coal Harbor, I had a couple of people pass me. Both of these guys looked the part. They were real runners. I picked up the pace. I was still falling behind, but not nearly as fast. It felt good to push just a little. After I hit the gravel path around Lost Lagoon I heard footsteps closing in on me (forgot my iPod). I didn't want to get passed again, so I picked up the pace. I figured I would simply tire out and get passed, but my pace held. The footsteps locked in behind me. They would accelerate when I did, but never pushed around for the pass. I was a bit out of my comfort zone, but I felt great. That tiny bit of competitive spirit really does push me.

Then I had a bit of a vain, demotivating thought: I bet this person is old, fat or wearing jeans. It is a common frustration when I run that as soon as I feel like I'm doing great, someone who looks like they only get off the couch for another soda will pass me. I remember once, not long after I first started running and covering 10k at a time in my training runs, I thought I was invincible. Then, during a run where I thought I was doing fantastic, I heard a conversation approaching from behind. I also heard the random creak of wheels and tires, so I move a bit to the right so the bikes could pass. I was not prepared to be passed by two mothers, running and pushing their babies in jogging strollers, while they held an easy conversation. It was all I could do just to get air into and out of my body, and these two moms were holding a conversation while pushing their babies.

 It isn't fair of me to think this way. They are obviously more committed and focused than I am. But it stings when I'm being passed by people who are pushing 60, or who have a pear shaped body or are pushing another small human in addition to themselves. So the thought lingered. The sound of feet crunching in the gravel behind me pushed me forward, worried about who was about to pass. Finally, as I crossed a little foot bridge and made a sharp right, I got a quick glance behind me. It was a runner! Lean, fit, tan and wearing real running clothes, the lady behind me looked like she was serious. With the boost to my confidence I was able to hold the pace and keep her behind me for much of the rest of my run, until I cut back to surface streets to head back to the office. It was the perfect pace to keep me just above my comfort zone, and made me miss running with a track club or a running partner.

So, there is the possibility of me getting a decent time at the Sumerfast 10k. I hate to speculate when I've had a dip in my fitness and lost my ability to see pace data, but I think it is possible for me to come in under 50 minutes. It would be the first time in years.

I'll know before 9:00am this Saturday.

Sunday, July 11, 2010

Rapidly approaching 10k

Everything has gone to hell

Too much has happened since my last post. A total breakdown in my body and gadgetry has thrown me off. While my injury is gone, my fitness took a hit while I waited for the calf to heal up. Somehow, I have also misplaced the foot pod for my nikeplus system, which has put a bit of a dent into my motivation. It is hard to want to go out and run knowing it won't count.  I've been running some, but I feel a bit slower. I'm not sure that I'm slower, as I have no feedback.

After easing back into running, once I was sure my calf was holding up OK, I got one pretty good run in before I left town. I Did my 13k out and back with hills and I felt OK, but the run wasn't without it's mishap.

Dog tired

There is a long steep climb on that run. I'd finally topped the hill and was picking up some speed on the gradual downhill. I was running strong, but I was tired. On the sidewalk coming at me was a little old lady walking a bull mastiff. It was a beautiful creature, but it was the type of dog you would draw if you were a cartoonist and you needed somebody to be eaten. She had a control collar on it, but the dog weighed nearly as much as that frail old lady did, and she looked a little worried. Plus, I couldn't help but remember that on that very same steep climb a couple years ago I had been passed by a faster runner. Just after he came around me and was pulling away, a pit bull ran out of a yard and attacked him. He was bleeding, but not too bad. It was the only time I've felt lucky to be fat and slow...

But, I decided to give the dog the benefit of the doubt. Dogs are mostly good. Also I was tired and didn't feel like crossing the street. So all my attention was on the dog. I was waiting for him to snap or lunge, and even when I got past him my head was slightly turned and my perception was focused on that little sliver of peripheral vision over my shoulder. Just then I hit a little lip of raised cement on the sidewalk. I wish I had a video. My arms were windmilling around like an angry Pete Townsend trying to break the strings of his guitar... my feet were doing quick little steps trying to catch up as the trunk of my body sloped more and more toward the sidewalk in slow motion. Then everything sped up in a whirlwind of sidewalk, sky and road rash.

I feel pretty lucky about not getting hurt bad. There was a bunch of blood, but other than one hand and knee I just hand mild road rash. Those two spots were not so mild, but they are healing nicely. At least I didn't bounce my head off the ground or break anything.


Phish

Another hit to my running came with my recent whirlwind trip to see three Phish concerts in NC and GA. I had a blast, but only got out for one easy run. It was a gentle run through Charlotte, NC. I meandered through the 4th Ward neighborhood and wound up in a big cemetery. I did a couple laps winding through there, but the pace was easy and it wasn't that far. Who knows how fast or far? Damn my missing gadget.

I did wear the Vibram KSOs to three concerts, so I got a bit of a foot workout from the boogie. My goofy finger shoes got a lot of questions from some spun out hippies. The interesting thing was that I had several people walk up and say: "Are you a runner?"  I find that interesting, as I rarely see people running in them. Barefoot running is seeping into the collective consciousness. The concerts were fantastic, by the way.

Race in less than a week

I'm not sure where this leaves me for the 10k I'm signed up for next Saturday. I'll finish. I'm mostly healthy. I'm probably slower than I was a few weeks ago, but have no idea how much. I'm pretty sure I can do better than my Sun Run time of 53 minutes. Can I break 50? Guess we'll see.

My next gadget?

So the Nike+iPod foot pod isn't turning up. I'm sure it will, once I replace it or get something else. The something else I've been thinking about is the Garmin 405. A coworker recently got one and I'm fairly impressed. It gives you accurate pace and distance data. Can generate amazing maps of your run that include altitude info. You can add a heart rate monitor and a foot pod if you like and collect data about your heart rate and the turnover of your feet. With the foot pod you can still log runs on a treadmill indoors.

I'm going to have to get something quick to push my motivation back up. It is time to start looking for a Fall half marathon.