There are currently 2 primary methods of gamification for the site: Reputation and Badges. (Hats seem like a tweaked form of badges, and as they're seasonal, don't they go away soon?...)
Reputation most strongly incentivizes good answers, (which is certainly valuable), then good questions (also valuable, but perhaps gamed too much,), and to a much smaller degree, accepted edits.
Badges, once earned, are kept forever, and repeated earns are nice incentives for long-running expert users, but again primarily reward the questions and answers.
But what have you done for me lately?
The current system mostly rewards putting in some positive effort to ask/answer questions, then one may go away as time accumulates even more points as people find answers to their questions from material you've posted. How do we reward recency? Thanks for everything you did a year ago, but where did you go? Have you been helping the site? Reviewing stuff maybe? Letting others get the easy quick answers mostly, but voting up stuff that's good and down stuff that's bad?
Are you a good Stackoverflow citizen?
The current system doesn't reward good comments (particularly on why questions or answers are bad) beyond the localized upvotes on the comment.
I think it would be very valuable to the site to give an indicator of the recent less-tangible user contributions to the quality of the site (and thus an indication of the value of the user to the health of the site).
Have qualified programmers with good intentions a good enough reason to stick around and learn the ropes?
I personally know qualified programmers with good local reputations that have been turned off by the difficulty of gaining acceptance and learning the way the site works. I think they're quite willing to take their lumps until they get it, but they get discouraged in the learning process that gives them little to no recognition for their recent efforts. We need a reward system that encourages them to stick with it until they get it.
The question is, how do we fill these gaps?
My favourite idea is a health bar based on activity, which I elaborate on in an answer below. My next favourite idea is a balanced scorecard (see Wikipedia, or just about any edition of the Harvard Business Review.) I'll get around to making hypotheticals on that eventually.
This question is made in the spirit of helping my favorite resource for canonical, if unofficial, specific programming advice. Recommendations should be possible. Stackoverflow can determine if they are practical.
The score I propose should work like a citizenship score, and reward recent positive behavior.
The score should be as a percentage, and decay over time, and not reflect beyond the past 3 to 6 months of activity.
Possible scores would thus range from 0.0 to 100.0.
It would have a floor equal to 25-50% of the user's reputation percentile rank.
Each full point decays by one tenth of a percent every X (7?) days until it reaches the user's floor (again, based on reputation percentile rank).
The score should display as a colored health bar (maybe mouseover for the precise number), perhaps under the user's profile pic. Or above the badge count, or under or behind the name.
This question, posed as a proposal by Jeff Atwood (love his blog), suggests something akin to my favorite solution, but does not include recency. With a 178 positive vote score, I'd say it's a popular idea.
Also, accept rate has been removed, making it a bit dated.
Here's a relevant quote:
Going forward I would much prefer that we retired accept rate in favor of a more general metric that covers a variety of "citizenship" metrics that do not result in rep.
- Does the user vote?
- Does the user accept answers?
- Does the user answer questions?
- Does the user edit or suggest edits on questions?
- Does the user flag stuff?