3 ms·
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' recor
by ryandamm 11y ago
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.