Differences between RunKeeper and RunningAhead (Read 3100 times)

mj.moto.johnson

posted: 11/29/2010 at 1:03 PM

A number of people on my Team in Training marathon group are using RunKeeper on thier Android devices and I found that the distances calculated by the two programs was off by as much as 1/2 mile on a 8 mile run.

When I downloaded the GPX data from RunningAhead and imported into RunKeeper, the distances calculated by the two programs with the same GPX data was different. My friends who have the Garim watches seem to concur that RunningAhead is not right...but I am not exactly sure which is.

Has anyone else compared the GPX data between multiple programs.

One other question;

I am considering moving to RunKeeper due to problems on my Droid Incredible with multi-tasking. If I start a run with RunningAhead, then stop and answer a phone call or take a picture of a beautiful vista the RunningAhead application resets the run and all the data prior to the application switch is lost. Another example is I can't listen to music and use RunningAhead together - since it seems to screwup RunningAhead.

Now I like the RunningAhead UI and website better so I don't really want to switch. I also have 6 months of data in the system. But the limitations are pretty significant.

There are open tickets on RunKeeper indicating that the GPS data imports done by RunKeeper off Garmin GPS watches seem to shorten the distance when it gets imported into RunKeeper. The watches and Garmin Training Center, along with RA all indicate the same distance, but RK shows the distance as less (in some cases, 5% less or more).

I personally use my Garmin Forerunner device over anything running on my android phone, as the form-factor of a watch is easier for me to handle than lugging along a phone, so I can't help you with a recommendation for your multi-tasking and UI issues...

2016 Races/Goals

- Charlotte 10 Miler - PR! 1:13:04 [Goal: 1:13:42]

- Kiawah 1/2 Marathon

- Running Streak [Goal: 730 Days] (462 and counting!) Lasted 483 days before injuries got the best of me!

I believe when you say RunningAHEAD, you're actually referring to Handy Runner, the Android app created by Derek. RunningAHEAD's distance calculation theoretically is accurate to within inches. It accounts for the curvature of the earth, although at short distances, the effect is negligible. The actual distance for manually created maps is accurate to probably a couple of hundred feet because each pixel on your monitor represents tens of feet on the map, depending on your zoom level.

The GPS on smart phones are not accurate. The data has a larger margin of error when compared to dedicated GPS devices. You can verify this by looking at the maps of your runs and zoom all the way in. You'll notice the route is jagged instead of a smooth line. Therefore, the total distance is a route estimation and not the actual.

The only thing a GPS app is doing is record your positional data at set intervals. The data includes your latitude, longitude and a timestamp. The total distance is calculated by adding the distances of each point to the next. Your pace is calculated using the timestamp. The math is straight forward, but if the GPS measurements are wrong, then everything else will be wrong too.

There are many reasons why Handy Runner and RunKeeper produce different distances. For example:

- different smart phones may have different GPS receiver chips

- different smart phones' GPS antenna may be located in different areas, affecting its reception

- different users carry the phone differently, affecting its reception

- different people run the same route differently

- running the same route at different times may have different environment effects that affects reception

There are many reasons why Handy Runner and RunKeeper produce different distances. For example:

- different smart phones may have different GPS receiver chips

- different smart phones' GPS antenna may be located in different areas, affecting its reception

- different users carry the phone differently, affecting its reception

- different people run the same route differently

- running the same route at different times may have different environment effects that affects reception

I should add that even if the same device is used for both apps thus eliminating the GPS receiver chip and phone as noted by Eric, a big factor could be the frequency with how GPS data is taken.

The way the GPS works on Android (and I suspect most devices) is the application tells Android how frequently it wants updates. It could be based on time, for example every 2 seconds, 10 seconds, 30 seconds etc, or it could be based on distance. That is, after the user has moved say 10 feet or 30 feet.

HandyRunner does it based on time and uses 1-sec intervals whereas other apps may use say a 5-sec interval. A 1-sec interval would give a very jaggy path whereas a 5-sec interval would be smoother, but then a longer interval would be slower to reach to changes in speed and direction. It's all a tradeoff.

The other fact is some application would do a lot of smoothing and analysis of the GPS data. Unfortunately, HandyRunner doesn't attempt to do this. I looked into this and the algorithms are quite difficult and I just wasn't prepared to invest the time required for a free app.

Having said all that, I can't imagine that these differences would create a 1/2 mile differences on an 8-mile run. What is also odd is that you said you took the GPX file from HandyRunner and when you import it into RunKeeper, you got a different distance. That shouldn't happen.

Having said all that, I can't imagine that these differences would create a 1/2 mile differences on an 8-mile run. What is also odd is that you said you took the GPX file from HandyRunner and when you import it into RunKeeper, you got a different distance. That shouldn't happen.

There are two explanations that I could think of.

1. RunKeeper's calculations are wrong, which is highly improbable.

2. RunKeeper manipulates the data (i.e. data smoothing). If Handy Runner and RunKeeper's distances are consistently off, does one device produce a distance that is consistently longer than the other? If RunKeeper smooths data, then you would expect its distances to be shorter than that of Handy Runner.

2. RunKeeper manipulates the data (i.e. data smoothing). If Handy Runner and RunKeeper's distances are consistently off, does one device produce a distance that is consistently longer than the other? If RunKeeper smooths data, then you would expect its distances to be shorter than that of Handy Runner.

User "rossruns" above mentioned that RunKeeper has some open tickets regarding the importing of GPX data from Garmin GPS devices and he mentioned that RunKeeper seems to produce shorter distances, so perhaps it is doing some data smoothing

Derek

Derek

mj.moto.johnson

posted: 11/29/2010 at 6:03 PM

I just imported 3 different gpx files into RunKeeper, RunningAHEAD and Sport Distance Calculator (http://www.sportdistancecalculator.com/importfile.php#map) and it seems in all three cases RunKeeper and SDC match pretty close, RunningAHEAD does not match the other two - distance is much longer by as much as .9 miles on a 20 mile run.

Very curious. Seems there are some differences in how RunningAhead is calculating distance.

Could the difference be in how it deals with elevations? Maybe the other two programs smooth out the elevation changes? No idea.

I just imported 3 different gpx files into RunKeeper, RunningAHEAD and Sport Distance Calculator (http://www.sportdistancecalculator.com/importfile.php#map) and it seems in all three cases RunKeeper and SDC match pretty close, RunningAHEAD does not match the other two - distance is much longer by as much as .9 miles on a 20 mile run.

Very curious. Seems there are some differences in how RunningAhead is calculating distance.

Could the difference be in how it deals with elevations? Maybe the other two programs smooth out the elevation changes? No idea.

RunningAHEAD's distance is correct and the other two are wrong. Maybe wrong is a tad strong, but definitely not accurate. I made the comparison with your Nov 23 workout. According to the workout's map, you ran 8.25 miles. If you now export the map as a GPX file and upload it to SDC, you'll get 7.85 miles. I'm guessing RunKeeper shows a similar number.

Now, on RA's map, hover your cursor over the elevation profile and you'll see a purple marker moving along the route. Find mile 4.18 and zoom all the way in on that spot. You'll see that part of the route is very jagged. Go to the same spot on SDC's map and that part of the route is smoothed out, which means SDC is dropping data points. This explains why RA's calculation is consistently longer than the other two.

Now you'll have to decide which is more accurate. The smart phone's GPS is not reliable and therefore the data is error prone. This is why the route is jagged: the measurements have large error margins. The actual distance is somewhere between what RA and SDC's numbers. So is it better to prune out points to artificially smooth out a route, or to take the numbers by face value? If your data came from a Garmin Forerunner, particularly the latest models with more accurate GPS receiver chips and more frequent data sampling, RA will definitely be more accurate, especially if your route contains many twists and turns. Like I said before, RA's calculation is accurate to within inches.

If you're that concerned about accuracy, you should use a GPS that's made for running.

Last year I wrote a 3D graphing program so that I could visualize the quality of the elevation data coming from my Garmin 305. I was also interested in whether RA took elevation changes into account (it definitely does). I had some issues with calculating the distances during the dev process, but in the end all my distances matched up with what RunningAhead shows for the same route.

I haven't tried mapping a run with HandyRunner, to be honest I didn't know it could map the routes, I thought it was just an easy way to enter in recent runs. I'll give it a try with a route that I know the mile markers and total distance.

I've noticed in some races that tall buildings would affect the quality of the data points (rock walls also), the same could be happening with the Android device too (depending on where you are running). Can't the new phones use triangulation of service towers to get location also? I wonder how this would affect the accuracy of the reported location.

RunningAHEAD's distance calculation theoretically is accurate to within inches. It accounts for the curvature of the earth, although at short distances, the effect is negligible.

I get a bit curious whenever people claim such accuracy with typical handheld GPS receivers. When inches matter, standard GPS receivers are not used; WAAS-enabled receivers, which use ground-based towers to correct for the majority of the error inherent in GPS that relies solely on the satellites, is. My father installed GPS on his tractor this year to map spray swaths across fields, a task that requires accuracy down to a foot or so. He had to get a WAAS-enabled unit for that type of accuracy.

I've read through the manuals for GPS running units and none of them claim accuracy down to inches....how does the RA method correct for this?

"If you want to be a bad a$s, then do what a bad a$s does. There's your pep talk for today. Go Run." -- Slo_Hand

I haven't tried mapping a run with HandyRunner, to be honest I didn't know it could map the routes, I thought it was just an easy way to enter in recent runs

There are two versions, HandyRunner and HandyRunner Lite. Both let you manually enter runs, but the non-lite version also has the additional functionality that uses the GPS to let you track runs. You can also view them on a map on the device.

The reason I created the lite version was for those that didn't need or want the GPS features. It's a smaller app and uses less memory.