256

In short, the bikeshed problem:

If you go before the Board of Directors and ask for 1.5 billion dollars to build a nuclear reactor, no one will review or discuss the details of the plant. They will assume that experts have been over every inch of the plans, and not want to look foolish by asking a silly question.

However, if you ask the same group to approve a 30 dollar expenditure for lumber with which to build a bikeshed (presumably a British term for the smallest possible building) then be prepared for a 45 minute discussion about all aspects of the bikeshed, including the color of the paint. The explanation for this is that everyone can grasp the scale of a bikeshed.

To transform this problem to Stack Overflow terms, questions that are trivial such as "How to convert a C string to a QString or "What is the difference between . and ->" get a lot more views, answers and votes than real questions of the form "How do I frob this widget" that bother real professionals. Fewer views mean less possible votes for good answers and hence less incentive for people to answer.

How can Stack Exchange solve this problem?

6
  • 47
    -1 talking about frobbing widgets is awfully vague. Be more specific with your questions. Jun 11, 2010 at 4:14
  • 33
    +1 to counter Andrew's lack of love for frobbing widgets. Being somebody who has frobbed a few widgets in my time, I can see the value of widget frobbing and support their inclusion to this well structured question. Jun 2, 2011 at 21:03
  • 32
    I see Paul Graham calls it a Fluff Principle: The most dangerous thing for the frontpage is stuff that's too easy to upvote. If someone proves a new theorem, it takes some work by the reader to decide whether or not to upvote it. An amusing cartoon takes less. A rant with a rallying cry as the title takes zero, because people vote it up without even reading it.
    – Val
    Dec 27, 2013 at 16:15
  • see also: Stack Overflow technology makes me write bad answers
    – gnat
    Jun 23, 2015 at 10:05
  • 6
    Related quote: There's an old joke that's been passed around from time to time about code review. Whenever you open a code review on a branch with six lines of code, you're more likely to get a lot of teammates dropping in and picking apart those six lines left and right. But when you push a branch that you've been working on for weeks, you'll usually just get people commenting with a quick 👍🏼 looks good to me! Basically, developers are usually just a bunch of goddamn lazy trolls.
    – shmosel
    Apr 15, 2016 at 1:27
  • 1
    The trivial question "What is the difference between . and ->" was one of the questions I dearly needed to be answered - 10 years after I became a professional programmer. It's just that I needed to understand C code as a C# programmer. So while I do get what this is about, I want to emphasize that the labels "trivial question" and "real question" are not mutually exclusive for everybody.
    – LWChris
    Nov 11, 2022 at 11:45

11 Answers 11

84

Chess doesn't have this problem

Chess has the Chess rating system. If a grandmaster beats a newbie, then he only gets little score (and the newbie loses little), because it was a trivial game. But if a newbie beats a grandmaster, the change of score is massive because that means the newbie might've had an excellent game. On SE, this might translate to:

who's asking -> || newbie      | grandmaster    |
who's answering ||             |                |
      v         ||             |                |
================++=============+================+
newbie          || as today    | answer gets    |
                ||             | lots of points |
----------------++-------------+----------------+
grandmaster     || answer gets | as today       |
                || few points  |                |

Or, in other words, not all questions are equal, not all answers are equal. That's also what I. J. Kennedy says in his answer.

Note I've had this similar question: Is it OK for Stack Exchange to treat all questions / answers equally?

10
  • 11
    wait, who is "winning" here? There is no game, only people answering questions. How do you define "win" versus "loss"? Sep 22, 2011 at 4:18
  • 31
    @JeffAtwood. It's just a silly comparison. No one is "winning" as opposed to "losing", but people get upvotes for answers, and thus score. But currently, simple answers are more valuable than challenging ones, and that's what the OP's question is about. As far as upvote score is concerned, there is no incentive for answering challenging quesitons compared to trivial ones...
    – Lukas Eder
    Sep 22, 2011 at 17:49
  • 35
    This problem with this approach is that it's currently not possible to distinguish the true "grandmasters" from the Fastest Guns in West who grinded their way to the top by answering trivial questions. Feb 27, 2012 at 3:43
  • 1
    @EmileCormier one way to at least partly distinguish that is to cross-check rep generated from answers with the scores of the associated questions, and cross-check rep generated from questions with the scores of the associated answers. Feb 28, 2012 at 3:07
  • 43
    I may be a grandmaster at Python, but if I were to ask a question about iPhone development you can count on me being a complete n00b. Chess is much simpler when it comes to determining who's a grandmaster and who's a newbie; there is really only one dimension to measure there. And no, I don't think per-tag score will solve that either; I've answered connect-my-iPhone-app-to-a-python-server questions already. Jun 15, 2012 at 9:00
  • 2
    You have an idea but it doesn't mean it will work or achieve what you want. We have to look at the whole picture. Making changes to the system like this doesn't mean the system will get better results, it can result in worse results.
    – Kaveh
    Aug 1, 2012 at 0:25
  • How to make sure users(players) play fair game? Grand masters can always delete their questions soon after getting answers. Can't they? Mar 4, 2013 at 9:27
  • 1
    @EmileCormier Just choose Jon Skeet as the only grandmaster. Before we know it the whole of Stack Overflow will be answered as he keeps up his 200 rep a day. Aug 30, 2016 at 19:59
  • @SparKot If you post an answer which is upvoted, and the question is subsequently deleted, you keep those upvote points. It's true that it denies you future points (and it denies other users possibly helpful information), which is why I believe mods can restore a deleted question, you just have to mention it on meta with a link (assuming the question is valuable to the site). Sep 1, 2016 at 13:45
  • are this just some side-commentary, or are you implying some solution here? If you are, can you please spell it out for people like me who are too dense to figure it out?
    – starball
    May 7, 2023 at 22:59
55

How can SE solve this problem?

From the very beginning, I've thought SE should weight upvotes by the reputation of the voter. In fact for a while, I just assumed that's the way it worked, it seemed so natural. An upvote from Jon Skeet is more meaningful than one from noobee1knoobee. I think a system like that would do wonders to alleviate the infamous bikeshed problem. The actual weight of an upvote should probably be something like the logarithm of the repution of the upvoter. Over time, I believe this system would converge to the "right" scores for questions and answers, which should be the objective, right?

6
  • 50
    "ALL ANIMALS ARE EQUAL BUT SOME ANIMALS ARE MORE EQUAL THAN OTHERS." ... to quote Orwell
    – waffles
    Feb 25, 2011 at 2:10
  • 45
    If all users are exactly equal, why have an elaborate reputation system? Mar 1, 2011 at 7:43
  • 11
    It's too late to implement this now. Some folks with high rep might have built their high rep by answering trivial questions with disproportionate upvotes. Feb 27, 2012 at 3:46
  • 20
    Why is it too late? If you can go retroactively and update everyone's rep, it would work. I'm not saying it's straightforward, but it doesn't seem impossible.
    – max
    Apr 16, 2012 at 0:35
  • 6
    theoretically, the votes should be re-calculable from the user activity, hence if the voting system changes, we could - in Git terms - rebase the reputation a user has Apr 12, 2014 at 19:48
  • 4
    It has been done before, so it's certainly possible.
    – NH.
    Nov 27, 2017 at 22:58
38
real questions of the form "How do I frob this widget"

I disagree with Shog9.

Here's a frob this widget question from me that is both, not a paint shed question, and something that I really need help to answer.

The problem is, there are 400 questions something along the lines of.

Importing best practices

Still best practices - importing in the middle of a file

How are 'import module' and 'from module import *'

Or, why is 'from module import *' bad

Pertaining to cyclic imports

These are the five base cases, now mix and match every permutation of these questions until you get 400 unique questions and you now have 400 bikesheds sitting between the highly experienced/talented Stack Overflow users and my hard/impossible question to answer.

Edit: So 400 is an obvious exaggeration. So, to demonstrate I added links. Welcome to bikeshed-land. If you don't see a common theme I'll give you a hint. It rhymes with rubjective. We're talking about low hanging fruit here and a lot, if not most of those question have 5+ upvotes.

Update

Removed the 'canonical' jargon (as Jeff Atwood has steered me down the correct path on that topic in a different post) and 'ranty' examples not related to the topic.

15
  • Link to questions generated by mix and matching of permutations please? Jun 11, 2010 at 4:13
  • 10
    done... and, thanks for the downvote. I know it sounded rant-y, but it was an honest answer. I'm frustrated because I spent 5 hours last night reading bikesheds in an attempt to find a solution before I posted a question. When I did finally post a question the only answer I got was the equivalent to 'that's interesting, why'd you want to do that'? Whatever happened to rejecting subjective questions/answers on SO being the norm? Jun 11, 2010 at 5:01
  • 1
    Good point but those subjective questions are just so fun to answer :)
    – Earlz
    Jun 11, 2010 at 6:55
  • @Earlz I'll admit, I've provided my fair share to cWikis like the infamous 'anti-joel questions' too. Just as long as SO doesn't follow down the same road as reddit. I really like SO as a source of useful info. Jun 11, 2010 at 7:09
  • Subjective answers are especially frustrating when you don't have the rep to down-vote them, and some just beg to be down-voted. Jun 11, 2010 at 7:11
  • Thanks for the edit. (BTW, was the "thanks for the downvote" serious or sarcasm?) I suspect some of those questions are duplicates of each other, but I'm not a mod so I can't really say. I think it's rather poor that people answer questions rather than check if it's a duplicate though. Jun 11, 2010 at 7:20
  • 3
    @Andrew Grimm the "thanks for the downvote" was both serious and sarcasm. I really don't like being immediately down-voted after I answer a question because, often times it's done by drive-by down-voters who provide no feedback (I love critiques as long as good feedback to help me improve is included). I didn't know whether you down-voted it or not but the answer was worth editing/emphasizing based on your comment either way so I did. Jun 11, 2010 at 7:38
  • @Hans "What's special about guys called "Evan"?" I don't think I'm qualified enough to answer that question. Jun 11, 2010 at 23:55
  • I asked this question stackoverflow.com/questions/6058390/when-to-use-which-for and now I'm feeling kinda dirty. I was actually looking for an incisive complete answer which, the accepted answer didn't really give. I wonder now If I was guilty of "bike shedding". (Yikes, perhaps I'm doing it again at 1 remove.)
    – Jodrell
    Jun 2, 2011 at 11:05
  • @Jodrell Naww, I guess bike shedding is still kosher (no rules exist to go against it), it just makes it harder overall to get answers to niche questions. But I have a pretty substantial 'who cares' bias right now cause I haven't spent much time on SO lately. Ask when I re-up on some nerd-rage and I might give you a different answer. ;) Jun 2, 2011 at 21:10
  • @Evan, can you supply an example of a question which gave lots of false matches to these? Surely your other keywords distinguish it. As to the 'from module import *' examples, annoying though they may be to advanced users, almost each one is subtly different. I agree that more aggressive closing-on-duplicates (and editing to correct titles) would be awesome, and should be rewarded by points, in those cases where it is accurate.
    – smci
    Jul 17, 2011 at 21:22
  • 2
    I'm also experiencing the flipside of the new-user dilemma: higher-rep users (wrongly) voting knee-jerk to 'close as duplicate' simply based on the title keywords or tags, without bothering to check whether the question is dupe or not. That's equally frustrating.
    – smci
    Jul 17, 2011 at 21:30
  • 1
    IMO your first link doesn't constitute widget frobbing at all. Feb 28, 2012 at 3:13
  • I learned about frobbing a widget for the first time today! Thank you.
    – MT1
    May 8, 2023 at 16:20
  • This answer turned out to be remarkably prescient. "Edit: So 400 is an obvious exaggeration. So, to demonstrate I added links. Welcome to bikeshed-land." Nowadays there are thousands, without exaggeration. It's bad enough that I made a desperate plea to do something about it a little over a month ago, and it was broadly agreed to be a problem but everyone's waiting on me for a concrete proposal. May 9, 2023 at 6:09
16

How can SE solve this problem?

SE solves this problem by featuring questions for a cost in reputation. They are called bounties, and will put the question in a list of featured questions, with the incentive that good a good answer will receive a larger reputation boost than normal.

11

real questions of the form "How do I frob this widget"

Frobbing widgets is a trivial application of any of a number of general-purpose frobbing techniques. Anyone who has picked up an introductory programming book will know the advantages and disadvantages of each, and anyone who has reached adulthood without undergoing a full frontal lobotomy will need only a casual glance at the relevant widget interface in order to write up a custom frob function.

Therefore, these questions get relatively little attention because they offer nothing of interest to most readers. Hardly filling the role of the Nuclear Reactor in your analogy, they are perhaps a better match for the movements of a painter's arm as he holds the brush applying the committee-chosen paint to the new bikeshed.

Fortunately, SO has the equivalent of occupational therapists... and, perhaps, brush-stroke fetishists... to answer these questions.

4
  • 13
    Either this is some form of meta-so bell-air and I don't get it, or you're serious...
    – shoosh
    Nov 29, 2009 at 7:34
  • 1
    +1, widget frobbing is just as bikeshed as string conversion, if not more so. Feb 28, 2012 at 3:10
  • 1
    Hah! I can't decide if this answer is intended as a joke or not...
    – einpoklum
    Oct 8, 2014 at 21:22
  • 3
    Cute response, but not relevant to the question because that was just a contrived example which you took literally (albeit for the purposes of parody but still…) As such, this should have been a comment, not an answer since you did not attempt to actually address the posted concern.
    – Synetech
    Jul 11, 2015 at 19:12
11

Train more experts so more people can grasp the concept of more complex problems. Which SE is doing by sharing knowledge.

9

Offer a bounty for your question. It's not up to SE (as a service) to get answers to your tough question. It's up to the community. Make it worth the time to look up and research (and test if it's code or something that requires testing).

As for bike shed questions, I've personally started voting them down (when it's the really obviously basic type. Otherwise, find a duplicate, etc). It's okay to vote down bad questions, it's what it's for.

7

Views don't help your question be answered. Views from domain experts are what helps your non-bikeshedding questions get answered.

Forget about reputation, hide tags that have too much noise, use good tags, and ignore the din.

2
  • 2
    Agreed - using only very specific tags helps.
    – Oak
    Jun 12, 2010 at 12:22
  • 4
    "Views from domain experts" ∝ "Views", so pretty much anything which increases views (short of something that attracts you downvotes) is going to help your question get answered. I've seen this happen before with my own questions - using generic tags (like C#) really does help.
    – Justin
    Aug 30, 2011 at 13:59
6

I'm guessing someone has already suggested it in other contexts, but

I wish we could separate two kinds of 'upvote wishes':

  • "Hey, I just had the exact same problem as you, dude!" ... as opposed to
  • "This question is thought-provoking, well-presented, promotes useful discussion etc."
5

Either

  • try to build your own subcommunity that cares about your interest (tagging is important here)

or

  • forget about Stack Overflow and use a much more specialized website

In both cases, you shouldn't consider reputation important at all (it looked as a good idea at first, but now I think that it was bad: how many forums have reputation? How many have reputation points-farming questions and answers?) Anyway, I recommend the first approach (and remember: forget reputation, you won't gain many digits, and it doesn't matter).

1
  • 7
    you are recomending something like "this is what it is, be satisfied, we should even close meta, nothing will ever change, please do nothing"...
    – please delete me
    Apr 23, 2010 at 16:53
2

I take some issues with this question. I think it's framing things in a way that is misleading.

questions that are trivial such as "How to convert a C string to a QString or "What is the difference between . and ->" get a lot more views, answers and votes than real questions of the form "How do I frob this widget" that bother real professionals.

  1. I don't see a significant fundamental difference between the forms of the examples you gave. And from the rest of what you say about fewer views and votes, it sounds like what you're really describing a difference about is (at least partially) usefulness.

  2. I wouldn't call these questions "trivial". Something trivial for an expert can be deep to a beginner. In other words, "triviality" is hard to pin down to something that is the same for everyone. Instead, I'd just say it as how I see what it is that you've described: "relatively-common" questions.

  3. Who says "real professionals" don't ask those relatively-common questions? By definition, a common question is one that many people will have at some point in their journey of learning.

    And who says a "real professional" doesn't need reminding of the answers to common (and even simple or basic-appearing) questions? You probably know what I'm talking about- those questions where you find it hard to remember the answer because it's not very intuitive, and you keep having to ask the question and read the answer again.

    What is a "real professional" anyway? I don't like this gatekeeping language. Are you saying some professionals are illegitimate? And upon what basis? Whether they at some point in their lives ask a common question? Even if people like that exist that have never asked a common question about their field in their life, I don't see how that is something particularly worthy of praise, and even if it were, why it should be something worthy of extra reward on this site, which was not built to make them happy, but to build a knowledge base for everyone.

    And why do you think that whatever this "real professional" class is should be catered to more than the rest of the site's designated audience? A reminder that (at least at one point), Stack Overflow's welcome/front-page (or something along those lines) said something to the effect of it being a site for professional and enthusiast programmers. Even if it no longer says that, the idea it was getting at still holds true. When did we all become okay with this gatekeeping / classism? Or did nobody notice it hiding in the question?

Once you frame the difference as one of commonality of questions and widespread-ness of usefulness (I think it's quite logical to say that they correlate) then you'll see that this is not- as far as the system in its mechanics is concerned- an issue at all. Usefulness is one of the primary recommended qualifiers of usage of upvote and downvote buttons given in their tooltips. Usefulness is one of the primary goals of the knowledge base we're building.


Fewer views mean less possible votes for good answers and hence less incentive for people to answer.

Says who and for who? Not everyone who is here is playing a game to get magic internet points. Some people just like helping people using their expertise. Not that that necessarily leads to behaviours that are in the best interest of the site ecosystem, but the point stands.


Now, do I think it's a great thing that in some sense, unilaterally, answers to more common questions- regardless of the level of expertise required or demonstrated in or by the answer- get more votes (and therefore reward more reputation) compared to questions which get fewer views, votes, and therefore give fewer magic internet points to the answerer?

No.

But I have come to see and understand the reputation system as one that is not a measure of expertise, but of usefulness of contributed content, and if you choose to understand it that way (because it seems that that is not what the Help Center or FAQs currently explain it as), then everything about how some people have more or less reputation falls into place for the most part (besides voting fraud and serial voting).

Would I like it that when I write an answer that I think used/demonstrated more of my expertise, it get rewarded relatively more? Of course! But the system has never chosen to do that, and I accept that reality. Anyway- how would you evaluate something like that objectively? Recall my previous point that triviality is not something that everyone evaluates equally.

How can Stack Exchange solve this problem?

Bounties. In that sense, it's already solved. See a really great answer that tackles an uncommon question that you encountered and gives it great depth and illuminates the answer in an understandable way? Set a bounty and pick the option that says "reward an existing answer".

You must log in to answer this question.

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