could askbot use percentage-based values for karma (and other) thresholds?
I've been thinking again about the karma thresholds for user permissions, and the numerical values attached to badges . . . I know these are configurable, but I wonder if it would be useful for the defaults to be percentages of the total site activity, rather than specific values. Then new communities using askbot wouldn't have to re-set the thresholds as they grow (if they even bother to lower them in the first place). Of course there would have to be some absolute minimum values, for when the site is brand new, but I think these should be small.
Here's one proposal: Let U be the top 50% of users (that is, the set of their karma values). Then set the following thresholds to gain the following priveleges:
- open and close own questions: 100 or minimum of U
- retag other's questions: 200 or top 20% of U
- edit community wiki questions: 200 or top 10% of U
- edit any answer: 400 or top 5% of U
- delete any comment: 1000 or top 2% of U
Since a user may fall outside of a given percentage (as the community grows), there should be some (lower) threshold to lose each privelege. It could be zero, if you think that people should never lose a privelege once they've gained it, but the minimum value of U would probably be a more reasonable threshold. Also, U could be recalculated monthly rather than, say, daily or hourly, to make the numbers fluctuate less. Or, if you want to take this idea to an extreme, U could be recalculated every t days, where t is 10% of the site lifetime.
A similar principle could be applied to the badges: getting the "nice question" badge could require having your answer upvoted by 10% of the total number of users.
As a last remark, I think that the particular thresholds should still be configurable; the new feature here is being able to set them by percentage, rather than by absolute number only, and then setting the defaults that way (better for new askbot communities). (And, by the way, I haven't actually looked at a single line of askbot code, so forgive me and let me know if this is already possible. :)
Comments