Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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 ?


I just checked.

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)


I'd venture further to say it's a perversion of "news" for a news site to be injecting garbage into the data for entertainment purposes.


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.


There's very little information it's trying to convey. If you don't want you're attention shifted you can just scroll down.


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.

[1]: http://www.scottsmithonline.com/interests/medicalschool/biol...


> 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.


Other types of analogue gauges jiggle around.


Scales for example do jiggle around.


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.


But that's a bug, not a feature.


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?


Its also an abuse of CPU, at least in Chrome.


Yes, it is an abuse of our attention and a poor choice in information presentation. Who can we contact at NYT to complain?



I doubt the public editor has much of an impact, if any, on the interactive tools.


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".


> I think the idea is to indicate these numbers have error bands:

It's also a hint that the page isn't static.


I'm pretty sure it's so people don't just leave right away.

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.


That would make sense, if they didn't have _actual_ error bands as well.


As the recent events show, these "error bands" would have to be off the fucking scale.

So in showing wrong uncertainty, they are being even more disingenuous.


Check the websocket connection. Haven't noticed anything interesting coming down the pipe yet, but NYT is using it.


Nope, no websocket connection on that page.

That's what I checked first. ;)


Thanks the_duke!


Disable jitter by running the following in console:

  require('forecast/jitter').get = function(){return 0;}


Increase the jitter amount with the following:

  require('forecast/jitter').get = function(){return Math.random()*10;}


Election Time!

    require('forecast/jitter').get = function(){return new Date().getSeconds()-30;}


Haha, awesome find.

Did you just dig through the code or are you a NYT dev?


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.


What does the require statement do?


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.


I think it's an interesting way to represent uncertainty; it seems pretty intuitive to me.


It is a intuitive visualization, but also makes it hard to tell when things actually change.


Yeah, it looks hilariously fake.


Looking though the source code, they have a jitter amount. It adds a little visual interest.


A decent mechanism to minimize page refreshes at the very least.

Periodic real updates with something more expressive than a spinner, which have never been convincing enough to keep me from mashing reload.


I thought the same thing, would like to see the background calculations running all three.


That's random, there is no network activity. Screams "black pattern", who on earth randomizes a graph on election results. Come on.


NYT is not known for accuracy


Well in this context, it's good to make it wobble to show people that accuracy is meaningless so far, because we have very low precision.

https://en.wikipedia.org/wiki/Accuracy_and_precision




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: