Sounds like a pretty good plan.
Though as other people mention you could also add pageviews in the mix, as well as "number of comments since". I'd say a nice linear combination of all three, softmaxed between some limits, added to the number of seconds. The latter bit because you wouldn't want things to go crazy when a huge amount of pageviews or things are posted.
But it's a good idea. Especially since I'm in a non-American timezone, which means that if I want a story to be seen I need to take into account US office hours as well, and your suggestion might sort of take the timezone effect out of it.
a counter that increments with each story upvote
I think I know why you didn't like the story-upvote count, since sometimes there might not be any good stories available to upvote. But keep in mind that if story upvotes are the new "time", then "time" slows down for the existing front-page stories as much as it does for the new submissions.
- If you click on the graph you get the definitions.
- If you click at the title you get the visual analysis of the data (http://hnpickup.appspot.com/hnpickup_ratio_visual_analysis.p...)
- if you click at the link below graph is sends you to HN.
- the time is calculated on the client side and it should be Your local time - let me know if it's not the case (JSON data has UTC epoch time, though)
And yes: it is a catch-22 ;-)
EDIT: I don't like clutter on a web page. You can put a lot of information on what is what but you just need it ONE time, then it should go away. Maybe someday I will find a jquery plugin that will do the trick.
One more suggestion: Do label the time zone. even if it correctly detects the user's time zone, that's unexpected on the internet. Plus you don't label 'current' time... for all I know it's a Time Zone ahead but only updates once an hour. Anyway, all confusion goes away with a label.
Edit: Took out references to my personal time zone
I see that you use Flot, it's quite easy. Just add:
noColumns: 3, // add this if you want horizontal legend
Slightly relevant data point of approximated anecdotal evidence: I submitted a "Show HN" for my Android app at about 2 PM on a weekday and got 1 or 2 upvotes within about an hour, so I deleted it and resubmitted it later at about 9 PM (exact same title and everything - I felt bad about resubmitting it but I was really disappointed, sorry if this was a faux pas) and it hit the front page within 5 minutes and hit #1 in about half an hour and then stayed there for 12+ hours. Pretty astounding difference...
You should label and explain the axes and sliders. I have no idea what the numbers mean, or what the "pickup ratio" is.
Also, instead of linking "bad" below the chart, you should make it bold and link the word "submit" instead. I thought clicking on "bad" would take me to an explanation, not the HN submit page.
You're choosing a best-response to everyone else's selected post time. Publishing this post data should make the system approach equilibrium more quickly, where in equilibrium the best post time should be fairly evenly distributed.
Still nice despite the catch22 though.
Left-click on the graph.
The best time to submit a story appears to be 8:30 pm, but that may be because a higher number of stories that were popular during the workday (which is probably when HN gets the most traffic) have been pulled down by gravity enough that newer stories have a better chance of getting in.
But don't those new stories peak during a time that presumably, HN's traffic is at a low? And can peaking at 10PM be enough to carry a story through to the top of the next day's new popular stories?
TLDR: Does being popular in the off-hours offset by the presumably lower traffic to HN?
However, I can't find any indication of what time zone you're displaying. Is it my time zone, GMT+0, or something else?
Somehow I think there should be a different design rules for labeling "persistent" (?) graphs, i.e. graphs that you look at regularly. If you look at a graph couple times a day you need to know the meaning of axes only one time. After that, the labels are waste of the real estate. I will look at the vital signs equipment to see how it's done.
EDIT: My mentor always says "graph or table has to stand on it's own" but that does not resonate with me. The "commenting code" analogy does.
I also thought about making other stats, to answer questions like "How much does it matter which user submitted the post?", "Which words in the title influence if a story gets upvoted?", "Which sites have the most high quality (upvoted) content?"
And when it does, it will skew the hell out of that graph.
One this that got me though, in terms of usablity, is that me being at GMT+0 it was hard to determine if the far right of the graph was current or lagging?
but I'll definitely be checking this out in the future for launch planning etc.