They gauges moving around is definitely random.
The updates are done with a "president.json" file, fetched every 15 seconds, but the timestamp in the json data only changes every 30-180 seconds.
So all of the movement is just random jitter to make it engaging.
Maybe a bit disingenuous.
(Note: I first thought they might be using websockets, but no WS connection is made on the page. Only a ajax fetch of president.json)
That's what I checked first. ;)
The estimates below include an estimate of uncertainty. We expect the uncertainty around these estimates to narrow, especially after races are called.
I don't see any reason why we'd expect the uncertainty to be updated more than every 30-180 seconds or why any of this is the least bit "disingenuous".
No one want's to look at a static page fore more than a few seconds, once you have taken in the information.
And I guarantee you that there are plenty of visitors on that page right now, staring at the gauges with fascination.
It's also a hint that the page isn't static.
So in showing wrong uncertainty, they are being even more disingenuous.
Of course they aren't going to get it fixed tonight if that is what you are thinking.
It's only misleading developers, who will think that data is being streamed rather than fetched once. Other than that it's a clever (and yes, entertaining) way of displaying margins of error.
Can I offer that, of all the things in news and dataviz to shit on, this isn't one of them? I mean, really, an "abuse of our attention" - what?
Only a dev would think about the possibility of a statistical model updated with a second(s) granularity.
And be disappointed (I was) that it's actually just updated every few minutes with a fetched JSON file, rather than some fancy instant updates pushed down via a websocket connection. :D
In this case, a better solution would be a blurred needle.
It is well known that multi-tasking and context switching has a cost. The same applies to movements on visualizations.
One can convey mean and standard deviation without animation.
When something moves, the way it moves catches the eye. Arbitrary movement is wasted movement when it comes to conveying real information.
Take electron orbital clouds [1]. They are a nice way to show uncertainty with a static image and without animation. Indeed, an animation of an electron moving around would not the tell the story as effectively. A blurred probability cloud is a better way to do it to tell the story of probability.
Also, a blurred cloud is useful precisely because it does not imply that electrons follow predictable paths.
[1]: http://www.scottsmithonline.com/interests/medicalschool/biol...
No dispute that it's clever and entertaining. These are undesirable qualities in a reliable source of information.
Can you imagine reading a scientific journal in which the data narrative was deliberately engineered to keep you guessing until the conclusion? You would be right to raise eyebrows at a publication that is investing in your attention rather than its own accuracy.
There's no dire consequence here, it's just slightly dystopian that US presidential elections are unapologetically leveraged as a vehicle for mass entertainment by the press itself.
HN is so incredibly cynical sometimes. How are "clever and entertaining" undesirable qualities in reliable source of information? The only requirement in a reliable source of information is reliability. "Entertaining" is very much a desirable quality if you actually want people to care about said reliable information.
My argument is that jitter doesn't make it unreliable as it's simply a visualization of the uncertainty. So if it gets people interested and doesn't do it inaccurately, that's a win in my book.
You would be right to raise eyebrows at a publication that is investing in your attention rather than its own accuracy
Por que no los dos? One doesn't conflict with the other.
> unapologetically leveraged as a vehicle for mass entertainment
Sorry America, you turned those elections into mass entertainment all by yourself ;)
You can see similar issues with most purely mechanical dials to one degree or another when they are responding to a rapid change.
require('forecast/jitter').get = function(){return 0;}Did you just dig through the code or are you a NYT dev?
require('forecast/jitter').get = function(){return Math.random()*10;} require('forecast/jitter').get = function(){return new Date().getSeconds()-30;}Periodic real updates with something more expressive than a spinner, which have never been convincing enough to keep me from mashing reload.