Endomondo Lied To Me

A week ago I re-started my diet and exercise plan. Since I am grossly overweight, the exercise plan is basically "walk around 5km every day, fat guy". Since I am a nerd, I wanted data so I could stop lying to myself about how much I was walking.

I had seen Endomondo mentioned in my tweeter timeline a bunch of times and the featureset looked pretty much exactly as I needed:

  • Track my walking
  • Keep history
  • Show it in google maps (because it's nice)

It even did things like tracking calories burnt and so on.

The only problem was... it really sucks at figuring out how much you walked. It consistently overestimates by around 50% the distances, and since it calculates the average speed based on time and distance (and the time measurement is correct) it overestimates speed by 50%, which then means it overestimates calories burnt by (I am guessing) 125%.

How did I verify that Endomondo is wrong, and avoid the obvious explanation of "your GPS is broken"?

  1. I tracked myself using Endomondo and Google Trails at the same time.
  2. I counted steps roman-mile style (count every "left-right", multiply by 1.6)
  3. I measured the path I walked in Google Maps and Bing Maps

All those measurements tell me a walk of 1100m +/- 150m is measured by Endomondo as 1.68 km

Ver mapa más grande

Why does this happen? I could assume Endomondo is just crap, and probably be right, but trying to come up with a "interesting" explanation, I am leaning towards noisy measurements. For example, if Endomondo saw my position shifting randomly 10 or 15 meters left or right it would probably add enough noise to make the path 50% longer (for a much more fun example of this, read this paper (by no other than Benoit Mandelbrot!) but this doesn't explain why Google Trails works so much better (unless Trails does something smart with antialiasing and interpolation).

If you use Endomondo, care to share your experience? I am reluctant to 1-star it in Google Play without independent confirmation.


Comments powered by Disqus