449

This just came up again:

homework is not acceptable if the asker has made no effort whatsoever

I'm developing a bit of an involuntary twitch that manifests itself when I encounter the word "effort" on Stack Overflow these days.

Don't get me wrong — effort is good. At least, productive effort is good. But seeing the word thrown around so often without any qualifications makes me start to wonder if we're not becoming that teacher who punishes students for finishing their assignments too quickly by forcing them to sit motionless until the rest of the class has finished. That is, we're more concerned with seeing folks visibly struggle than we are with the results of their labors.

Surely the important goal here is the production of well-asked, well-answered questions, right? Not visible self-flagellation...

I've observed one other rather nasty manifestation of this attitude: folks flagging or voting to close straightforward "How can I do X using Y?" questions. These tend to crop up a lot when there is a new OS or API release, and when the documentation is lacking or incomplete they're often quite useful — but again, there seems to be this idea that because the asker didn't log 50 hours trying to re-invent the wheel first, the question is inappropriate — regardless of how clearly written or generally useful it is.

I was hoping to forestall this when we rolled out the new close reasons back in June, with off-topic reasons targeted specifically at poor quality questions asking for help debugging or writing code. "Describe a specific problem" they read, "Demonstrate a minimal understanding of the topic". I wrote those to mean, "tell us what you know, and what you need to know"...

...but every time I ask someone else to interpret them, I hear, "Oh, those are for questions that don't show enough effort".

I'm sorry, but... When I'm trying to solve a problem and searching for similar questions on Stack Overflow, I really don't care how much effort the asker demonstrates in his question. In fact, unless that effort translated directly into a clear, concise question that I can easily identify as being close to my own and then quickly scroll past to get to the answers, I'm rather resentful of ostentatious displays of effort.

Am I being crazy here? Selfish? Or are those of you throwing out "must demonstrate effort" left and right perhaps missing the point?

37
  • 91
    I like this, but the teacher analogy seems... off. We're not punishing the ones who finish their work ahead of the class. If their work was finished, they wouldn't be visibly struggling, and we'd have no doubts whether they showed effort, because they're done. Those students are the type that don't ask questions of this type. If you changed it to the rote "show your work" comments that math teachers snidely leave on tests, that would fit better to my mind.
    – Geobits
    Dec 9, 2013 at 21:00
  • 11
    Myeah, analogy is off there. The problem 9 times out of 10 is that there is no visible result of their labour. I'd love to give them an A, but not simply because they say they're done.
    – Bart
    Dec 9, 2013 at 21:01
  • 37
    We could just rename the close reason to: Slap in the face too lazy to research :)
    – juergen d
    Dec 9, 2013 at 21:07
  • 18
    You say you wrote the on-hold reason to mean "tell us what you know, and what you need to know". Questions that get my minimal-understanding CV most often are the type that completely skip the "what you know" part. A pasted/linked problem statement is not a question. Even if all you can add is "I checked the docs for a foobar() function but couldn't find it", that's what you know and you should say it.
    – Geobits
    Dec 9, 2013 at 21:13
  • 16
    Let me ask you this then: are you stating "If it's clear and answerable, that's good enough"? I.e. show effort if the question needs it, but if it's clear without it, it's not required? Where does that put the line between "help me out while I solve my problem" and "solve my problem"?
    – Bart
    Dec 9, 2013 at 21:16
  • 53
    ...but every time I ask someone else to interpret them, I hear, "Oh, those are for questions that don't show enough effort" -- That's because people who put effort into their questions can usually describe their problem adequately and demonstrate a minimal understanding of the problem. The lack of these two things generally demonstrates lack of effort.
    – user102937
    Dec 9, 2013 at 21:21
  • 8
    That said, clearly-written questions that meet these criteria are perfectly at home on Stack Overflow. Folks who are re-reading the close reasons as "what have you tried" have taken their eye off the ball, and I'm not in any way interested in seeing gratuitous, fruitless effort just for the sake of demonstrating effort.
    – user102937
    Dec 9, 2013 at 21:26
  • 4
    @Bart: The line is the one that crosses over into help vampirism.
    – user102937
    Dec 9, 2013 at 22:14
  • 8
    @Bart: That's essentially what I'm saying, yes, if you include "and useful to others."
    – user102937
    Dec 9, 2013 at 22:28
  • 6
    @deostroll I think expecting users to watch a video is as unrealisticly optimistic as expecting them to read the help page. In theory it helps, but only once they're pointed to it, and only if they care.
    – Geobits
    Dec 10, 2013 at 15:10
  • 8
    Minor biased anecdote: I don't see "I looked at the docs for foobar() and it hasn't helped" a great lot. I do sometimes – not often, but it is a peeve – see "I couldn't find any good docs for foobar()" which is nearly always a lie. (And prod the poster to say what documentation, bad as it seemed to them, they found, and what part they need explained, as a "blow the dust out of the socket" kind of move.)
    – millimoose
    Dec 10, 2013 at 17:34
  • 15
    @millimoose Just because good docs exist doesn't mean it's easy for people to find them. One of the goals of Stack Overflow (and the other SE sites) is to surface information that already exists on the internet, but is low-ranking, poorly formatted, or otherwise hard to find / understand.
    – Laura
    Dec 10, 2013 at 18:13
  • 5
    I wish you'd posted that as an actual question, @Sha, so that I could close it as "Off topic: questions on MSO must not ask answerers to engage in divination." FWIW, I don't believe for a minute that SO would be more "friendly" without closing - indeed, I strongly suspect the opposite would be true.
    – Shog9
    Dec 10, 2013 at 23:45
  • 10
    ok, then why not redefine "effort" as "show your work" and "show your research"? If you can't show your work, have you done any? If you can't show your research, have you done any? Dec 11, 2013 at 23:43
  • 11
    The premise of the question is wrong. There is no difference between visible self-flagellation and actual programming. And I am not joking. Dec 14, 2013 at 8:14

26 Answers 26

234

Surely the important goal here is the production of well-asked, well-answered questions, right? Not visible self-flagellation...

When I ask for effort, what I'm really looking for is a starting point, some context for where the problem actually exists. So many XY Questions are easily answered by seeing a code sample. Without that, it's like trying to diagnose engine trouble over the phone... even the expert Tappet brothers end up divided over the problem (much more the solution).

The average no-code-included question I see is so vague that nearly every answerer invents a completely different context into which they can inject their awesome knowledge. It's like a rorschach test... you see nails if you've got a hammer, or screws if you've got a screwdriver. Answering becomes a crapshoot... who can guess the OP's actual problem? In the meantime, considerable effort is expended in the comment sections of the question and answer trying to define the OP's actual situation (and what they want). This is effort that could have been used answering one or two other user's questions, had the question been asked clearly in the first place.

Basically, in my opinion, you can't have a well-asked question without some effort and, more often than not, some documentation of that effort.

folks flagging or voting to close straight-forward "How can I do X using Y?" questions. These tend to crop up a lot when there is a new OS or API release, and when the documentation is lacking or incomplete they're often quite useful

This is largely answered by the above, but a single statement by the OP to the effect of "I looked in the documentation [link] and can't find an adequate answer" will, in every case I've seen, result in upvotes and answers. Without that, every reader is forced to go look at the documentation themselves, wasting time and effort. Some just vote to close.

unless that effort translated directly into a clear, concise question that I can easily identify as being close to my own and then quickly scroll past to get to the answers, I'm rather resentful of ostentatious displays of effort.

I've seen plenty of questions which include long blocks of code in an attempt to display "effort". I agree that this is annoying, and I don't accept these as evidence of effort. To me, "effort" is defined as having worked intelligently toward a solution, not just brute exertion. Like target shooting, I'm not interested in someone who has blindly fired off 10 shots and nothing hit. I'm interested in someone who made the effort to line up the shot, but missed. That's someone I want to help.

More important than the worthiness of the asker, though, is the quality of the site as a whole. Asking the OP to show a minimal amount of work helps to produce clearer and more useful questions for other, future readers. Without some effort on the askers part, the site becomes cluttered with questions that are either simple, uninteresting duplicates; or questions that are so extremely specific as to be useless to other engineers. It is for the benefit of the site as a whole, as well as the OP, that we should be asking the OP to show us what they've tried and where they're stuck.


I'll also add that effort leads to much more interesting questions. If you make a habit of stopping and asking every time you meet the slightest resistance, your questions are not going to be very creative or well thought out. But if you are decent at what you do and have put in considerable effort to achieve some result and are still having trouble, well then by golly you may just have an awesome question. Awesome questions lead to lots of rep, high page views and, for Stack Overflow, increased ad revenue. That's good, right?

21
  • 29
    Interesting answer and exactly what I would otherwise have written. Why I didn't however is because I don't know where that puts us with "simple" questions. I.e. those that are clearly answerable, but where the OP might not have a clue. And seeing the failed attempts might be next to useless. Take Regexp questions for example. It seems the community happily answers those requests for code, without any prior effort. And I can't really blame them for not requiring it. So does that mean that demonstrated effort is only required if I couldn't answer without it?
    – Bart
    Dec 9, 2013 at 21:26
  • 14
    @Bart - I've complained about regex questions before, actually. And it's a good example of why we don't want these kinds of questions on the site in general. That tag is filled with completely useless junk. If the whole site were like the regex tag, I don't think I'd visit as much as I do. I'm not the only one who thinks so.
    – JDB
    Dec 9, 2013 at 21:30
  • 3
    @Bart - To answer your question, though... I'd say "yes", effort is only required as necessary to answer the question. And nearly all questions require a fair bit of demonstrated effort to successfully provide an answer.
    – JDB
    Dec 10, 2013 at 0:44
  • 21
    "In the meantime, considerable effort is expended in the comment sections of the question and answer trying to define the OP's actual situation (and what they want). This is effort that could have been used answering one or two other user's questions, had the question been asked clearly in the first place." = +1 Dec 10, 2013 at 5:15
  • 14
    "One user who hasn't tried anything is a tad annoying. 10,000 users who haven't tried anything is, more or less, the death of the site." — we're well beyond that point already. Dec 10, 2013 at 11:20
  • 1
    Oh go on then have a badge Dec 10, 2013 at 15:55
  • 14
    I've seen plenty of questions which include long blocks of code in an attempt to display "effort". I agree that this is annoying, and I don't accept these as evidence of effort. Personally, I strongly prefer the opposite. Questions where the code sample is a trimmed down test case that demonstrates the problem and only the problem. The "effort" that I look for isn't just effort towards solving the problem, it's also effort towards making the problem easier to solve for whoever clicks on the question.
    – millimoose
    Dec 10, 2013 at 17:27
  • 4
    And at the cost of coming across as smug, answerer time and attention is a limited and precious resource. Especially on SO specifically where I'm guessing there's a clearer separation between the two groups, as well as a significant disparity between their sizes. (I'd love to see some sort of data on that actually.) One at least as valuable as the asker's time. It's not unreasonable to expect the person asking to put in more of their time if (and only if) it saves the time of the person answering.
    – millimoose
    Dec 10, 2013 at 17:30
  • 1
    @millimoose - I identify with the sentiment, but the focus there is on the worthiness of the OP to have their question answered, rather than the value of answering the question for future visitors (which is what SO is supposed to be about).
    – JDB
    Dec 10, 2013 at 17:50
  • 1
    Beyond the above, effort also reduces duplicates - this definitely is true, but sometimes can we really blanked all OP because of the strength of their question? From some questions, I have deduced that the OP is not fluent in the English Language and that will clearly be evident in how they ask a question. Additionally, am sure we do not want to do anyone's homework, but there are many newbies to SO who do not bother to read the faq of SO, can we really banish them or merely guide them to asking clearer more defined questions?
    – rommel
    Dec 10, 2013 at 18:18
  • 1
    @JDB - I think there's a difference between expecting the asker to do some amount of busywork to "demonstrate worthiness"; and expecting the asker to progress in their task as far as is reasonably possible, insofar as to make the job of the answerer simple. While the latter could also be easily interpreted as demanding "worthiness", I believe the problem lies when the demand is perfunctory.
    – millimoose
    Dec 10, 2013 at 19:07
  • 1
    @JDB As for the usefulness to future visitors, this seems like a somewhat nebulous goal. Personally I'd say that SO has drifted away a little from it – "how useful will this be to someone else?" doesn't really factor into voting/closing decisions as far as I can see, and the "too localized" close reason got nuked. I'm not sure whether it's a solid enough notion to base best moderation practices on, as opposed to being an emergent consequence of having the site mostly consist of "good" questions and answers.
    – millimoose
    Dec 10, 2013 at 19:18
  • 2
    Ranking questions/answers according to usefulness is also emergent, @millimoose. Folks tend to not know something is useful until they need it - at which point, they can vote on it.
    – Shog9
    Dec 10, 2013 at 19:32
  • Nobody is "forced" to do anything. This is all volunteer work. Or am i forced to speak out about not being able to simply answer "vague" questions that some hasty people don't take time to understand? May 8, 2015 at 12:01
  • @CeesTimmerman - Are you sure? Seriously, though, of course no one is forced... I was using hyperbole. You are free to answer poorly asked questions, and I'd encourage you to do so. But it's still a poorly asked question and I'm still going to respond to it with an appropriate and balanced response.
    – JDB
    May 8, 2015 at 16:29
197

Shog, you're attacking a straw man here. You should know better than that.

Folks aren't looking for "effort" because they think displays of struggle are some sort of magic pixie dust, able to turn a terrible, useless question into gold. They're looking for effort because the lack thereof is the most blatantly obvious hallmark of the thousands of terrible, terrible questions asked every day on Stack Overflow.

  • Lack of research effort leading to countless duplicates.
  • Lack of effort describing the problem, leading to unclear and misleading questions.
  • Lack of presentation effort, leading to hard to read questions.

When I pick a question at random off of the list of the newest, there's a pretty good chance that it sucks. And while I may not be able to describe what the author needs to do to fix it, I can sure as shootin' identify what he didn't do... and that all boils down to a lack of effort.

Maybe your lazy teacher just doesn't want to spend time grading yet another half-assed exam, and hopes that by forcing the student to sit there he'll be forced to put some more thought into his work purely for something to do...

Of course, as understandable though that may be, it's also naive. "Show more effort" is terrible guidance, as the number of questions with "effort" in the form of long, pointless code listings demonstrates. JDB nails it: we don't want to see "effort" so much as we want context!

Show your work

Geobits points out that a better analogy here are those "show your work" marks your teachers used to leave on your math homework.

When a good teacher imposes this requirement on his students, it's not about proving that they've put effort into the problems they've been asked to solve - it's to establish what they know so that he can teach them what they don't. Assuming your students understand the basic concepts involved is dangerous - if you're wrong, they may be too far behind to catch up by the time you find out. By showing their work, you're able to see exactly where they went wrong, and address the specific problem.

The same thing applies on Stack Overflow. And just as there are annoying, time-wasting teachers who demand to see long division next to the solutions to algebra problems, there are annoying people who demand to see "what you've tried" for questions where the only sane answer is "nothing, because I don't know what to try - that's why I'm asking!"

A minimal understanding

There's a famous interview with Richard Feynman, where he was asked the perfectly reasonable question, “how do two magnets attract or repel each other?” To which he responded,

I can't explain that attraction in terms of anything else that's familiar to you. For example, if we said the magnets attract like if rubber bands, I would be cheating you. Because they're not connected by rubber bands. I'd soon be in trouble. And secondly, if you were curious enough, you'd ask me why rubber bands tend to pull back together again, and I would end up explaining that in terms of electrical forces, which are the very things that I'm trying to use the rubber bands to explain. So I have cheated very badly, you see. So I am not going to be able to give you an answer to why magnets attract each other except to tell you that they do. And to tell you that that's one of the elements in the world - there are electrical forces, magnetic forces, gravitational forces, and others, and those are some of the parts. If you were a student, I could go further. I could tell you that the magnetic forces are related to the electrical forces very intimately, that the relationship between the gravity forces and electrical forces remains unknown, and so on. But I really can't do a good job, any job, of explaining magnetic force in terms of something else you're more familiar with, because I don't understand it in terms of anything else that you're more familiar with.

Without communicating what he already knows, the asker creates a prohibitively difficult task for the answerer... He must assume a certain level of knowledge in order to answer, but if he gets it wrong he will waste both his time and that of the reader. The preferable option is to assume that the asker knows nearly as much as himself, as this greatly reduces the amount of background information that must be conveyed - but if he does this and the asker returns confused, his efforts were wasted - and indeed, the more likely scenario is that the asker's knowledge is far less than his own, since otherwise he would've probably solved the problem on his own.

Therefore, it is best for everyone if the asker holds a minimal understanding of the problem domain when he asks his question. If I can assume, when encountering a question on changing fuel injectors, that you know how to use standard tools and take basic precautions around gasoline, I can provide a much more direct, useful answer - likewise, if you’re asking how to shuffle an array using C#, I should be able to assume that you know how to use the language itself, are familiar with the basics of the standard library, etc.

So, how does one identify an asker who lacks a minimal understanding? Well... First off, it requires that you have a minimal understanding of the topic. If you have zero knowledge of the subject matter, you're going to do a pretty poor job of identifying questions that experts on the topic will struggle to answer. Lots of folks ran face-first into this problem when trying to review questions in the close queue - if you don't filter the list down to topics where you have some knowledge, it becomes very difficult and frustrating to review them.

And so this is where your "minimal understanding" close reason, as nice as it sounds, falls apart: identifying effort is easy, but gauging understanding can be impossibly hard.

What do you know, and what do you need?

Going back to JDB's answer, there's a much more straighforward way to describe what we're looking for here. A reasonable question needs:

  1. Context!
  2. A clear statement of the problem!
  3. An explanation for why the obvious solution (if one exists) didn't work.

This could be as simple as, "How can I do #2 in #1 when #3 is unavailable" or as elaborate as a multi-page back-story and code listing. As long as all the elements are present, it's an answerable question with at least the potential to be useful to others.

And what do you know... The venerable How To Ask page lays out these very same criteria:

Tell us what you found (on this site or elsewhere) and why it didn’t meet your needs. ... Be specific ... give us details and context

Indeed, the old "Not a Real Question" close reason captured these as well:

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form.

And Ilmari Karonen works his way around to the same conclusion, suggesting:

Questions ... should be based on real problems that you face, not on idle speculation, impossible hypotheticals or exercise problems with no relevance outside the classroom.

These are all great catch-all descriptions for this sort of question, with the caveat that they don't provide much in the way of specific guidance for the asker. But let's back away from close reasons for a minute... For all the attention it gets, closing is neither the most convenient, nor most effective way to handle these questions.

Strategies for handling low-quality questions

During all of the recent discussions surrounding the close queue backlog, something's been bothering me... A pretty big chunk of the backlog is taken up by questions flagged or voted on using this "minimal understanding" reason. That's not surprising in the least - but it's a horribly inefficient way of dealing with these questions. It takes 5 voters to close a question, and because some amount of subject knowledge is required to properly evaluate them finding the right voters is extra-difficult. Meanwhile, folks who interpret the reason as "no effort shown" are pushing more and more questions into the queue every day...

...If they just down-voted the questions, a privilege available to nearly everyone flagging them, they'd drop out of sight a lot faster.

As shocking as the notion that someone might get their work done for free is, that's not a particularly compelling reason to put a lot of effort into closing a question. And if we factor out the downvoting guidance ("This question does not show any research effort; it is unclear or not useful") from our close reasons, they could become considerably more straightforward.

The only question left then becomes: can we live without our super downvote?

36
  • 13
    In that interview, Richard Feynman (who is normally quite elegant in his speech patterns) exhibits the same Tourette-style gyrations that seasoned Stack Overflow users often exhibit on reading such questions.
    – user102937
    Dec 10, 2013 at 0:06
  • 16
    And of those 5, only 4 bothered to down-vote, @TheGrinch. It's the sort of thing I'm used to seeing on bikeshed questions, but... This isn't that. So I'm left scratching my head at the notion that someone would think a specific, answerable programming question is so inappropriate that it would need to be deleted, but isn't even worth a down-vote.
    – Shog9
    Dec 10, 2013 at 0:20
  • 4
    Oh hey, that rant. I'm flattered, I guess. Dec 10, 2013 at 0:34
  • 8
    "...If they just down-voted the questions, a privilege available to nearly everyone flagging them, they'd drop out of sight a lot faster." - not completely. The automatic scrips that delete not-closed questions will not delete questions that have answers. Closure prevents answers (that get up votes and prevents that automatic deletion). Down voting alone is not sufficient to get them to drop off the radar. People still answer them in hopes of the stray +10 rep from an answer up vote or +15 from an accepted answer. Either one prevents automatic deletion.
    – user213963
    Dec 10, 2013 at 3:03
  • 3
    @MichaelT But a score of -4 drops them off the homepage, meaning they'll get significantly fewer views.
    – Troyen
    Dec 10, 2013 at 3:17
  • 13
    @JDB the downvote is definitely the friendlier approach. A downvote says "this isn't very good". It helps to slow the acquisition of new privileges which the sort of person that asks bad questions might not be ready for. It cleans up the front page. But there's a floor on the 'harm', since most of these questions are asked by 1 rep new users anyway. A close vote, by contrast, puts up a sign that says "CONFORM OR GO AWAY". I'd argue the means of sending that message that still lets the user get an answer is, ultimately, less harmful to all involved. Dec 10, 2013 at 5:52
  • 2
    “Folks aren't looking for ‘effort"’ because they think displays of struggle are some sort of magic pixie dust, able to turn a terrible, useless question into gold”. You know, I rather think they do (as well as the converse: the biggest ingot is worth nothing if you didn't break your back carrying it). And experience doesn't bear it out. FAQ-type questions are among the most useful, even if they're one-liners. Huge code dumps aren't useful to anyone no matter how original they are. Dec 10, 2013 at 10:27
  • 7
    Going by our experience on Information Security, I find that “minimal understanding” is exactly right, and not difficult to apply, if only it was applied for what it means, instead of being turned into “no effort” (which it has zilch to do with). Maybe the close reason needs to be reworded? I'd say “you're so out of your depth that wouldn't be able to understand the answer”, but I don't know how to word it in a way that's both polite and not going to be reframed as “no effort”. Dec 10, 2013 at 10:33
  • 13
    If we should be down-voting rather than (or as well as) voting to close, is there a particular reason we can't down vote from the review queue?
    – OGHaza
    Dec 10, 2013 at 13:37
  • 3
    See: meta.stackexchange.com/questions/140405/… @OGHaza
    – Shog9
    Dec 10, 2013 at 17:35
  • 2
    so tl;dr: downvote more? That I can get behind.
    – Pekka
    Dec 10, 2013 at 18:17
  • 13
    You know, I think a good example here is the classic example on Coding Horror - Bob told the guy to ask the duck. A ridiculous number of new questions are people asking, "Hey duck, my code won't run" - or some variation thereof. It's a struggle to get people to do the basic effort - when I told someone in comment to use the logging module to help diagnose their problem they asked, "Where does it put the file?". This is a question that 30s of experimenting would answer. And I'd say that's fairly typical. Dec 10, 2013 at 18:34
  • 3
    For what it's worth, @usr... Down-votes on questions are free.
    – Shog9
    Dec 10, 2013 at 19:19
  • 2
    The three step effort of providing context, stating the problem clearly, and explaining why obvious solutions don't work was just useful for me. Thanks!
    – David West
    Dec 10, 2013 at 20:46
  • 2
    @jpmc26 - I especially wanted to quote "in terms of which it can be fully understood and assessed". If you have to ask the OP for any additional information, especially basic information, then the OP has not provided sufficient context. As has been said, if a common or easy solution exists, and upon this being pointed out the OP says "I already tried that", then the OP has not provided sufficient context. It's not always possible to know what context is going to be relevant, but you can tell when the OP hasn't made any effort whatsoever to provide it.
    – JDB
    Dec 10, 2013 at 22:56
99

Stack Overflow is going the way of Usenet.

No, I don't mean that the quality is going down. I mean that the moderation of questions on Stack Overflow is focusing more and more on the effort made by the asker to conform to the group norms, and less and less on the goal of “collectively increasing the sum total of good programming knowledge in the world”.

Stack Overflow sought out to “build a great library of canonical answers”. A key characteristic of Stack Exchange, which distinguishes it from other forms of knowledge sharing on the web such as discussion groups and blogs, is that its tidbits of knowledge are searchable. We don't bury gems in 100 pages-long threads. We don't tell people to search the web, 'cause I'm sure this was answered back in '09 (or at least we shouldn't), nor do we answer for the 43278th time: we close the question as a duplicate of the '09 question. We edit posts to make sure they stay up to date. If someone comes up with a better answer three years down the line, we tell them to share their knowledge on the existing question. It's the “Wikipedia of long tail questions” — the Wikipedia of the non-notable. And we filter questions: we only want the answerable ones, not “how long is a piece of string” or “should I wear the blue tie or the green tie”.

The answers… Stack Exchange is all about the answers. Questions are just an enabler. When you need to know something, you might search for a question, but the answers are what you're after.

And yet… asking a good question is hard. So we ask people to put effort in asking their question. We grant people brownie reputation points for asking, albeit half as much per upvote as for answers.

I've sometimes wondered if halving the reputation for questions had been the right decision. I find that writing an answer is for the most part straightforward: 1. understand the question; 2. gather the facts; 3. find a solution; 4. explain. Asking a question is less forgiving: did I provide all the necessary background? Am I stating all the relevant facts? Have I not bogged down the question in unnecessary detail? Am I targeting the right audience? Have I sufficiently oriented the question so that I won't get inapplicable answers, yet not so much that I'd drive off non-obvious solutions? Reputation should in principle be an incentive to write good questions, like it is an incentive to write good answers.

Then again, what do askers care about reputation? By and large, askers don't want reputation¹. They want answers. So maybe reputation isn't so important an incentive anyway. Score is, though — a high-scoring question is more likely to attract answerers, and thus answers.

However score isn't such a good indication of a good question. A good question must be answerable, and score doesn't really indicate this. Plenty of well-written questions are unanswerable — because they're too subjective, too broad, off-topic, etc. Fortunately we have another tool to judge questions: closing. Closing determines whether a question is answerable.

Closing is clearly of value to the community — it's what determines whether the topic calls for answers, for those slices of knowledge that the site is about. Answer score has an obvious use in showing the good answers from the bad. What about question score? Question score has two major effects:

  • The effect on the asker: the votes on a question factor in the asker's reputation.
  • The effect on the community: the score on a question determines to some extent how much attention it gets.

If the asker's goal is aligned with the community's, then all is well: the asker wants answers, so the asker wants attention, so the asker wants a high-scoring question. But often there's a drift. Upvotes on a question are seen as a reward, and downvotes are seen as a punishment. Put effort into the question, get an upvote. Show no effort, get a downvote.

Yet the amount of effort by the asker is not a good indication of a good question.

If I spend a week debugging a 1000-line piece of code, and post it on Stack Overflow in desperation, that's a lot of effort². I may show my analysis, explain all the investigation steps I've taken… and the result will still be an ad hoc exercise in finding the needle in a haystack, useless to anyone else because no one else has exactly my code. On the contrary, a copy-paste of a homework or book exercise is the epitome of laziness³ yet is likely to be useful to many — well-designed homework exercises teach something, and building a canonical repository of solutions to exercises would be in fact a worthwhile use of Stack Exchange.

I've written thousands of answers on Stack Exchange, and I don't think that my most useful answers correspond to the best questions. In fact, detailed, researched questions often have a frustrating trait — they're buried in details that turned out to be irrelevant, which makes them poor duplicate targets, which makes posting detailed, canonical answers a waste. The most useful question for a canonical answer is one that gets to the point quickly and doesn't meander into side issues.

Over time, when a poor question has a good answer, one of two things tend to happen. Either the question gets closed, which is a waste of a good answer; or the question is improved, and thereafter upvoted (because it's now good), and the correlation between its score and the effort by the original asker is lost. Closing the question is detrimental to the community: the right thing is to forget about judging the asker and judge only the question.

When closing starts to be about effort, this does the community a disservice. Voting on questions is supposed to be about effort; closing is supposed to be about answerability.

One of the custom close reasons on Stack Overflow is “Questions asking for code must demonstrate a minimal understanding of the problem being solved.” One of the custom close reasons on Security is “Questions asking us to break the security of a specific system for you are off-topic unless they demonstrate an understanding of the concepts involved and clearly identify a specific problem.” I like these close reasons: in essence, they say “if you're so out of your element that you wouldn't be able to understand the answer, let the grown-ups talk”. There's no point in answering when the asker, or future visitors with the same question, wouldn't benefit from the answer. Unfortunately, on Stack Overflow, the close reason is often interpreted as requiring effort from the asker. No, that's not it. The asker may be trying very hard just to post that question, but if he's too far out of his depth, the question is useless. Conversely, the asker may have spent 30 seconds asking how to undo a mistake, and yet it's such a common issue, and fairly easy to fix, that this tidbit of knowledge is widely useful.

On a forum, when you write an answer, you're helping the asker individually. You don't want to waste your time on a lazy, demanding asker. On Stack Exchange, you're helping everyone with the same question, now or in five years' time. In five years, the amount of effort shown by the asker will be utterly irrelevant. What will matter is how many other people have found your answer useful.

Effort is a terrible thing to factor into question closure.

The problem you discuss in your question is real, and worrying. By insisting on effort, the Stack Overflow community is moving away from the goal of building a canonical repository of answers, and more towards being a forum with peculiar habits. But the question in your title is not the right one. We shouldn't be basing so many judgements on effort. Effort is the wrong problem.

I read the first couple of paragraphs and skipped your rant. Are you going to propose solutions or what?

That's a tough one.

When I started participating on Stack Exchange, I didn't see much point in downvoting questions. Either a question was answerable, or it should be closed. If the question was well-written and interesting I'd upvote it. Then gradually I started to want to convey a message that this question is bad and you should be ashamed. Because, yes, there are plenty of bad questions — not merely off-topic or ill-suited for Stack Exchange but what the hell are you on. Downvote.

Yet I often face the duality of the question score. If a lazy, badly written, poorly researched original post leads to a great answer, the question should be improved. We should downvote the asker but upvote the thread. Does that mean we should downvote or upvote the question? This dichotomy is very common.

Sorry, I'm falling back into rambling mode. Ok, so despite not using regular expressions, we have two problems.

  1. Our primary problem is to build a great library of canonical answers.
  2. Our secondary problem is to keep a decent signal-to-noise ratio on the demand front.

To solve our primary problem, the score of a question must indicate how useful it is. To solve our secondary problem, the score of a question must indicate how much effort went into it. We're back to this: question scores can't make up their mind whether they're rating the thread or the asker.

If it was only for problem #1 then we could do away with question score. We could even go further and do away with question ownership. What matters is the answers, so the question should belong to the community! Edit, edit away. Make each question awesome.

However I don't think this is realistic. Answering is hard work, we can't answer everything, we need quality control.

We could separate the two scores: have a score for the original question (contributing to the asker's reputation), and a score for the current state of the question (contributing to the thread's rank in searches). But maintaining two scores would be awfully complex. These scores would start out identical and gradually diverge over time as the question is edited. This system would be too hard to understand.

So I don't have anything radical to propose. Let's stick with the statu quo, with the schizophrenic question score. It's not too bad as long as we remember to distinguish score from answerability. Effort is a big part of question score. But it should not leak into closing.

Closing is all about answerability. Closing isn't about the asker, it's about the community. “No effort” is not, should not be, must not be a reason to close.

Answering no-effort questions is not “awarding ‘A’s”. Answering is imparting knowledge to thousands of people, of which a measly one happened to ask the question.

Stack Overflow needs to stop worrying about effort and learn to love the answers.

¹ Answerers aren't always after reputation either, but I think they're pretty much universally after positive attention, whether this attention takes a numerical form or not.
² I should cite an example at this point, but I'm sure you know what I'm talking about.
³ Ok, not quite. It's trumped by a scan of a homework exercise.

13
  • 27
    A problem I've noticed with downvoting (in general, not just with questions) is that if you downvote something that isn't obviously terrible, often someone else will shortly come along and upvote it just because "it's bad, but not that bad". So the net effect, regrettably often, is just to give some free rep to people who post bad questions / answers. Posting a comment explaining the reasons for the downvote does help sometimes, but not always. Dec 10, 2013 at 3:13
  • 3
    Ps. For footnote 3, replace "scan" with "screenshot of a PDF". Dec 10, 2013 at 3:16
  • 2
    @Ilmari Karonen: That's a funny way to spell "photograph". Dec 10, 2013 at 5:04
  • 9
    Excellent analysis.
    – Benjol
    Dec 10, 2013 at 6:31
  • One way to solve the question ownership problem is to have multiple questions in the same thread, with users of moderately high rep being able to propose alternate wordings of the question that deviate too far from the purpose of the original question to be edits. Still has a confusion problem, however. Alternatively, you could just turn all such questions that get the great answers and then get edited to be a good question for the great answer into community wiki.
    – Vitruvie
    Dec 10, 2013 at 6:50
  • This is a long post, and I didn't have time to read it all but I would like to point out that USNET is a much better model then lets say reddit.
    – Mikhail
    Dec 10, 2013 at 9:45
  • 2
    @IlmariKaronen The compensating upvote also happens on answers, I don't think this phenomenon is relevant here. If you're complaining about “free rep to people to post bad questions”, this happens more relevantly when a no-effort question is edited into something good. Regarding footnote 3, I've seen them all: screenshots, scans, photos… It's more common on Computer Science where many askers don't know how to typeset math. Dec 10, 2013 at 10:17
  • 1
    If closing is all about answerability, I feel that Questions asking for code must demonstrate a minimal understanding of the problem being solved. Include attempted solutions, why they didn't work, and the expected results. is worded awkwardly.
    – Stijn
    Dec 10, 2013 at 10:44
  • 2
    @Stijn Maybe the awkwardness is in the juxtaposition of the two sentences? The first one is a requisite condition, the question is closed because the condition is not met. The second is advice that may or may not be applicable to any specific case. Most close reasons have this requirement/advice juxtaposition, and it feels natural when you're used to the format, but it does sound odd in isolation. Dec 10, 2013 at 10:48
  • 1
    I'm trying to figure out exactly what your position is. On the one hand, you accuse Stack Overflow of adopting group-think, but on the other you essentially agree with the current crop of close reasons in principle (as specific proxies for what essentially comes down to lack of effort). Would you prefer the days of Stack Overflow when the site was flooded with low-quality questions, everything was subject to many shades of gray (including the close reasons), and the proper use of Community Wiki was argued and debated endlessly?
    – user102937
    Dec 10, 2013 at 16:31
  • 3
    @TheGrinch I can't blame you for finding this answer too long and rambling. Liam's answer summarizes the gist. I don't “accuse SO of adopting group-think”, whatever that means. My objection is to linking effort with answerability; I disagree that any close reason should be related to lack of effort. I don't know what you mean by “the days of Stack Overflow when the site was flooded with low-quality questions”, I haven't seen a marked difference since the close resaons changed or indeed since I joined 3 years ago. Dec 10, 2013 at 16:41
  • "the moderation of questions on Stack Overflow is focusing more and more on the effort made by the asker to conform to the group norms." You must have missed the time when the low-quality filter was put into place. I noticed a dramatic difference.
    – user102937
    Dec 10, 2013 at 16:42
  • @TheGrinch I was thinking of recent months when I wrote this, as far as I can see closing for lack of effort has gotten more frequent. Yes, you're right, the low-quality filter did make a difference. But that's unrelated to closure — it's primarily based on downvotes, which is fitting for something that judges askers rather than questions. Dec 10, 2013 at 16:51
66

It's not about Effort. It's about Respect.

The line I draw for moderation is based on the probability someone will say, "Try X" and the OP will respond, "I already tried X". To which the person will inevitably comment, "Try Y" and the OP will then say, "But I already tried Y!" (without having it in their question originally).

It all comes down to respecting the time of people who answer. If a question doesn't show that respect, I'm more likely to downvote it or to close it. It's not about effort, it's about respect.

You can show almost no effort towards solving the problem yourself but if your question respects other people's time, it's fine.

Examples of questions that do not respect other people's time:

  • "{{text of assignment}}: Need answer"
  • "{{A and B}}: Benchmark this for me."
  • Complete sum of problem is a vague, "It doesn't work. Tell me why."

An example of a Question that shows no effort but respect other people's time:

  • "I'm trying to filter two properties in angular JS, the filter documentation (link to it) doesn't make it clear how to filter on a property. The example doesn't even show what I'm looking for. Using the following code ((text of code)), how do I filter on an inexact match of this property?"

Sometimes people conflate Effort with respect. Showing effort is one way to show respect, but certainly not the only way. Your original text of 'minimal understanding' comes close to what we're trying to get out of a user, but I feel like the text should actually say (something to the effect of):

Questions asked on Stack Overflow should respect other people's time. Showing respect is pretty easy: Take care to spell out your problem, use punctuation, format your code, and tell us exactly why something isn't working. Saying, "It's not working" without being more specific forces people to spend precious time they could be using to help you to get more information so they can help you. You don't need to spend hours trying to solve the problem yourself before coming to us, but we do ask that you write your question with other people's time in mind.

10
  • 5
    Yes. This is what I believe too. Homework questions are ok, as long as they don't just paste the assignment here and expect us to do it for them (I've seen plenty of this). They need to respect that we are taking our (unpaid) free time to help. I always say "why should I take time to help you if can't even take the time to write a question?" Clearly, if they don't know where to start, they won't have any code to show, but they at least need to show that they have a "minimal understanding of the question being solved" and a minimal level of respect for people willing to help.
    – gen_Eric
    Dec 10, 2013 at 15:44
  • 2
    Exactly right. Respect people's time. That's it.
    – user102937
    Dec 10, 2013 at 16:47
  • 10
    Respect has the same flaw as effort as a close reason, and indeed it isn't as different as you make it to be. No, “minimal understanding” is not about respect, and if it was it would be a bad close reason. If I dump my problem on you and expect you to solve it, it may show a lack of respect, but if it's a good question, it should be answered. What you wrote about respect is good advice, but it is not a criterion for deciding the acceptability of a question. Dec 10, 2013 at 16:48
  • 7
    @Gilles Well, respect is not something that you can craft into a close reason, but it does eloquently describe the problem. It's what lack of effort resolves to. It's the difference between someone trying to make the world better by improving the sum-total of knowledge, and someone just trying to get their work done for free. Are you a professional collaborating with other professionals in your field, or are you just a help vampire?
    – user102937
    Dec 10, 2013 at 16:49
  • 2
    @TheGrinch I care whether the question improves the sum-total of knowledge. I usually don't know whether the asker is trying to get their work done for free, and that's irrelevant to determine the fate of a question. Dec 10, 2013 at 16:52
  • 1
    @Gilles: Of course. That's why close reasons have evolved that describe, not lack of effort or lack of respect, but the mechanical flaws that typically surround those things. They are, none the less, still very good at identifying lazy questions.
    – user102937
    Dec 10, 2013 at 16:53
  • @Gilles: Chances are if you just "dump [your] problem on [us]", it's not a "good question".
    – gen_Eric
    Dec 10, 2013 at 17:07
  • I like your answer. However, I think that one of the main differences in your two example versions (which do acutely described two sides of the effort coin) that is not addressed is the minimization of the problem space. Although it is implied in your versions, it is not explicit that one version shows the entire problem space, whereas the other version shows the reduced problem space.
    – Travis J
    Dec 10, 2013 at 18:01
  • 3
    I think that users appreciate it when the problem has been reduced as much as possible so that they do not have to excessively troubleshoot in order to solve the main problem. i.e.: here is my whole assignment vs I am having some issue with this one explicit aspect of my assignment.
    – Travis J
    Dec 10, 2013 at 18:02
  • You're the one to decide if you'll spend time on it. If you think it's a waste of your time, then don't spend time on it. Easy as that. Other people who decide to spend time on it might not feel the same way that you do...which makes 'respect' something that can't quite be defined in objective terms.
    – Chains
    Dec 20, 2013 at 22:23
58

I would like to distinguish between effort in formulating the question and effort in solving the problem. When I want to kill a post, it is mostly for a lack of the former.

7
  • 6
    Short, but exceptionally valid point. Someone can ask a question with no code examples but at least have shown some effort into research, and it will inspire the community to help answer (or assist). The latter, on the other hand, has the opposite affect. Dec 10, 2013 at 5:58
  • Good point but how does the OP making effort to solve the problem increase the usefulness of the problem to other people? It doesn't always. There are many successful and useful questions on SO where the OP has made practically no effort, should these all be closed? Should we only have hard questions then that only advanced users would ask?
    – user217110
    Dec 10, 2013 at 9:32
  • @Liam This is precisely the point. Bad grammar, unclear question, tangent remarks is a different kind of no effort then asking for the HTML 4.01 Strict heading.
    – Mikhail
    Dec 10, 2013 at 9:43
  • I'm confused, just to clarify which would you close no effort in formulating or solving?
    – user217110
    Dec 10, 2013 at 9:44
  • 1
    @Liam formulating, I don't know about no effort in solving. That one is harder.
    – Mikhail
    Dec 10, 2013 at 9:46
  • In which case we agree entirely :)
    – user217110
    Dec 10, 2013 at 9:47
  • Related to these comments: How does proof of effort make a question better?
    – jscs
    Jan 31, 2015 at 20:29
29

Unfortunately, a great many questions I see are simply:

"I copy/pasted some code from somewhere and it doesn't work - please give me working code"

It comes under a lot of guises, but it often boils down to this. The OP isn't interested in making any effort because he isn't interested in the problem - he just wants to finish so he can get paid and go home. I'm sure we've all encountered cases where OPs have actually become somewhat surly with others who are explaining the solution but refusing to provide working code samples.

Showing some effort doesn't even require a basic understanding of what you are trying to do. It could even be simply writing your question clearly, or explaining how you think something works, or merely saying, "I have no idea how X creates Y - can someone put me on the right track so I can follow up on my own?". "Showing some effort" is a little bit like Art - you know it when you see it.

Most (many? some?) of us here are interested in teaching and nurturing, not just providing free labor. When we ask the users to "show some effort", it is both to ensure ourselves that we have a willing learner, and to teach the OP the early steps of how to investigate the problem for himself.

My answer assumes, of course, that we aren't simply trying to make a giant repository of answers to every question. I'm in the wrong place if we are.

7
  • 3
    I think the point though is that the worthiness of the asker is less important than the value of the answer for future readers. Or, at least, that's the question.
    – JDB
    Dec 10, 2013 at 4:31
  • 1
    Yes, but I'm assuming that the question is so vague or poorly written that it wouldn't help others anyway, or is often times simply a dupe. Perhaps I'm not addressing the original question closely enough, but that is my feeling when looking through unanswered questions.
    – jmadsen
    Dec 10, 2013 at 4:34
  • 5
    as an example, while writing the response above, another Codeigniter question about backticks in the select stmt popped up. There are about 50,000 dupes of this; this question serves no purpose, and while the OP did a nice job of explaining, he clearly made no effort to look for an answer before posting. No one looking for this answer is likely to find this question among all the dupes - it really serves no purpose, and is the result of either laziness or lack of understanding about how Google works. Should we continue to just let that slide for the sake of posting useful answers?
    – jmadsen
    Dec 10, 2013 at 4:44
  • 1
    If the question wouldn't help others anyway, that is what's wrong about it. Not whether the code dump represents weeks of work from the asker or was copied from elsewhere. Dec 10, 2013 at 10:09
  • 6
    because it takes people's time, makes them more jaded, clutters the system & answering it encourages the OP to continue writing questions that way because he is rewarded for not putting in any effort is what's wrong with it. some folks on this thread seem to be hooked on the idea that people are complaining about how many minutes the OP spent working on the question - this is completely off-base and causing you to not understand what others are saying
    – jmadsen
    Dec 10, 2013 at 11:02
  • 2
    @jmadsen, one thing that I feel exasperates your issue with duplicates, is the system rewards people who answer a duplicate question but not the person who spends the time finding the duplicate and flagging it as such.
    – user217110
    Dec 11, 2013 at 9:22
  • @Liam - agreed! there are things the system itself might do to steer people answering toward a "recommended behavior" - once we all agree on what that is :-)
    – jmadsen
    Dec 11, 2013 at 22:16
29

Quick point. This is a bad question with no research effort and does not show the slightest nugget of effort:

Convert int to string?

Should it be closed? It's been viewed nearly 100,000 times and is the first result in google when you search for convert int to string c#.

Questions with no effort can be very useful if someone else needs the same piece of information


So if bad questions can be useful (maybe) a duplicate of a bad question is really, really not useful.

This for me raises another point, I see a lot of bad questions that already have a perfectly good answer in the system. I also see people making a lot of points by reiterating the same answers to these questions over and over again.

And why not, the system rewards answering a duplicate but it does not reward finding the duplicate and flagging it as such?

12
  • 9
    No doubt it is useful, but does it belong on SO? Should SO replace Programming 101 books?
    – Stijn
    Dec 10, 2013 at 9:41
  • 1
    So it should be voted to be closed? If we did that to every question like this, it would in one swoop eradicate all the basic programming knowledge accumulated on SO over the years.
    – user217110
    Dec 10, 2013 at 9:43
  • 1
    I honestly don't know. Before this whole discussion I probably would have voted to close, but I think I'm one of the people guilty of using "minimal understanding" as a reason to close questions with no visible effort. (So I have not voted to close now)
    – Stijn
    Dec 10, 2013 at 9:44
  • 2
    Yes, that. Very good summary of my rant. Dec 10, 2013 at 10:12
  • 3
    It's a very simple question with a very simple answer. If someone knows anything about C#, they can answer that question in a few minutes. That, and the fact that it was asked 3 years ago, makes it that the question isn't closed. The question doesn't show much effort, but it is clear. The answer doesn't take more effort than the question.
    – Sumurai8
    Dec 10, 2013 at 10:23
  • @Sumurai8, But if C# was a brand new technology and I asked this question today, I think, it would be closed very quickly as not showing any research effort, thus denying the community a potentially valuable resource for the future.
    – user217110
    Dec 10, 2013 at 10:26
  • @Liam: That particular one, no. But every single duplicate of it, yes. Here's a criteria: if entering the question in Google leads to a nearly identical question on SO, it should get closed on the spot. Dec 10, 2013 at 10:27
  • 3
    @Denis Yes, yes. Your missing my point. If it's a duplicate it should be closed. This thread isn't about duplicates though. It's about the closing of questions for no research effort. My point above is, this question shows no research effort (at all) yet it is a very valuable question to a new user looking for just such an answer. So in this instance it showing no research effort and closing as such is a bad idea and only makes the community less useful.
    – user217110
    Dec 10, 2013 at 10:45
  • 3
    I think you're missing my own point: the site is so polluted with junk that even a tiny amount of effort ought to lead an OP to a preexisting SO question. In that light, I'd argue that "convert int to string in C#" becomes a valid question (with research!) if OP found no dups using Google. I can see the flip side of this, of course: we end up with idiotic questions in our effort to compile a practical version of the docs. The issue here is we're well beyond that point already… there's so much crap lying around on SO that it lures new users into dumping their own crap into the cesspool. Dec 10, 2013 at 10:56
  • 1
    That question should be closed as there must be a duplicate somewhere for such a simple question. It was asked almost two years after Stack Overflow launched. However, it can be a non-trivial problem to find such duplicates, even for the very simple questions. Dec 10, 2013 at 12:43
  • 4
    @PeterMortensen It's also clearly written and short. Chances are it's better quality than any dupes that came before it. The previous incarnations of the question should probably be closed as duplicates instead.
    – Mark Amery
    Dec 10, 2013 at 15:55
  • 1
    gorrammit! Your answer has made me rethink my (SO) world view. Dec 10, 2013 at 21:26
25

Often, when people put a bit of additional effort into solving their problem before they come to SO, they will find the solution without even needing to ask, because the answer already exists somewhere else.

That's the kind of behavior we're trying to encourage. It, in theory, reduces our workload.


and the show more effort line that many people give is mostly talk anyway.

If a question is

  • clear enough to understand
  • concise enough to post a brief solution to
  • and interesting enough for future users to take utility from

it will be well received, regardless of how much effort the poster actually has shown toward solving the problem himself.

12
  • 14
    This is the "common sense will prevail" answer. Which is a good philosophy, but... I've found that common sense tends to get lost when folks forget why the rules that exist were created.
    – Shog9
    Dec 9, 2013 at 21:37
  • @Shog9 Do you know of any clear, concise, and interesting questions where the OP has been asked to show more effort? Dec 9, 2013 at 21:59
  • 2
    @SamIam I can think of clear concise and boring questions where that's the case, and having the OP show their effort very, very rarely makes such questions interesting, if they weren't already.
    – Servy
    Dec 9, 2013 at 22:01
  • 1
    @Sam: I happened to have this one handy; note the comments, then note the revision history, then note the long list of questions closed as duplicates...
    – Shog9
    Dec 9, 2013 at 22:03
  • 7
    @Shog9: Questions like that were very common in 2010, but are perceived today as icanhazcodez. I personally like these kinds of questions, as they're useful to more folks than just the person posting them. If they're still on topic, you should make that clear.
    – user102937
    Dec 9, 2013 at 22:09
  • 3
    Granted, I have no idea what the state of the documentation was at the time it was asked, but that looks like an excellent case for simply reading the documentation. Is that really something SO needs to answer to begin with? It has, and it has so much Google power that it now appears on top. But is this how low we put the bar?
    – Bart
    Dec 9, 2013 at 22:09
  • @Shog9 I do not see any comments on that question. Maybe they have been deleted. What I do see is a question with 4 times as many upvotes as it has downvotes Dec 9, 2013 at 22:17
  • 1
    A new version of Android comes out at least once or twice a year, @TheGrinch. If that question was useful in 2010 (it clearly was, and I suspect probably still is - from what I've seen of the Android documentation, it tends toward being more descriptive than prescriptive; a common issue with API documentation) then there are very likely to be similar questions arising anew with each release.
    – Shog9
    Dec 9, 2013 at 22:18
  • 1
    I suspect Robert cleaned them up, @Sam. The one I was referring to read, "I am shocked, this question has absolutely no efforts from the author, to let alone research before the question, but does not even care about marking "answered". (so we have a double whammy: a complaint about effort AND about accepting an answer)
    – Shog9
    Dec 9, 2013 at 22:19
  • 2
    @Shog9: I don't disagree with that. The real question is, why are similar questions all too often closed today? We accept obscure, highly localized troubleshooting of code snippets, but practical problems that can be solved with code are off-limits if the OP hasn't demonstrated effort first? It seems pretty clear that the question you cited runs afoul of the "minimal understanding" rule.
    – user102937
    Dec 9, 2013 at 22:20
  • 3
    @TheGrinch “icanhazcodez. I personally like these kinds of questions, as they're useful to more folks than just the person posting them.” Yes, exactly! When I have a programming problem and search SO, icanhazcodez is exactly what I'm after. (It has to be codez for my problem, not buried in writing the asker's whole application. That's what too broad is about.) So why would I want to keep out the very questions that would help me? SO should be about 80% “icanhazcodez” and 20% “I'm curious, why is that so”. Dec 10, 2013 at 10:36
  • 1
    @Gilles: I think the line I draw there is when the person says "Thanks for the code, now can you help me implement it?" No, go read a book or learn whatever you need to learn so that you understand it well enough to use it.
    – user102937
    Dec 10, 2013 at 16:57
19

I just wrote a long winded rant on the subject of minimal understanding/effort, deleted it and decided to go with this instead...

A good measure of effort in my opinion, is the "What have you tried?" test. I'm talking about the article not the snarky comment...

When you’re asked “what have you tried?”, it doesn’t mean “show me the code you’ve written, or piss off”. What you have to do is at least try to help yourself – and the trying is the important thing.

Not just for avoiding pissing off someone who would otherwise be willing to give freely of their valuable time to help you, but actually for your own development. Do it enough times and the number of questions you’ll actually have to ask will start to go down. You’ll also be in the position to help others (including me), and that way everybody wins.

So next time you’re considering asking a question, you’d better be ready with a convincing answer when you’re asked “What have you tried?”

If your answer amounts to “not a lot”, take my word for it: the next question you get back will be “then why should I help you?”

"Show your effort" or "Must demonstrate a minimal understanding" are just the next generation of "What have you tried?" They are born out of frustration and can be used either constructively or destructively. It's up to the community to decide which way to turn.

It really comes down to maintaining a reasonably helpful attitude while holding back the flood of people who probably shouldn't be helped.

15

For me, effort means an attempt to research/ solve the problem. It doesn't have to mean that the user spent an hour spinning his wheels.

Tell me why the google results don't work, or tell me that google didn't return anything.

In your case of new technology, the user should have looked at the docs. If there aren't any docs, then the user should state as much.

Why do I ask for effort? Questions a lot of times can be too broad. If the user has done something, it provides scope; it provides direction. It means I don't have to waste my time with things that they have already tried; it means I can see better what they are trying to do.

15

I've always thought that the point of "homework questions must show some effort" was simply to discourage people from copying and pasting (sometimes literally, sometimes by manually retyping) each and every exercise from their textbook or exercise sheet to Stack Exchange.

Sure, it's a real easy way to ask a lot of questions (and an even easier way to get your homework done), and typically the questions will even be on topic and interesting (because the teacher or textbook author tried to make them so). But it's not what the Stack Exchange network really should be for.

Of course, most people would consider it just fine to ask for help with the occasional tricky exercise that you can't solve. But people who only do that aren't really contributing anything useful or original to the community — they're just being help vampires.


Fundamentally, I think all the longstanding issues with homework questions arise from a complicated "impedance mismatch" between the Stack Exchange model on one hand, and the general idea of homework exercises on the other.

Basically, the Stack Exchange system is based on the idea of people helping each other solve practical problems they face in their daily life, and thereby building a useful repository of practical knowledge and generally making the world a better place. To quote the "What is Stack Exchange?" page (emphasis mine):

"We welcome questions that are clear and specific, representing real problems that you face; Stack Exchange is not the place for conversation, opinions, or socializing."

Homework questions, however, are not "real problems" in this sense — they're artificial, made-up problems designed to train your problem-solving skills. Answering such questions doesn't "make the Internet a better place"; the only people it helps are those asked to solve that particular homework exercise (and even then, the help may backfire in the long run, if they just use Stack Exchange as a substitute for actually learning to solve the problems themselves).

Part of the problem, however, is that, by design, good homework questions are interesting. They're the kind of questions that make people want to answer them, that make people think "Ooh, I know this one!" So those questions tend to easily get answers, even when they're actually so localized that they really have no practical use outside the classroom.

So we have a class of questions that are trivially easy to ask (because you just need to copy the question from elsewhere) and attract a lot of answers (and often, consequently, upvotes), but typically contribute next to no lasting value to the site, or to the Internet as a whole. It's no wonder some people don't like them.

And, of course, just to make things more complicated, not all homework questions are bad questions: some are in fact based on real problems one might face outside a classroom, and even if they aren't, they often (by design) demonstrate some practically relevant technique or principle that a good answer may bring to the foreground and generalize upon. So just saying "homework questions are bad, mmkay" doesn't really cut it — not all of them are bad, just many of them.


So, granting that demanding askers to "visibly struggle" in an effort to show effort isn't the answer, what should we do about copy-and-paste homework questions?

My modest proposal would be to add a new closing reason (or perhaps replace one of the existing reasons) to reflect the wording I highlighted above, something like:

"not a real problem

Questions on [site] should be based on real problems that you face, not on idle speculation, impossible hypotheticals or exercise problems with no relevance outside the classroom."

Or perhaps it might be better to focus on the "copy-and-paste" rather than the "homework" aspect, and close them with:

"verbatim copy

Questions asked here must be original and based on real problems that you face, not copied verbatim from other sources (including textbooks, exercise sheets or other websites). If you wish to ask about a specific aspect of a problem presented elsewhere, please explain in your own words how the problem matters to you and what parts of it you need help with."

(I'm not entirely happy about that last sentence: it feels too long, and still doesn't fully communicate what I wanted to get at, which is that "I saw this problem elsewhere and can almost solve it, except for..." or "I saw this asked before, but I don't think the answers are right, because..." are generally OK, whereas "I got this for homework, please solve it for me!" isn't. But it's a start.)

Edit: Struck out the "not a real problem" suggestion above. As noted in the comments below, it's been tried and it didn't work well. I do still think there might be some merit to the "verbatim copy" close reason, as it more specifically focuses on the minimal-effort "Here's my homework, do it for me!" questions we don't really want. Besides, a lot of the really verbatim copy-pasted questions are probably somewhat iffy even on just copyright grounds alone.

10
  • 4
    In regard to the not a real problem one, it's been tried and removed. The problem is when you say that something's not a real problem, yes it is. It is a problem for someone. I don't know how you would reword it, but I just think that if a user sees that a questions been closed because it isn't a real problem, they're not going to understand it.
    – hichris123
    Dec 9, 2013 at 23:27
  • Related: meta.stackexchange.com/questions/164436/…
    – Shog9
    Dec 10, 2013 at 0:17
  • 3
    Not really related to homework, but it makes me cringe seeing a question copied verbatim from other websites - sometimes with "EDIT:" portions - with the asker then responding to comments and answers as if the question were their own. Dec 10, 2013 at 2:57
  • 1
    Questions copied from elsewhere aren't a problem, especially if they're copied from someone who knows how to ask questions. Not all homework exercises are artificial, they often try to exercise important skills. I've sometimes asked questions not because they were about a problem I'd been facing, but because they were about a problem I'd solved for others. The non-originality of a question is entirely irrelevant to its answerability and is not applicable in a close reason. Dec 10, 2013 at 10:21
  • 4
    The biggest problem with homework questions is that they're designed to teach problem solving, but SO is designed to give answers. They need someone to teach them to find the solution, but the SO model gives them the solution itself.
    – Ryan Frame
    Dec 10, 2013 at 17:09
  • 1
    Some of us learned to solve coding problems by reading others' solutions and then adapting them for our own needs, @Ryan. The folks copying answers verbatim are primarily cheating themselves...
    – Shog9
    Dec 10, 2013 at 17:10
  • Is it our place to police homework?
    – user217110
    Dec 11, 2013 at 9:18
  • @Liam: Some people feel it is. In any case, helping people cheat at homework is surely not a goal of Stack Exchange per se, so any questions that only accomplish that are surely bad questions. Not all homework questions are that narrowly scoped, but some are. (Typically, the ones that are look something like "I need to do X, with arbitrary constraints Y, Z and W. Plzgivemethesolution!" Or they're just copy-pasted from the homework assignment.) Dec 11, 2013 at 9:39
  • I don't disagree, just not sure it's practical to allow the community to make this decision. This is likely to produce several false closes.
    – user217110
    Dec 11, 2013 at 9:46
  • @Liam: Which is why I didn't suggest "this is homework" as a closing reason, but instead "this is copy-pasted". I think most of us would agree that, even ignoring copyright issues, if you can't even be bothered to describe the problem you're facing in your own words, you're probably not going to learn anything from being spoon-fed the answer. (And most likely neither will anyone else who Googles for the same assignment and finds the same canned answer.) If anyone else thinks there is a good question buried in such copypasta, it's easy enough to fix anyway. Dec 11, 2013 at 10:04
10

For me the real meaning of the Demonstrate a minimal understanding of the topic close reason is:

This person did not show any effort of making the question readable, useful whatsoever. That is the real problem.

If someone does not provide code that's not the end of the world. But being just lazy and not caring should be closed. Often others need to ask for clarification, format the question, tags, correct grammar ...

Show some effort of making a good question for future visitors too, then all is fine.

5
  • 3
    Isn't that a misuse of the close reason? Being lazy and having a badly written question is what downvotes are for.
    – Troyen
    Dec 9, 2013 at 21:18
  • 1
    I feel like this is highly relevant here: meta.gaming.stackexchange.com/q/5498/51318
    – 3ventic
    Dec 9, 2013 at 21:27
  • 3
    If the question is so badly written it's unclear, there's a close reason for that, too.
    – Geobits
    Dec 9, 2013 at 21:28
  • @Troyen: That depends. When it translates to a question that's sufficiently vague or difficult to understand that it simply can't be answered, then a close-vote seems entirely appropriate (at least to me). Dec 9, 2013 at 21:28
  • 1
    Questions that are unreadable can be closed under the "unclear what you are asking" close reason.
    – user102937
    Dec 9, 2013 at 21:32
10

I'm sorry, but... When I'm trying to solve a problem and searching for similar questions on Stack Overflow, I really don't care how much effort the asker demonstrates in his question. (...) I'm rather resentful of ostentatious displays of effort.

You're fighting a strawman.

Most of these low quality questions display no effort whatsoever: the information is a simple Google away -- more often than not on this very site, at that. Sites like "Let me google that for you" may pass off as rude and get rejected, but they'd be a perfect fit for scores of questions asked on SO.

Also, the threshold is extremely low. Something as simple as "my problem is different from this other SO question" or "The doc [link] is unclear" demonstrates enough effort (i.e. OP used Google) and attracts upvotes and answers.

Here's a different suggestion: add a "I have googled my question" checkbox on the form that allows to ask a question. If left unchecked, submit the question to google in a new tab when the form is submitted.

6
  • 1
    well.. actually... Compare google's (recently even more 'optimized' for your average 'Glitter, Ponies, & MySpace.com'-user and new 'filter down everything that's older then a month'-philosophy) 'personal' filter bubble (yet even on a different machine/same_ip, I know when my gf is online and shopping, just by looking at the ads served to me..) with the google-bubble a new student/coder/non-tech-savvy person lives in.. Result: (sadly) a lot of information might not be just a simple google-query away for those newbie users.
    – GitaarLAB
    Dec 10, 2013 at 9:41
  • 6
    I'm not very sympathetic to that viewpoint. For a coder, not googling an error message or the class, method or function before asking is well into incompetence territory, and borders on the inexcusable — google bubble or not. Not knowing basic syntax and control structures before asking is just as inexcusable in the case of students and non-tech-savvy users. The former should pick up good habits by reading the docs before asking, and the latter should be hiring someone who is if they give reading the docs a pass. Dec 10, 2013 at 9:57
  • when you add a question, it searches SO for similar questions as you add it. Isn't this basically the same your submit the question to Google in a new tab suggestion? Won't they just ignore this as much as they do the current safeguards?
    – user217110
    Dec 10, 2013 at 10:20
  • just beat me to it. Wanted to say: if anything, add a checkbox to confirm that they have checked the suggested similar questions.
    – GitaarLAB
    Dec 10, 2013 at 10:22
  • 1
    @Liam: They could if these potentially related questions returned by SO were anything useful. In my own admittedly limited experience, and in contrast to a proper google search, they rarely do. Dec 10, 2013 at 10:26
  • 1
    @GitaarLAB: yeah, that would be a good first step as well. Dec 10, 2013 at 10:26
10

I believe "How can I do X using Y?" should have their place on Stack Overflow. Many times a user tries starting to learn a new technology and wants to start with one working simple example - and I believe this is usually a very good approach when starting with a new technology.

In these cases, even basic research can be very time consuming, as the user doesn't yet know the relevant sources.

On the other hand, many times a solution for such an answer (or at least some guidance about how to approach the solution) is a no-brainer for an experienced user.

Additionally, these questions can be helpful to other new users of the same technology.

Considering these, there should be room for 'newbie' questions, as long that:

  • Some minimal research was done, or at least there's a reason why it wasn't.
  • The question should be clear
  • The user should expect short answers, or be referred to more specific sources.
10

I'll keep this short and sweet, because I mainly want to talk about one major problem that hasn't been emphasized in the other answers: low effort questions require way too much mindreading.

The main reason I will vote to close low effort questions is that answering them is not about applying your knowledge of the language/library to the kind of problem they're describing, but an exercise in guessing the asker's intent. Having tried to answer these kinds of questions in the past, I know how often they result in the asker dismissing your solution entirely because it's not what they had in mind.

What they had in mind may have been something sensible, or something completely wrongheaded that results from their poor understanding of the tool they're using. Unless you can somehow intuit their exact situation from the details they've provided, you risk putting a lot of effort into an answer that will go completely ignored. Reputation points aren't everything, but they do provide a nice acknowledgement of your effort. Low effort questions break that feedback loop, drawing you into a back and forth with the asker that means the more effort you put in, the more they come back at you with new hurdles and obstacles.

3
  • 1
    Still think my solution to this problem should be reconsidered.
    – Shog9
    Dec 11, 2013 at 0:39
  • 1
    If a question required mind reading, it's unclear. There's no doubt about closing it. (This is probably why other answers here don't dwell on that: there's no need to wring our hands about them, we know how to deal with them.) Dec 11, 2013 at 0:46
  • @Shog9 Would such a solution scale to the number of questions we get these days? We might need quite a few of those 8 ball setups.
    – Servy
    Dec 11, 2013 at 0:48
9

Consider this flow. Someone posts a crap question. Someone else sees a kernel of internet usefulness in it, edits the question into shape, answers it. Who gets the rep, and subsequently the trust to push moderator buttons? The original, well, depositor. This is, from some sort of cosmic fairness standpoint, a reason to want to close rather than downvote.

What if, instead, we had no close votes? Any question that got a negative score and stayed there for a few days would, well, disappear. The justification is as follows: we want to remove the clutter of crap.

How would posters know what to fix without close reasons? Well, there are comments.

How would we get rid of spam? With flags.

In short, Shog's logic seems to lead in the direction of: if you think that this question is not going to lead to a better internet, downvote it. The site will take care of the rest.

As I read the traffic here, that leaves one bit of sociology. Help Vampires, we hates them. Many people 'round here, and I'm amongst them, get steamed by the spectacle of people trying to get something for nothing. Even if their question might become a popular internet resource (for other vampires?), we don't want to enable students to cheat their teachers and themselves, or people being paid to do a job to get away with gross ignorance. And we don't want them accruing rep.

The 'demand effort' department is, thus, part of the social contract. Some of us are willing to write answers if we can feel that we're not being suckered into doing other people's proper work.

The 'just downvote' system handles this. I'd downvote rather than answer.

What about the tendency of the unwashed masses to deliver scads of upvotes to crap questions? The 'close vote' system's 'giant downvote' is a way for people who have rep to outvote people who don't have rep.

Well, gang, if you like that, why not admit it, and make it explicit. Give people bigger downvotes as they earn more rep. And, as before, eliminate close votes.

5
  • 4
    That already exists today... If people don't answer the question. A question that is 30 days old, has -1 or lower score and no answers is automatically deleted.
    – user213963
    Dec 10, 2013 at 3:14
  • 4
    Unfortunately, so many people here are after rep points that these questions rarely go completely unanswered
    – jmadsen
    Dec 10, 2013 at 4:47
  • @jmadsen on the flip side, even a single downvote on an answer can cause the answerer to delete it (only works if it's the first vote).
    – user213963
    Dec 10, 2013 at 5:46
  • 1
    This is exactly backwards. We need close votes because they determine which questions are answerable. It's the up/down votes on questions which have dubious usefulness. “What's your favorite programmer cartoon” is not (usefully) answerable, we don't want it no matter how many upvotes it has. “How do I spam a million people” is answerable (SF material, not SO), we do want it, even if it's downvoted to hell. Dec 10, 2013 at 10:11
  • 1
    I've seen (and been guilty) of rep whoring - answering a question that I know has a duplicate, or at least an applicable answer somewhere. I wonder if not rewarding rep for questions flagged as dups (or even perhaps losing rep, or maybe gaining some rep as the first person to flag a question as dup) might be a way to adjust this behavior... Dec 10, 2013 at 21:32
8

For me it is really simple. I like answering questions if I think OP can (and wants to) learn something from it. If someone just wants code or debug a huge block of code (and therefore wants to abuse me as a free code monkey), it's not worth my time and energy trying to make an answer. It doesn't matter if OP knows anything about the subject, but from the nature of the question you can tell if

  1. Someone wants to learn something from it
  2. Someone will be able to understand your answer

Showing attempted solutions can or cannot be useful in a question. If the question is very simple, and the answer is very simple it is probably not needed to "show effort". If the question is confusing, because OP doesn't understand what the problem is, it requires a lot of effort to produce a correct (and useful) answer. Showing effort in that case means "I did everything I could to make the problem as simple as possible for you". The answer to a question should not take significant more effort than asking the question itself.

Should a question showing 'effort' be rewarded somehow? I don't think it should reputation-wise or something like that. Questions that show less effort than it takes to answer them should however be closed. What is 'effort' (or enough 'effort') should be judged on a case-by-case basis.

1
  • 1
    I agree. there's a big differece between questions about how to insert values into an array or posting an entire exercise asking if anyone has an idea or even ask for fully working solutions (without anything to go on) Dec 10, 2013 at 14:41
8

I've been conscious for some time of the fact that demanding that the question asker show their working can sometimes prove counter-productive. The trouble is that if the question asker has set off down completely the wrong path, then their description of their efforts so far is just noise.

For example, consider this edit of mine:

https://stackoverflow.com/posts/7092613/revisions

Leaving aside the stylistic and grammar fixes, most of what I did in that edit was removing everything the question asker had written about what they'd tried so far. And that made it a better question, at least from the 'body of knowledge' perspective, since it's now more succinct and easier to read, and doesn't distract the reader with an attempted solution that was totally misguided. I make many edits like this, that essentially just strip bullshit out of questions to reduce them to the shortest form possible that provides all necessary information, because that's what I expect to be most useful to future visitors.

Unfortunately, I fear that if it had originally been asked in its current form, it would have been downvoted and hit with "What have you tried?" comments.

7
  • 1
    Personally, I think that post would have been better edited by cleaning up the "... I tried File > Create Snapshot ... but it didn't work", rather than removing it. The highest voted answer essentially says to do that, which obviously wasn't working for the OP at the time.
    – Geobits
    Dec 10, 2013 at 16:13
  • 2
    Don't get me wrong, it is more useful now, but until the question is answered correctly, knowing what the OP has tried can avoid many dead ends.
    – Geobits
    Dec 10, 2013 at 16:14
  • @GenericHolidayName In response to your first comment: nah, the highest upvoted answer says to use 'Save Screen Shot', not 'Create Snapshot'. In Xcode, 'snapshots' are backups of your project, not screenshots - the 'Create Snapshot' option isn't even relevant to the question.
    – Mark Amery
    Dec 10, 2013 at 16:16
  • Ah, I don't Xcode, I assumed it was just a translation error like hundreds of other questions I see, especially since they used the same term in the original title.
    – Geobits
    Dec 10, 2013 at 16:16
  • 1
    @GenericHolidayName until the question is answered correctly, knowing what the OP has tried can avoid many dead ends - this is a really interesting point. What's useful to answerers when they're first trying to answer the question may be very different to what's useful to future visitors looking for information. The only solution would seem to be to have a culture of encouraging 'showing your working' and dumping as much potentially relevant information as possible when initially asking questions, but then cleaning up all but the vital details once an answer is provided.
    – Mark Amery
    Dec 10, 2013 at 16:18
  • 1
    Agreed. Post-answer cleanup of more questions could definitely help. Instead, we often see questions with five bolded "update:" paragraphs and just TL;DR.
    – Geobits
    Dec 10, 2013 at 16:20
  • "In Xcode, 'snapshots' are backups of your project, not screenshots - the 'Create Snapshot' option isn't even relevant to the question." It would still be useful to include something about that in the question, because it sounds like a mistake that people could commonly make. Good answers could then point out what that option is for, and explain its irrelevance to the problem. Jul 1, 2022 at 12:43
7

Should Stack Overflow be awarding “A”s for Effort?

No.

Effort doesn't make a question a good question or a bad question. Someone who doesn't know how to debug their code won't be able to ask a good question. They may put forth a lot of effort in writing the question and providing details, however, if they can't debug, chances are their problem is simply a logic issue or a typo, resulting in a question/answer that is useful to only 1 person that will then never be used again, making it not useful. These kinds of questions used to get closed as too localized.

Examples:

Jquery prepend html syntax error " and '
Very common inner quote issue.

hidden element isn't shown by jquery
Duplicate id.

Add a speed paramater to the jquery plugin "Shorten"
Modifications to a plugin that isn't being maintained by it's author.

How to get all divs of a certain class and add innerHTML
Using a non existent method, doesn't know why it doesn't work.

The first two are just very common questions that come up and get answered several times a day. the third is someone asking for us to make modifications to a plugin for them (This question is actually a good question, it just would have been nice if he would have at least tried.) I don't even know what to say about the fourth question, he can't even see that there are errors happening on his page.

I don't think effort really applies in most cases. Either the person debugs the issue and creates a great question, or they don't and it's a poor question.

Someone who knows how to debug properly will generally include some of that debugging in the question itself, and if they don't, they will when we ask for it. I think lack of debugging skills is 90% of the problem. Answering a poor question anyway simply bypasses the problem, resulting in more poor questions. I rather try solving this problem than contribute to it by answering these poor questions.

5

The wording could perhaps use some improvement. Because it is so vague, everyone has their own interpretation of it.

For me, I view it as what I was told it would be for when the reasons were first brought up. When someone is directly requesting work in its entirety be done for them. To me it is the goto "help vampire" close reason.

Is this correct? I am not sure, but I am fairly certain no one really feels like turning in other people's homework assignments or re-inventing the wheel for them.

By the way, how would I write something like facebook but with more content in php? A+ please, I look at facebook all the time.

4
  • That "something like facebook" example would get closed as "too broad". Dec 9, 2013 at 23:39
  • @IlmariKaronen Not usually. They are hard to find examples to link to because they tend to be deleted...
    – Travis J
    Dec 9, 2013 at 23:49
  • Well, yes, there's some overlap between the reasons (and sufficiently bad questions tend to suck in more ways than one, anyway). But it totally could be. Dec 9, 2013 at 23:59
  • @IlmariKaronen - Yes, those questions tend to be bad and should be closed. But my point was mostly about the wording. The OP clearly spent time and effort considering the next facebook. I mean, they were going to rule the world as soon as someone implemented the RuleTheWorld(boolean) feature for them. They had thought everything out. In the end, the wording lacks in the close reason, but I think there are a lot of users closing questions who recognize a question worthy of being closed and just go with the most consensus present. After all, there is apparently a big to do with the close queue.
    – Travis J
    Dec 10, 2013 at 0:05
5

Visible effort is entirely beside the point.

If it's a good question -- one that might get googled, or others are likely to benefit from reading / learning -- then who cares how much effort the poster put in?

The question has to be clear and answerable -- and toward that end, some folks are better at asking questions than others; I've seen a lot of helpful comments try to nudge the poster to ask the question in a better way.

As for respect (for the answerer's effort) -- again -- beside the point. Not even Rodney Dangerfield could figure that one out. If it's a good question...great. If it's not, you can help to improve it, close it, or ignore it. Mundane, anticlimax -- as Kermit and Fozzy would say -- 'Movin' right along...'

0
4

What is wrong with answering a (simple) question instead of commenting: "try google", downvote the topicstarter and get 10 upvotes for that comment. Who's not showing any effort in this case? :)

Usually 9 out of 10 googles about code lead you straight back to stackoverflow.

6
  • 5
    True, but in ideal world, Google search will lead to one single Stack Overflow question written in high quality and with good answer. And all this fuss is about getting to that ideal world. Dec 10, 2013 at 13:42
  • Since questions can be asked in many different ways, i think that can be difficult. Dec 10, 2013 at 14:35
  • Then again, since questions can be asked in many different ways, they can also be googled in as many different ways. Dec 10, 2013 at 19:32
  • True that. A question is a question. It needs to be documented if there is a chance for it to be asked or searched again, however simple it is.
    – ram
    Dec 10, 2013 at 23:31
  • 1
    The problem with this is that you end up with dozens of mediocre answers to common problems, rather than just one or two amazing answers to common problems. All of those answered duplicate questions make finding the one amazing answer that much harder, as it fills up the google search results.
    – Servy
    Dec 11, 2013 at 20:36
  • @Servy If it's been asked on SO before, say so. Maybe even flag as a duplicate. Having a system like Bugzilla that makes people click "My issue is not listed" before entering the form sounds like a solution. May 9, 2015 at 18:32
4

Surely the important goal here is the production of well-asked, well-answered questions.

Agreed.

So a follow-on question:

Are we producing well-asked & answered questions which are accessible to the public?

When I ask google to help me find the answer to a programming problem, google often directs me towards Stackoverflow. The quality of the first SO answer that google directs me to is often “good” (subjective opinion of mine). Sometimes google’s first SO answer is inadequate, but usually one of the next few SO answers is “good”. I suspect that google directs towards “good” SO answers because those answers are visited more often.

Anyway, my point is that google does a good job of filtering the “bad” questions out of SO requests.

In my experience, Yes… we produce well-asked & answered questions which are accessible to the public.

In spite of a great quantity of “unworthy” questions, SO “distributes” well-asked questions with answers.

Now more to your question.

Some SO questions show ineffective effort:

  • Homework where the well-asked question is really asked by the teacher without effort by the student,

  • Code copied from a blog post plus the question of “How can I do [whatever] with this blog code”

  • “Here’s my great idea in detail without code, please do all the coding entirely for me”

On my more-patient days I comment the questioner requesting a better question. On my more-impatient days I vote to close the question.

There is one class of ineffective effort question that I take the time to answer:

“I’m new here and I have only a few reputation points and I want to learn how [whatever] works”.

Sometimes the questioner may not be far enough up the learning curve to even ask an effective question.

In this case, I don’t mind taking time to bring the learner up to speed with a well-answered response.

I personally believe that a second important goal is to give help to those who “intend” to put in effort but who can’t muster up a well-asked question. (“Help will always be granted here at Hogwarts for those who ask—and are willing to put in present or future effort”)

It seems to me that answering these type of "willing to learn" questions eventually helps SO by giving the inexperienced questioner a chance become an experienced answerer.

3

I agree that effort in any form should be recognized. At the same time though, many users will ask a question on Stack Overflow simply because they don't know anything about the topic and actually aren't able to put in "effort" because of their lack of knowledge.

The demand for effort in a question portrays Stack Overflow as not being a good first resource, because it implies that the OP MUST have some former idea of the concept and have displayed that. I think that that shouldn't be the case, but at the same time, there has to be some standard on questions asked. There does seem to be a good standard in place and relatively easy-to-follow guidelines for question asking, but isn't clear exactly what the minimal "effort" required for a question seems to be. CUrrently, that seems to be determined by the community when they read a question and immediately post "Please see how to ask a question Here" or "Please do some research into the topic first."

My understanding of Stack Overflow is that it both is and isn't a place where answers can be doing the effort for the users, depending on the situation. The threshold for whether a question displays enough effort seems to arbitrary sometimes and other times obvious. Anyway, that's just what I think.

In terms of the title of this post, how would the "A"s translate into something tangible? Most people would assume reputation points, but what if a separate system could be implemented, that would update concurrently to regular reputation points? That could allow the user to achieve recognition for their "effort," but not go overboard to achieve reputation points. It could even be a track of badges that might eventually reward the OP with reputation points after 5 or so.

What do you think?

1
  • 1
    I think the current system is fine, but the downvoters/closers do seem too triggerhappy sometimes. Is there a viewing threshold yet for people who don't want to see unpopular questions? May 9, 2015 at 18:27
3

I think part of the trouble is that the system rewards answers to bad questions. If a Help Vampire (like the term, haven't heard it before!) posts a question with no code for example.

Not wanting to shoot-down a new user, you might comment to prompt him — 'What in particular do you not understand?', 'Can you show us the code for X and we'd be better able to help you', etc.

In the time you're adding your comment, or maybe cleaning up the formatting of the question itself, another user, Fred, has posted the complete solution to the question. Let's say this gets upvoted & accepted by the questionner — that's 25 rep points to Fred.

Fred has recently just joined & wants to increase his rep quickly to unlock more features of the site. This question was brilliant! He knew the answer off the top of his head & gained (at least) 25 points in 2 minutes.

& now we want Fred to start down-voting these questions — instead leaving comments or editing them? Why would he do that, when he can find similar questions & watch his rep rocket up?


I know we say that reputation isn't a measure of how good you are, it's how trusted you are by the community. The trouble here is that

  1. New users don't necessarily take that on-board.
  2. Fred should be less trusted by the community rather than more at this stage — he's adding to the problem.

Solution (?)

Why don't we use the question's score as a multiplier to the rep gained from an answer? E.g.

  • A question is ranked <0, answerer gets 0 rep
  • A question is ranked 0–10, answerer gets normal rep
  • A question is ranked 11–100, answerer gets 1.5x rep
  • A question is ranked >100, answerer gets 2x rep

The particular numbers above aren't important & would have to be weighed correctly, but it would actively discourage what at the moment is far too prevalent — answering bad questions for the hope that the questioner will upvote, even if it's useless to everyone else.

If answering a bad question was pointless, people wouldn't jump in to do it. & the reason we've so many bad questions, is that the questioner knows this too — they could put in effort and form a proper question, but if they don't bother, they'll still probably get the answer they're looking for before the question gets closed.

6
  • 2
    I don't answer low-scoring questions for the upvotes. I answer low-scoring questions to provide a useful answer. Even for the people who are in it for the rep, answering low-scoring questions isn't a good way to gain reputation: you're less likely to get upvotes from anyone other than the asker, and you cannot get reputation from an asker who has less than 10 rep. So this “solution” (which doesn't solve anything) is completley pointless. Dec 10, 2013 at 23:04
  • 5
    This will result in every person who answers a question to immediately up vote it ;)
    – tacaswell
    Dec 10, 2013 at 23:07
  • @Gilles Maybe it's more prevalent on some tags than others, but I've seen very poor questions (asked by people with more than 10 rep, which is hardly a massive preventative measure) where the answerer is, as someone mentioned above, second guessing a poor question in the hope that it's what the questioner was looking for & they'll get rep; or providing code to something already answered elsewhere rather than flagging. Low scoring questions are fine, but I'm sceptical about how answering a negative scoring question could bring value to the community. Dec 10, 2013 at 23:41
  • @tcaswell Haha, that might be true, although that would quickly get balanced out for very poor questions. Possibly you could simply say that negative questions carry no rep. Dec 10, 2013 at 23:42
  • @anotherdave, I've seen a lot of questions getting downvoted for no apparent reason, and when reading it becomes obvious that the poster had not enough knowledge to form the question in a better way. Getting rep from these questions is a lot of gruntwork somtimes but that doesn't neccessarily mean that the question is bad. The downvoting of questions seems rather usless to me.
    – Devolus
    Jan 7, 2014 at 19:10
  • @Devolus I'd say whether we should have the concept of a 'bad' question is a wider discussion — you could argue that questions should either be closed as off topic or else if on topic they are good questions — but if you do have a question with -10 points, as I understand it, that's the community deeming the question not to be useful. If a question isn't useful, it doesn't make sense to me that its answer could be useful, unless the answer does more than addressing the question — I think in that case, like the examples you gave above, the question should be edited & reworded. Jan 8, 2014 at 8:54
3

As per Stack Overflow,

Stack Overflow is a question and answer site for professional and enthusiast programmers.

Having said that, any question on Stack Overflow (part of Stack Exchange), I believe, is expected to be related to programming.

Regarding the question on homework or in fact work-related questions, there may be a few reasons why a question is asked.

  1. Logic/pseudocode {not programming code related} [primary solution to the task]
  2. Error or exception during run
  3. Configuration issues
  4. Lack of documentation/sample for APIs
  5. Better or elegant solution (use of libraries, API, and tools)
  6. Inconsistent/Unexpected behavior
  7. Performance, etc.

Before we ask a question, it would be great if we have the answer to 1. For all other below, it may not be irrelevant to ask questions, even if it might seem of less research. As someone mentioned, we shouldn't be reinventing the wheel.

I have seen posts where people ask/comment: "Don't you use Google?"

Yes! People do. And they still may ask a question because they believe that answers on Stack Overflow are more credible rather than some random blog posts or incomplete documentation.

Also recently, on Google, if we search for any programming-related questions, Stack Overflow is one of the first links with relevant information. So it would be great if we build a database of good questions. Good necessarily doesn't mean not simple or not straightforward. It may mean something which is unique and can (or in future may be) searched for.

The only thing, we may need to follow is to ask a question as cohesive as possible; like just sticking to the point of issue/question. Also, presentation (including good formatting) matters to get good attention.

You must log in to answer this question.

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