Trying to race far from people
By: Tim Smith
or what I did on my summer staycation
I like to tell people that I created the web-app "Remote Racer" to fill the need for competition. In truth it was the fill the need to keep myself busy. And I had a lot of fun along the way.
I'll admit that in the end it was not the most successful app, but the journey was interesting with a lots of twist and turns, some techie/geeky, some totally human.
After running the Main Street Mile in May, a race in which we all ran the classic course, but at times spread across a week, I realized that "Virtual Races" really aren't races. If there is not somebody on your shoulder pushing you, it is really hard to dig deep and surge mid-race or kick at the end.
As some of you may know I am a physicist who has spent my life getting data out of experiments and into computers, so I saw the lack of competition as a technical challenge. I also see the smartphone that many of us carry as a ubiquitous measuring device. So what I set out to do was measure how far I have run, and then send that distance to my competition in real time. A smart phone has a GPS and access to the cellular network. What could be so hard?
What I envisioned was a voice coming from my phone which would tell me where my competition was; "Chris is 5 meters ahead of you, Mary is on your shoulder, Bob is 15 meters behind you."
The ironic thing about this project is that at the beginning it worked almost too well. Ten days after conceiving of the web-app I ran a trial mile race on the Hanover High track. The app told me I had finished within 10 meters of the finish line, and upload times and distances to my database.
One of the side-benefits of this project is that it got me out there running hard a lot more they I would have otherwise. Every time I improve the code, the only way to conduct a test run is to - you know - go out and run!
By the time of the next trial-run I had also created "runner-bots". This was a separate program on my laptop which inserted simulated runner data into the data-stream. This meant that in the database every twenty seconds it was recorded that the runner-bot had moved forward 60 to 80 meters. When I was running I would hear my smartphone say "Bot-7 is 10 meters in front of you. Bot-8 is 15 meters behind you". Bot-7 was a simulation of a runner running 7 minutes per mile.
Back to the track and I was racing a number of bot, but when I reached the mile mile mark the app told me I still had 100 meters to go! Although the app only shares the distance you have run, internally it keeps tracks of latitude and longitude, which I could offload when I was home that evening. When I plotted the data on a map of the track I saw that it thought I had cut some corners.
Over the next month I learned a lot about the limitations of the the GPS in a smartphone, as well as the differences between an Android and iPhone. Most of the time your phone knows your position to about 5 meters. When you think of your position as someplace on the globe (40 million meters around) to 5 meters that is pretty amazing! If I run for a kilometer in a straight line I might be 5 meter off at both ends, 10 meters is about 1%. However if I start to turn during my run, each major direction change can introduce another 5 meter of uncertainty, which can add up.
But it gets more complicated. How often have you paused before starting a run because you are waiting for your GPS watch to get a satellite fix? But your smartphone seems to have your location immediately! The difference is that your watch is amazing stable and accurate - but slow to lock in a position. Whereas your phone reads cell towers and try to guess at you position right away. Sometime it is good to 5 meters, but sometime it is off by 50 to 100 meters! So imagine that you are racing and you phone gets a bit of noisy data and reports you are 100 meters east of the track, then 100 meters west, and then back to the track. Simply connect those points and there is an erroneous 400 meters in the middle of your race!
But I actually enjoy a challenge like this, looking for errors in the data and trying to make my best guess as to where you really are and so eventually I rolled out a pretty good version and invited people to race.
One of the unexpected turns in this story was that my extended family quickly adopted the app. In one race I had a niece in Massachusetts, a niece and nephew in Texas and my son in Connecticut all joined in. While running I kept hearing updates about Allyson, Lillian Rose, Robin and Oliver. And then Oliver seemed to vanish! Later I learned that he was running with a dog who was not in shape, and he had to drop out of the race to carry the dog home! (The dog is just fine and we have been discussing a training regimen for "Daisy"). For this race I also wrote a "spectator app", so my parents could watch the database, and see their son and grandchildren battling it out, even though they were a thousand miles away.
But the app and hardware continued to have glitches. Once, in the midst of a race, I was drenched by a thundershower. The water worked its way into the phone and the voice become quieter and quieter . . . Sara had to place her phone in a bag of race after that trial.
One of the last additions to the app was a post race zoom session. Just after you finish a race a button appears on the app and if you tap it you join a session shared with any other race finisher.
One of the other unexpected twist of the summer was crossing paths with Brendan. Brendan and I ran in college together (1978-1982), and I expect we raced each other in high school before that. I saw him at a reunion about a decade ago at which time neither of us were running. But then this last winter I noticed him on Strava and so invited him to a remote race. Brendan lives in Rochester, New York, in a neighborhood where I trained 37 years ago. And now he was posting races from that same neighborhood! Brendan has also connected to the zoom sessions and I am having my longest conversation with him in nearly four decades!
It turns out that the Upper Valley is not the best place for this app. With our hills and lack of cell towers, the GPS and network connects can be less than perfect. Whereas my niece in Texas has always posted errorless data. Still, in the end 90% of racers get results which agree with their GPS watches to with in 3 seconds.
And I probably ran about 100 extra miles this summer testing this app - so what can be wrong with that?