With the addition of Recent Activity a while back it became much easier to know what's going on. However, sometimes when a badge is awarded, it's not immediately clear why it happened.

I suggest that some awarded badges (those that can be be awarded several times) a little bit more verbose, for example, in the Recent Activity page it should say:

Jeff mentions below that the discovery is part of the fun. He mentions a parallel to the Xbox achievement system, but from what I can tell, an achievement for 'A Perfect Lap' is not ambiguous, nor is "Launch a Gnome into Space" in Half Life Episode 2.

But "Nice Answer", which can be awarded several times, is not the same - it's not precise enough. I have to go to the Profile page, sort answers by votes and then try to remember which answers were previously awarded, and which weren't. Sometimes it just becomes too much of a hassle to hunt for this information.

-
+1 for remembering me the achievement "Launch a Gnome into Space" in Half Life Episode 2 –  Drake Jul 31 '09 at 8:41
yech - that fecking gnome just would not stay in the car –  bananakata Aug 8 '09 at 9:16
Alright! Thanks guys! –  Igal Tabachnik Jul 9 '10 at 12:09
Wonderful! At last! –  bobince Jul 10 '10 at 10:11
twitter.com/jonskeet/status/18149178669: that one was wicked ; –  VonC Jul 12 '10 at 6:01

As a technical addendum -- we do not store which question or answer triggered the badge anywhere. (because it was never part of the design).

So even if we wanted to do this, we don't have the information.

The background badge grant process just returns:

userid, number of badges that userid should have


.. for each badge, in a loop. Note that there is no postid there.

EDIT: good ol' waffles checked in a change that allows us to store the post with the badge award, so this is now complete.

-
Now, that is a good answer. +1. –  VonC Jun 30 '09 at 7:08
I accept this answer because it's a genuine reason of why this isn't available. –  Igal Tabachnik Jun 30 '09 at 21:38
Jeff, what is that badge-process primary using as the basis of its search? User accounts, responses? –  Jonathan Sampson Jun 30 '09 at 21:45
But couldn't you retrace the history and figure this out? I always found the list of users per badge really uninteresting - it's much more interesting to see which question/answer earned each badge (if applicable). –  Assaf Lavie Jul 4 '09 at 8:55
Nothing here would stop you from changing to record the relevant information for new badges awarded, of course. If you had a change of heart about the matter, you could easily show "no information available" for badges which have already been awarded, but then give links for new ones. –  Jon Skeet Jul 4 '09 at 19:26
this is a lazy programmer answer, for shame! the phrasing says "it can't be done" while the details - as jon pointed out - make it clear that is just wasn't done. –  Steven A. Lowe Jul 17 '09 at 13:09
It was never part of the design -- the discovery aspect was intentional and designed in from day one. If you have that intense of a hatred of the way this feature was designed, may I humbly suggest that the world is full of websites, and perhaps another of them might be designed more to your particular liking? –  Jeff Atwood Jul 17 '09 at 15:33
One wonders: if you haven't the information to provide to the user, how do you have the information to award the badge? –  RCIX Jul 23 '09 at 12:26
How about marking the question that earn badges in the user page. Something like you do next to usernames, and maybe with a details list in the hover-over. –  BCS Jul 23 '09 at 16:17
I agree. I can understand it not being available for historical data, but it certainly seems like something that could be implemented. I find the way it works now counterintuitive. I click on a badge expecting to see what item I received it for...and instead, I get a list of 5000 users with that same badge, which tells me nothing useful. –  Kyralessa Jul 30 '09 at 17:39
@Jeff - Honestly pretty shocked at your attitude there "if you don't like it go away". It's a really minor thing which it appears the majority of users would like, why would you choose to throw them away? Maybe, just maybe your original design decision could be wrong? –  bananakata Aug 8 '09 at 9:20
a) it's not minor, as it would radically change the badge code path and b) the discovery aspect is part of the design. If you disagree so violently and vehemently, I respectfully suggest you should build your own site to specifications that you agree with. –  Jeff Atwood Aug 8 '09 at 17:57
John answer must be implemented. Since the beginning it's annoying to find out what give you the badge. I always thought that the system would be able to calculate at any time the number of badges or reputation a user have... Please apply John solution, pretty easy and every body will be happy. –  Daok Sep 14 '09 at 16:51
Can we turn badge notifications off since most of them are, by design, pointless? –  Joe Philllips Nov 22 '09 at 16:39
You should give @waffles a raise for this one! I know which tag I created. Ahh, sweet closure. Ok, enough revelling. Back to questions. –  squillman Jul 10 '10 at 2:05

I agree with Jeff that some badges are reasonably cool to find by "discovery":

• Autobiographer
• Citizen Patrol
• Civic Duty
• Cleanup
• Disciplined

But others do get frustrating when you have received it before:

• Popular Question
• Enlightened

For badges you receive multiple times it would be nice to have a link to the triggering post. For a badge you haven't received before, I'm cool with the whole notion of discovery.

-
+1 for distinction on "frustrating when you have received it before" –  matt b Jul 16 '09 at 12:55
It's pretty easy to tell which question got the badge, as long as you log in within a reasonable time frame of getting it. In other words for "Popular Question" it's the question with views closest to exactly 1,000. –  Jeff Atwood Aug 8 '09 at 17:59
@Jeff Atwood: Not if you have several that are at 1 "kviews" scattered across several pages in your profile. This is driving me completely bonkers as there is no way in this situation to tell which of the questions it was! –  Spoike Nov 3 '09 at 12:23

I'm quite curious about which answers other people received badges for. When I see that an answer has earned the necromancer or populist badge, I think it must be worth at least a glance.

-
Agree -- I don't worry about my own badges, but when I see a good answer and want to look at that person's other badge-worthy contributions, not being able to find those directly can be a bit annoying. –  John Pirie Jun 29 '09 at 11:35

I still have no clue what I got necromancer for...

-
Perhaps it better that you don't? –  Richard Jun 29 '09 at 15:32
Annoyingly, I still haven't got necromancer. I occasionally think I'll go back and answer some old questions, but then never quite get round to it. –  Jon Skeet Jul 4 '09 at 19:29
For you Jon, it would just take one question :D –  womp Jul 6 '09 at 7:04
@Jon. I remember you saying you usually don't bother with CW questions (as no rep involved) — I think if you did, in general, participate more in those, you'd probably get the badge without specifically trying. (I just got my fifth Necromancer badge, many of those from interesting old CW questions originated when I wasn't even a member. Never thought about that possibility when writing an answer, but when getting the badge some months later, it's a nice surprise.) –  Jonik Aug 22 '09 at 11:58
I earned Necromancer the other day. My "answers with score 5+" actually fit on one page, so I could figure out which one it was. I'm pretty certain this is the culprit: stackoverflow.com/questions/58640/great-programming-quotes/… It wouldn't surprise me if most necromancers are for similar answers.. –  John Fouhy Aug 30 '09 at 0:40
I guess the reason why Jon hasn't got the necromancer is that he answers all the questions that interrest him withing a few minutes after they are posted, and since he is able to answer A LOT of questions that are posted all the time, he doesn't have the time to go back to find an old one that he finds interesting, simply because it is too difficult to find one that he has not already answered... –  awe Dec 13 '10 at 12:25

I don't get this "joy of discovery" business. For several badges, it's more the "frustration of non-discovery".

If the purpose of a badge is to encourage certain behaviors, then it would be good if we could find out, for certain, which of our earlier behaviors you'd like us to repeat. We'd then be able to say to ourselves, "I want to answer another question, just like that one".

-
I agree that once you have hundreds of badges the thrill of discovery probably wears off. But, do you think that is representative of the entire Stack Overflow audience? Or perhaps a very vocal minority? –  Jeff Atwood Aug 8 '09 at 18:01
I can see that it might only be true of the vocal minority. However, I see no reason to believe that it is not true in the general case. It would be good to find out for sure (not that I have any idea how to do that, or course). If it were true, then perhaps you could hide the answer for a first badge, but display it for all subsequent badges of the same type. –  John Saunders Aug 8 '09 at 18:57

I read this whole page, and all I can think of is this:

# WINDMILLS DO NOT WORK THAT WAY!

-
...GOOD NIGHT!! –  Kevin Panko May 13 '10 at 22:27

And remember, any such implementation would have to scale to Jon Skeet and possible race conditions when earning multiple Nice Answer badges at the same time. ;-)

-
nice :) –  bananakata Jun 30 '09 at 16:30
It's been said before... John Skeet is not a datapoint :-) –  Nathan Fellman Jun 30 '09 at 17:45
I am not a data point - I am a free man! ;) –  Jon Skeet Jul 4 '09 at 19:27
@[Jon Skeet]: you are not a free man, you are an outlier! –  Steven A. Lowe Jul 17 '09 at 13:12
upvoting Jon's comment to make it a 6. :) –  sprugman Jan 25 '10 at 18:53

Instead of saying which question triggered a specific instance, where the badges are listed, and it would usually say "[Nice Answer] x 10", you either have 10 answers - each with a question that meets the criteria, or have a collapsible list with the list of questions that meet it.

Then there's still a bit of discovery (you need to figure out which specific question triggered the badge), but you can easily see which questions have earned the badge.

-

I was just awarded the Taxonomist badge (created a tag used by 50 questions). How do I discover which tag? I presumably created it ages ago, and it was no action of mine that pushed the question count over 50.

-
browse the /tag list, and look for tags that have very close to 50 count. Then correlate that with the questions you've asked. Admittedly, this gets hard if you've asked lots of questions... –  Jeff Atwood Aug 28 '09 at 12:21
And it may not have anything to do with asking questions: the badge is for creating a tag, which I could have done while re-categorizing someone else's question. –  Ned Batchelder Aug 29 '09 at 20:41

However, sometimes when a badge is awarded, it's not immediately clear why it happened.

This is intentional and by design.

Badges are supposed to incite curiosity about why the badge exists and what you did that caused you to earn it.

As I've said umpteen zillion times, this is based on the Xbox 360 Achievements model. You see the achievement flash on screen..

.. and then you go figure it out.

The discovery is part of the fun!

-
Ah, I missed that part (and I don't have an xbox)... The closest I've been to an achievement system is the Half Life Orange box. :) –  Igal Tabachnik Jun 28 '09 at 12:13
"precision" is not the goal here. –  Jeff Atwood Jun 28 '09 at 12:25
"this is based on the Xbox 360": BASED is the key word here. SO is not XBox360. What is "fun" on XBox is just an annoyance on SO. -1 –  VonC Jun 28 '09 at 14:06
You can only have one game going at a time on XBox, while you can have multiple answers gaining rep at any point in time. –  Brad Gilbert Jun 28 '09 at 16:09
Discovery gets annoying when you have hundreds of answers and multiple copies of badges. The "What you did" is covered by looking at the badge description. I'd like the "Where you did it" to be provided since it gets nearly impossible to figure out after you've been on the site a few months. Early on, it was a lot of fun to see "hey, I got a badge!" and then go figure out what answer did it since I only had a handful of answers to look through. Now I see a "Nice answer!" badge and think "Great, but there's no way I'll ever figure out what question it was!". –  17 of 26 Jun 29 '09 at 17:23
Methinks I smell copout. –  Won't Jun 29 '09 at 18:42
Comes to think of it, this is the perfect example of the Joel-Spolsky-often-evoked "Curse of Knowledge": the "fun of discovery" seems so OBVIOUS to Jeff he cannot imagine how we could ever think otherwise ;) Yet we do. The "service" we expect from a badge (i.e. "what I have done to get it?") is simply not there. –  VonC Jun 30 '09 at 7:06
"Early on, it was a lot of fun to see "hey, I got a badge!" and then go figure out what answer did it" Right, and the more badges you get, the less you should care. Doesn't the thrill wear off after the 10th "nice answer"? You know you got 10 upvotes. –  Jeff Atwood Jun 30 '09 at 23:05
"like I said, you can either buy a Playstation 3 or...": the "love it or leave it" answer again? Man, I want your job;) I do development support for 400 computer software engineers and I confess that kind of answer crossed my mind from time to time. But to show that kind of disrespect by saying it or actually writing it!... It's good to be king, I guess ;) –  VonC Jul 1 '09 at 14:03
I'd say there's a very distinct difference between XBox 360 achievements and badges. Usually (assuming it's anything like the PS3 awards) you get an achievement due to an action you have taken - so you can correlate the time you received the achievement with the time you took some actions, and work things out based on that. Badges are usually based on an action by you from a while ago, and an action right now by someone else we don't know about - therefore it's harder to work out what the cause is. Personally I gave up on this ages ago - but I'd appreciate it as a feature. –  Jon Skeet Jul 4 '09 at 19:31
I really don't get this analogy. Doesn't Xbox 360 tell you exactly how you get the badge when you press the (X) button? And since they notify you of when you have the achievent right after you did whatever earned you the achievement, there is no question of how you got it. –  matt b Jul 16 '09 at 12:56
no, the discovery is not part of the fun, it is a waste of time. And i have to agree with Jon that your analogy is flawed. –  Steven A. Lowe Jul 17 '09 at 13:12
I'm baffled at how "the Xbox 360 does it" has any relevance at all. –  Kyralessa Jul 30 '09 at 17:42
I just got my first gold badge (Populist) and I've been cruising over and can't for the life of me figure out why. None of the obvious answers stand out. If I can find the algorithm I may try to run it over the data dump! –  Norman Ramsey Aug 22 '09 at 2:47
@Norman: Populist is easy to find out (unless you're Jon Skeet.) Just scan your top answers (>= 20 votes) that are not marked as answer and check if one has double the votes of the accepted answer to the question. –  LeakyCode Aug 28 '09 at 19:11