Aerial 1.4.5
macOS 10.13.6
It occurs to me that the pretended precision of the coordinates returned by Location Services is utterly absurd.
Latitude, for example, is reported to a precision of _eight_ decimal places, or one hundred-millionth of a degree. In other words, about _one millimeter!_
My reported latitude and longitude can each vary by tens of meters or more just by clicking the "Use macOS Location Service to find your location" button at different times, without ever moving my iMac (and even these vastly greater differences make no discernible difference whatsoever in the calculated time of sunrise and sunset).
I realize this is not a bug in Aerial's functionality, and I've no doubt that Aerial is simply displaying the value returned by Apple's Location Services, but now that I've noticed this, it annoys me. Apple's engineers were clearly not paying attention when they were taught the importance of significant digits in middle school!
Could we please round off the display of these coordinates to something credible? Three decimal places of precision _at the most_, I should think: .001 degree is about 110 meters, or about a quarter of a seconds' difference in the time of sunrise and sunset. Reporting any greater precision is meaningless. :)
Haha yeah as far as I remember location services on Mac mostly uses WiFi (through a database of known access points) to get your location. So depending on where you live the precision can vary greatly and you may get different results consecutively.
I鈥檓 uneasy about shaving digits though as things may improve (future Mac with cellular, or grabbing location from iPhone etc). I know you can ask for various kinds of precision I鈥檒l have a look if I can find a good way to deal with this.
But nice to have at best 馃槄
But the point is that even if the _accuracy_ of Location Services improves, pretending anything greater than three decimal places of _precision_, or one-quarter second's difference in the time of sunrise and sunset, is meaningless for our purposes. No one is _ever_ going to notice a difference of two or three _hundredths_ of a second in the time of sunrise or sunset (let alone dawn or dusk), which is the accuracy implied by displaying just _four_ decimal places of precision.
By asserting _seven_ decimal places of precision in longitude, as we are now, we are implying that, even if we only _display_ the times of sunset and sunrise rounded to the nearest second, we can actually _calculate_ sunrise and sunset to an accuracy of 0.00002 second, or two hundred-thousandths of a second, which is quite simply false.
Spurious digits like this irk me because they can easily mislead the careless or uneducated into believing that a much greater degree of accuracy is involved than is actually the case. With the Aerial screen saver, it doesn't really matter, but in other contexts, spurious digits can be dangerously misleading.
Imagine, for example, that a pollster questions seven Americans at random on whether they think the immigrant caravan approaching the southern border of the United States poses a grave danger to our national security, and that three out of those seven random Americans answer that it does.
Now imagine that some news outlets, dividing three by seven, report that "42.857% OF AMERICANS BELIEVE IMMIGRANT CARAVAN POSES GRAVE THREAT TO NATIONAL SECURITY." Now imagine further that some United States Congressmen read those headlines and think "42.857%! Wow, this survey must be really accurate to be so precise! I'd better take this strong current of public opinion into account."
This, of course, is a hypothetical example, but it is precisely the sort of thing that happens all the time, and it is why we should always be alert, and encourage _others_ to be alert, to the pretended precision of spurious digits.
Don't get me wrong, I completely agree on principle. I'm simply displaying what the APIs give me at the moment.
I still believe that one should be able to input whatever he wants, so if you have checked your precise position with Apple Maps, you should be able to enter whatever you want and Aerial should not truncate it. I had 3 digits rounding on an earlier version and it was a bad experience.
As for what Location Services returns that's another story. As of right now I'm getting them raw and don't take into account accuracy. It looks like Apple has some extra parameters for Accuracy here : https://developer.apple.com/documentation/corelocation/cllocation/1423599-horizontalaccuracy
I'll try to see what I can do with that and reduce the digits accordingly to what is returned. But if Core Location says accuracy = 10cm, I completely disagree to rounding to 3 digits in that case, on the principle that it makes no difference for Aerial. That's a step too far in my book independently of the impact on calculations.
Do we agree on this ?
Edit : Quick test gave me 65m horizontal accuracy and 10m vertical accuracy here, will see what I can work with.
The argument that Aerial should display the user's coordinates to the accuracy that Location Services can in truth provide (even if it makes no practical difference to the calculated time of sunrise and sunset) sounds reasonable. At the very least, it should do no harm, and yeah, it's cool to see that detail.
So yes, it sounds like we agree. :)
Mind you, my objections to spurious digits come from someone who once memorized pi to 50 decimal places (and who still, decades later, can remember it to 27), which is a degree of precision that, if you were to use it to chart a course to the edge of the observable universe, 15 billion light years away, would make a difference in where you arrived of a small fraction of the width of a proton. Not terribly useful! :D
P.S. Years ago, back when the specter of nuclear holocaust still loomed large in many minds, my e-mail signature sometimes included my URLs:
--
Sean M. Smith
mailto:[email protected]
ICBM: 34掳01'N 118掳29'W
Which, for the purpose of that last URL, was probably a sufficient degree of precision!
Now that Aerial is using kCLLocationAccuracyThreeKilometers (#663), does it make any sense to continue displaying a pretended accuracy on the order of one millimeter? (One tenth of a degree (0.1掳) is 11 km.)
Edit: corrected my math.
To be clear, there's a difference between what you ask and what you get, it's merely a suggestion (and on MacOS it has 0 impact, the API only matters on iOS).
I'll move to 3 decimals (110m) as a compromise.
Most helpful comment
To be clear, there's a difference between what you ask and what you get, it's merely a suggestion (and on MacOS it has 0 impact, the API only matters on iOS).
I'll move to 3 decimals (110m) as a compromise.