It's fairly straight forward: A Python script scrapes HackerNews every 15 minutes and saves the data in a MySQL database. A PHP script queries the database and outputs the the last five hours worth headlines as neatly-formatted JSON data, which the chart grabs and plots.
The older, less trendy news items are rendered with a slight transparency in order to reduce the chart's business. You can hover over any of the lines to see it in greater detail. Also, if you click any of the points it'll take you to the comments. The links on the right take you to the actual news articles.
Hope you like it. Let me know if you have any suggestions --
There is lots of stuff that does not make it to the front page during busy times.
Any chance of increasing the length of the list to 60 or maybe even 100 ?
That would really add value.
1. those which reach the front page by virtue of quickly getting a few votes while they are young and then dwindle
2. those which barely reach the front page and have some kind of resurgence (discernible by a large jump in front page rank).
It'd be interesting to group articles based on how they perform like this and see if there are any other correlated factors. My feeling is that the ones with resurgence are either long and require some amount of karma "activation energy" before people are willing to dive into them or that they're ones with long conversation chains which have a spike for similar reasons.
One criticism: Flash?
- fairly unstable, even on Windows
- a privacy nightmare (cookie system)
- being left behind by browser vendors, where there is competition
Excanvas on IE and the canvas tag are really well placed for visualisations like these. I built a donut chart in Canvas recently for something I'm working on, and I'm glad I did, because I was able to do an impromptu demo with someone just the other day on my phone.
I know it's not a critical piece of engineering, and it doesn't actually matter, but I do personally find Flash dulls my enthusiasm for otherwise very nice things!
Actually, I did need that 25% for something else. Was waiting for code to finish compiling (well, for Clang's Static Analyzer to finish running). It takes more then a few minutes to run on a sizable project.
Plus, as jrockway pointed out, it absolutely kills battery life, and I'm on a laptop.
That's absolutely amazing - youtube videos now load faster in my browser than they do in windows media player. Thanks again!
I hope the author checks out something like Raphael (JS SVG library) and converts it though, because Flash is definitely tacky.
In all seriousness though: I simply wanted to learn Flash. As an iPhone user myself, I realize its frustrating that it doesn't show up. That being said, even if it did show up you wouldn't be able to make much of it because of the screen size and the sheer business of the chart. It's really meant to be viewed in a normal browser.
"<Article title name> (comments)" is far easier than hovering to find the graph, then finding a node on the graph on which I can click.
Incidentally, I thought the lines looked blurry... in fullscreen it's clear that they are.
The pop-up only appears for the datapoints - not if your mouse is over a line segment between data points. In fact, it was a while before the any popup come up, for me. Maybe make it attach to the closest data point? (google analytics does it this way).
Strange voting patterns? Or a bug in your script?
Sometimes the numbers just works out that way.
Rank shows strictly less information.
Maybe make circles there? Make a vertical line for each 15min interval where they show up?
Can you link to the article's comments instead of the article itself?
Edit: thanks guys, I must be blind :)