Ask HN: How do you determine "hot" or "popular" user-generated items?
I put together a little app this weekend which lets people translate phrases through different languages and see the often funny or interesting results: http://translation-telephone.com
On the sidebar, I display "recent" and "popular" phrases, to encourage people to browse others. Right now, "popular" is a random three of the top 30 viewed phrases - really basic. I'd like to make it smarter and I imagine there are a variety of techniques that I can use, like the HN metric for frontpage news.
What techniques do you guys suggest? Thanks!
(Note: Architecture is App Engine/Python, if that's relevant)
5 comments
[ 4.2 ms ] story [ 17.6 ms ] threade.g. responded to ('liked' or viewed) x times within y minutes + relevance (it's very funny &| it's topical &| it's trending elsewhere)
For a real-world example (albeit one from code that's not much beyond "prototype" status) feel free to look at what we do in Neddick:
https://github.com/fogbeam/Neddick/blob/master/grails-app/se...
look at the calculateScore() and calculateHotness() methods in particular.
What we do there is basically just use 0 as the default, count each upvote as +1 to score and each downvote as -1 to score, then use the score as the hotness, before decaying by age. It's simple and not optimized at all, but it gives the general effect we're looking for.
http://www.evanmiller.org/rank-hotness-with-newtons-law-of-c...