
The Long Run - breadbox
http://bit-player.org/2015/the-long-run
======
Jyaif
"On a two-dimensional surface, GPS position errors introduce a systematic
bias, tending to exaggerate the length of a trajectory." It's not that simple
as it really depends on the sampling rate. For example, if the sampling delta
is the same time as the lap time, the GPS will think that it is not moving.
And it's not just theoretical: you can see from the map that the GPS thinks
he's always cutting corners.

~~~
ryandamm
You're probably right, it's probably a low sampling rate. (Either dude was
going fast or the app is really casual about taking measurements...!)

Also a possibility: the phone is picking up a gps 'echo' reflecting off a
wall. We like to think of GPS as this magical, perfectly accurate reporting of
our cartesian coordinates, but in practice it's a lot messier. There are
places that _consistently_ report an inaccurate location, because some non-
direct path length transmits more strongly than the direct line to the sky
(which may be occluded by trees, for example).

The wavelength used for GPS is pretty well absorbed by water, so you have
situations like this more often than you might think.

------
ryandamm
I think this is a classic case of a leaky abstraction. The developer probably
assumes some relatively benign behavior from GPS, and treats it as a 'true'
record of the user's position in cartesian space. Throw some grade school
geometry at it and you've got an app!

Doing it right in practice requires understanding the nature of the
measurement itself, Bayesian notions of uncertainty (does iOS even report
positional uncertainty from GPS?), and probably some sensor fusion -- using
accelerometers or even gyros with different noise signatures to arrive at a
better answer. In other words, a lot more sophistication than just reading x,y
values from a function lookup. (I don't mean to cast aspersions on the actual
developer mentioned in the article; there are valid reasons not to do these
things, battery life being one obvious one.)

A good friend works at a fitness tracker company, and he reports that the raw
data they have to deal with is _insanely_ ugly. There's a fair amount of
algorithmic house cleaning that goes along with good distance/speed estimates.

