Lately I’ve been using reddit, Hacker News, Digg, Slashdot and the app Zite to guide my web browsing. One thing I’ve noticed is how these sources use different algorithms to decide how to rank stories. Specifically reddit allows users to both upvote and downvote stories while most other places only allow upvoting.
The justification for not having downvotes I believe is to protect unpopular opinions. It’s not that the idea of downvotes came later, because some subreddits have chosen to disable downvoting. It seems to me that there is good reason to protect the minority from the tyranny of the majority. At the same time, if I want to deny the existence of certain celebrities, I should be able to block them from my feed. Considering both of these concerns, I believe that I’ve come up with a compromise.
Upvotes are global, downvotes are local
What does this mean? The function of upvotes would remain the same but the function of downvotes would change. How can downvotes do anything if they don’t affect other users? I believe reddit could go at least two routes with this. One is to implement a Bayesian spam filter. When I downvote something it would consider the words used in the content, and, probably out of necessity, the comments of a post so that it would learn that I want to pretend that I’ve never even heard of Kim Kardashian and that she’s a collective hallucination of people I hate.
The other route would be to use a personalization algorithm somewhat like Last.fm. Last.fm takes in a record of all the music you listen to, then matches you up with people who have similar taste. It then recommends to each of you the music that the other person listens to that you don’t. Reddit could do the same for content based on your upvotes and downvotes. This could even be used to show you content from subs you don’t subscribe to.
Killing reposts
Another idea I have to improve social news is to add to it one of the key features of RSS readers. That is the de-duplication of content. Good jokes can cycle through reddit multiple times since, as the saying goes, “If I haven’t seen it, it’s news to me.” The solution would be for each user to have a record of what they click through, and to have all new content filtered against that record and karma decay, which detects reposts. This wouldn’t discourage reposts, since it wouldn’t automatically downvote them. In fact it would encourage them since it would hide them from people who would want to downvote them. This is actually great since it would allow good content to makes its way to new generations of users. You could even disable filtering of content you yourself upvoted so that you can be reminded of it when it comes around again. I would call this feature or the software that implemented it Riposte.
Shared responsibility
This idea was suggested to me by a friend of mine. It addresses the issue that the “Knights of r/new” have (perhaps undue) influence over what makes it to the top of reddit by filtering content when it is most vulnerable to being hidden via downvotes. The solution is to make browsing r/new a responsibility of all users by peppering new content randomly among the front page. I believe this issue may have also been addressed by hiding the vote count for young content, giving it at least a second chance before being hidden. This solution though addresses the issue of a selection bias being created by the “Knights of r/new”
Trial by jury
After reading Clay Shirky’s blog post A Group Is Its Own Worst Enemy, I was thinking about the issue of moderation among online communities.
Geoff Cohen has a great observation about this. He said “The likelihood that any unmoderated group will eventually get into a flame-war about whether or not to have a moderator approaches one as time increases.”
I think though that this creates a false dichotomy. I believe you can have moderation without moderators. I draw from my anarchist leanings here. You can have society without leaders if you have real democracy. By democracy in this case, I’m not suggesting that all users vote on all decisions of moderation. I think that is impractical. I’m suggesting demarchy. It could be a modified demarchy where user selection isn’t truly random. I think it would be a good idea to ensure in each trial by jury that there are jurors that have a substantial amount of seniority. We also might want to throw in some “professional” jurors, by which I mean some that are self-selected. Whether or not consensus or a certain amount of majority is necessary could be up to debate and may depend on the severity of the infraction in question.