Nice but the three top gauges are moving suspiciously fast. Do they add a little random the the real number to give a sort of error margin visualisation ?
Jitter is a visualization of uncertainty. Rather than display a range, it displays a needle moving within that range.
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?
Yeah, I thought about it a little, and I guess you are right.
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
I think you're actually completely wrong about that. I think most people will assume it's an actual update when the animation moves. It's the devs that will stop to think if they're actually doing that or not, and have the knowledge to check for themselves.
Exactly :) I agree with what you said elsewhere in the thread as well, it's certainly a way to retain users on the page longer and have them stare at the gauges very attentively. I actually love this on so many levels.
I'd imagine scaling out a single static file and sending a CDN purge every half a minute is significantly easier than maintaining millions of live websocket connections
I wrote an "abuse of our attention". Here's why. Attention is a limited commodity. Movement attracts the eye. Using movement is fine if it conveys information. Movement that never stops should only be used if each movement conveys information.
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.
I don't want to scroll away because I want to see when the mean value moves based on real data, not jitter.
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.
> Other than that it's a clever (and yes, entertaining) way of displaying margins of error.
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.
Good thing the NYT is not a scientific journal then? And that what you mentioned has nothing to do with jitter, either.
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 ;)
Agreed, if it was oscillating wildly between extremes that would be one thing, but moving a few degrees is IMHO a helpful reinforcement of the margin of uncertainty.
You're being too generous... this visualization misleads everyone who knows how to read an analog gauge. Your car's speedometer does not jiggle around to represent its own imprecision.
Perhaps if the person being weighed jumps around, in which case the scale is doing its job correctly--or a very sensitive scale reacting to changes in air pressure. Scale readings generally do not jiggle/bounce with a static load.
After standing on a scale and you get oscillations from momentum which soon resolve to your actual weight. You see the same thing when putting fruit on a scale at the grocery store.
You can see similar issues with most purely mechanical dials to one degree or another when they are responding to a rapid change.
Sure you could use it that way but even so its an unclear representation at best. At worst misleading and disingenuous. If this is the information beung conveyed why not just have a bell curve of probability or a certainty range?
Examining whether the graphic is misleading is exactly in their purview. If they believe it is, they would be as likely as anyone to improve their standards and processes.
Of course they aren't going to get it fixed tonight if that is what you are thinking.
I think the idea is to indicate these numbers have error bands:
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".
Dug through the code. Just inspected the element showing the number to get the class (.widget-info-display-cont) and searched through 'general-main.js' to find where the element is created. A timer that updates the value in the element is found ~100 lines further down.
That's how they load the module that does the jittering. So by assigning its .get() method to be a noop instead (return 0), it does nothing (besides pointlessly return zero) when attempting to load.