135

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:

[Jun 27] awarded [● Nice Answer] for link-to-question/answer.

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.

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

11 Answers 11

38

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.

16
  • 5
    Now, that is a good answer. +1.
    – VonC
    Commented Jun 30, 2009 at 7:08
  • 10
    I accept this answer because it's a genuine reason of why this isn't available. Commented Jun 30, 2009 at 21:38
  • Jeff, what is that badge-process primary using as the basis of its search? User accounts, responses?
    – Sampson
    Commented Jun 30, 2009 at 21:45
  • 4
    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). Commented Jul 4, 2009 at 8:55
  • 40
    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
    Commented Jul 4, 2009 at 19:26
  • 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. Commented Jul 17, 2009 at 13:09
  • 4
    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? Commented Jul 17, 2009 at 15:33
  • 4
    One wonders: if you haven't the information to provide to the user, how do you have the information to award the badge?
    – RCIX
    Commented Jul 23, 2009 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
    Commented Jul 23, 2009 at 16:17
  • 6
    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.
    – user142148
    Commented Jul 30, 2009 at 17:39
  • 14
    @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
    Commented Aug 8, 2009 at 9:20
  • 5
    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. Commented Aug 8, 2009 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. Commented Sep 14, 2009 at 16:51
  • 4
    Can we turn badge notifications off since most of them are, by design, pointless? Commented Nov 22, 2009 at 16:39
  • 1
    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
    Commented Jul 10, 2010 at 2:05
37

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
  • Nice Answer
  • 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.

3
  • 10
    +1 for distinction on "frustrating when you have received it before"
    – matt b
    Commented Jul 16, 2009 at 12:55
  • 1
    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. Commented Aug 8, 2009 at 17:59
  • 1
    @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
    Commented Nov 3, 2009 at 12:23
15

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

6
  • 7
    Perhaps it better that you don't?
    – Richard
    Commented Jun 29, 2009 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
    Commented Jul 4, 2009 at 19:29
  • 1
    For you Jon, it would just take one question :D
    – womp
    Commented Jul 6, 2009 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
    Commented Aug 22, 2009 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
    Commented Aug 30, 2009 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
    Commented Dec 13, 2010 at 12:25
14

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.

1
  • 3
    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.
    – user95071
    Commented Jun 29, 2009 at 11:35
10

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".

2
  • 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? Commented Aug 8, 2009 at 18:01
  • 1
    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. Commented Aug 8, 2009 at 18:57
9

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

WINDMILLS DO NOT WORK THAT WAY!

1
  • ...GOOD NIGHT!! Commented May 13, 2010 at 22:27
4

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. ;-)

5
  • nice :)
    – bananakata
    Commented Jun 30, 2009 at 16:30
  • 4
    It's been said before... John Skeet is not a datapoint :-) Commented Jun 30, 2009 at 17:45
  • 9
    I am not a data point - I am a free man! ;)
    – Jon Skeet
    Commented Jul 4, 2009 at 19:27
  • 3
    @[Jon Skeet]: you are not a free man, you are an outlier! Commented Jul 17, 2009 at 13:12
  • 1
    upvoting Jon's comment to make it a 6. :)
    – sprugman
    Commented Jan 25, 2010 at 18:53
4

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.

3

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.

2
  • 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... Commented Aug 28, 2009 at 12:21
  • 4
    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. Commented Aug 29, 2009 at 20:41
0

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!

19
  • 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. :) Commented Jun 28, 2009 at 12:13
  • "precision" is not the goal here. Commented Jun 28, 2009 at 12:25
  • 35
    "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
    Commented Jun 28, 2009 at 14:06
  • 10
    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. Commented Jun 28, 2009 at 16:09
  • 10
    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
    Commented Jun 29, 2009 at 17:23
  • 11
    Methinks I smell copout.
    – user1228
    Commented Jun 29, 2009 at 18:42
  • 11
    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
    Commented Jun 30, 2009 at 7:06
  • 3
    "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. Commented Jun 30, 2009 at 23:05
  • 9
    "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
    Commented Jul 1, 2009 at 14:03
  • 20
    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
    Commented Jul 4, 2009 at 19:31
  • 9
    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
    Commented Jul 16, 2009 at 12:56
  • 7
    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. Commented Jul 17, 2009 at 13:12
  • 8
    I'm baffled at how "the Xbox 360 does it" has any relevance at all.
    – user142148
    Commented Jul 30, 2009 at 17:42
  • 1
    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! Commented Aug 22, 2009 at 2:47
  • 2
    @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.
    – mmx
    Commented Aug 28, 2009 at 19:11
-2

I believe this feature is now implemented. See for example, the below link.

My publicist badge shows on which questions I was awarded the badge.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .