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 &#x27;true&#x27; record of the user&#x27;s position in cartesian space.  Throw some grade school geometry at it and you&#x27;ve got an app!<p>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&#x27;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.)<p>A good friend works at a fitness tracker company, and he reports that the raw data they have to deal with is <i>insanely</i> ugly.  There&#x27;s a fair amount of algorithmic house cleaning that goes along with good distance&#x2F;speed estimates.