This is going to require some mathematics that even I haven't worked out yet and I'm going to rehash some mechanisms that you're probably already familiar with, so bear with me.
I've written my own blogware. It sucks, it lacks a lot of features, I'm going to rewrite rather than maintain it, but I've been thinking about how to do crap filtering better.
Slash uses moderation to do two things: 1) modify a comment's score and 2) indicate why. It is a simple binary moderation of -1 if it's bad and +1 if it's good. Slash also doles out moderation points sparingly to users whose comments have been moderated up more than down, so that only a limited number of moderations can take place. The balance of the moderations done to a user's comments is the user's "karma", and at fixed points on the karma scale, priviledges are granted and taken away. Among those priviledges are: 1) the ability to obtain moderation points, 2) the ability to "metamoderate", and 3) the ability to post comments with higher initial scores. A comment's score is arbitrarily constrained between -2 and 5, where comments scored -2 are effectively deleted (although really, they're just hidden). Karma is arbitrarily constrained to 50 and less.
Scoop uses ratings to do one thing, indicate on a scale of 0 to 5 how "good" or "bad" a comment is, with the comment's total being a simple average stored to two decimal places. A user is assigned a value called "mojo" that is the simple average of the most recent subset of ratings on that user's comments. A comment's total rating and a user's mojo are naturally constrained between 0.00 and 5.00. At a certain mojo threshold, two priviledges are granted to a user, those being 1) the ability to rate a comment at 0 and 2) the ability to see comments whose total rating is less than 1.00.
There are things I like and don't like about both systems. Slashdot's binary moderation system is mathematically simple. Ignoring the "reason" associated with a moderation it's a simple good vs. bad decision. I also like Slash's finer-grained assignment of priviledges at different points on the karma spectrum. I like Scoop's system because by default it grants everyone the ability to rate arbitrarily many comments. I also like the way values in Scoop are naturally constrained versus the arbitrary constraint of karma and comment scores.
The system I've been thinking of is kind of a combination of both. Hopefully you're familiar at least with the shape of the arc tangent function, if not, look it up, because you will need it in order to follow what comes next. I intend to (at some point) derive a function from the arctangent function with the following properties: 1) f(x) approaches 0 as x approaches negative infinity, 2) f(x) approaches 5 as x approaches positive infinity, 3) f(0) = 2.5, and 4) f(1) = 3.5. Call this function rating(x) and its inverse score(x).
This is how my proto-system works:
Users have mojo, just like in Scoop. Mojo is calculated from the user's comments' ratings just like in Scoop.
Comments have a score, like in Slash, but a rating is displayed on the page, like in Scoop, and the rating(x) function is used to calculate the rating from the score. Comment scores can go as high or low as they have to.
When a user posts a comment, it is given an initial score of score(mojo).
When other users moderate that comment, their options are -1, 0, and 1, which are added to the comment's score, causing a recalculation of the comment's rating and the user's mojo.
When a user's mojo is recalculated, various priviledges can be granted or revoked depending on whether or not various thresholds have been crossed. So far I have an incomplete list of priviledges, but one of the better properties is that admin priviledges can be granted at or close to a mojo of 5.00, because the rating(x) function is asymtotic. Real users can never have a mojo of 5.00 or 0.00, so a threshold at those levels can never be crossed. Likewise, if the administrator chooses, the threshold for various admin priviledges (powerful stuff like deleting an account or creating new sections) can be granted to users with really really high mojo (like, say 4.98). It would take a lot of really highly scored comments to get mojo that high. New users would have to overcome a certain amount of artificial "mojo inertia" in order to simulate the real "mojo inertia" that affects old users with lots of comments.
This system has all the properties I like about Slash and Scoop without the things I don't like. Moderation is a simple good/bad/don't care (or alternately increase/decrease/leave this comment's score). Lots of different priviledges can be granted or revoked at arbitrary levels. All values are naturally constrained. Before I implement it, I'm interested in the potential abuse scenarios people can imagine.
i heard someone suggest that we should help the US, just like they helped us in WWII. By waiting three years, then going over there, flashing our money around, shagging all the women and acting like we owned the place. --Seen in #tron
[ Parent ]