Hacker News new | ask | show | jobs
by iluminae 2664 days ago
Also think about having a dashboard refresh at 5s with 50k datapoints, literally transferring gigabytes of data to every browser looking at that dashboard. If you streamed the data (even at slow rates) it would be a massive traffic savings.
2 comments

Recently I was looking into Plot.ly Dash (https://plot.ly/products/dash/) for a Python-based real-time updating dashboard.

...until I noticed that it transfers the entire chart and all the datapoints each update. (example: https://dash-gallery.plotly.host/dash-live-model-training/)

I'll be honest, before I started working at Plotly I had the same reaction to Dash at first glance, but as I worked with it/on it, I realized that most of the time, this client-server chattiness is not much of a problem from a user perspective, and is a great developer-productivity tradeoff.

More to your point, though, this is something we're trying to address in collaboration with the Dash community, in this PR for example if you want to follow along: https://github.com/plotly/dash-core-components/pull/461

It's funny, we already have a format for transferring graphical data in real time that the web has optimized relentlessly: video!

You'd think someone would just run a daemon local to the data that live-streams a compressed video feed rendering the graph, instead of relentlessly and repeatedly reinventing some notion of lossy-but-useful realtime data transferring technology.

This was the thing I liked the best about it. Even if you wanted to not make it "real time" making it so I didn't have to transfer all my data every refresh would be benefit enough.