31

So I frequently watch the tagged questions on SO, and have discovered something I believe to be an issue, you may disagree, but I wanted to at least pose this to the community. This one in particular is about Python but I believe it probably spans to other areas as well. I have noticed that a large amount of questions that are asked could be answered with very minimal effort on the part of the user, by either googling, looking through documentation, or even searching through other SO questions.

For example. There are approximately 165,000 questions with the tag. A search within that revealed that about 62,000 (a little over 1/3) or all Python questions were about strings. At a quick glance showed that an overwhelming majority of these questions were extremely basic, were derivative of other questions, and/or could have been found out with a little research. I feel that many of these questions are simply cluttering SO.

Now, I recognize that there is an existing method for correcting this, the "Down Vote", but many users see these easy questions as an opportunity to gain some quick Reputation, so there is a feeding frenzy when one of these pops up. People seem to be rather conservative with their down votes, reserving them for more malformed and unclear questions rather than redundant ones.

Is this desired behavior, have I just missed the mark on this one? If this bothers anyone else, are there any ideas on how to correct this? I love the "Questions that may already have your answer" feature that suggests questions that seem like the one you're asking. But it's either not good enough, or people just ignore it and ask their question anyway (I feel the latter). So, just wanted to get everyone's thoughts on this.

11
  • 19
    You might want to talk to the people in the PHP tag. ;) (Similar discussion, not that long ago....let's see if I can find it).
    – Bart
    Commented Feb 15, 2013 at 14:11
  • 19
    It's an acute issue and one that is making it considerably less fun to participate on SO. However, the team is dead set against making it harder to ask questions, or incentivizing the finding of duplicates, so I don't think this will change anytime soon. Ten millionth and twenty millionth question, here we come! Probably 95% of those will be useless and duplicates, but...
    – Pekka
    Commented Feb 15, 2013 at 14:14
  • 15
    ... on the other hand, aggressive closing causes grief among new users, often unfairly, and harms the friendly community spirit. Not sure what the right balance here is. But as it stands, I say we're going to drown in crap and more needs to be done about it.
    – Pekka
    Commented Feb 15, 2013 at 14:21
  • 2
    @Hoopdady could you give examples and post them in your question? We love evidence here.
    – George Stocker Mod
    Commented Feb 15, 2013 at 14:24
  • 3
    @GeorgeStocker: Bah! You're just looking for a list of questions so that you can start another Friday-Afternoon-Question-Massacre! ... count me in... Commented Feb 15, 2013 at 14:27
  • 3
    @Bart I don't talk to people in the PHP tag on principle. Viva le Python! ;-)
    – Hoopdady
    Commented Feb 15, 2013 at 14:37
  • 3
    I love basic SO questions, and don't see them being a problem at all. When I'm working with a language or technology I am not familiar with, I Google a lot of them and always pick the first SO question I see. The problem isn't that SO has basic questions, its that some people use SO as a replacement for Google, and prefer to ask a new question instead of attempting to Google the problem first. Usually I just tell people the Google keywords to use to go find their answer in a comment, or occasionally go hunt down the duplicate and vtc (depends on my laziness level at the time)
    – Rachel
    Commented Feb 15, 2013 at 16:53
  • 2
    @Rachel I agree with your sentiment about basic questions; they're not inherently bad. But commenting to tell people what Google keywords to search is a great way to make those keywords point to the post with your comment (that doesn't actually answer the question or even link to anything that does), which is a bad thing. If you know where a question is answered and choose to comment, you should comment with a link (and/or, if appropriate, vote/flag to close the question as a duplicate). Commented Feb 15, 2013 at 17:12
  • 1
    Too many words. Commented Feb 16, 2013 at 0:19
  • @Pekka웃 couldn't the community disincentive these questions by reducing the reputation gain? Something like a "question difficulty" selector or the like that allows users with over X rep to essentially mark the question as google-fodder rather than something of actual value? It would also give another vector for using algorithms to find duplicates, and for providing search results.
    – jmac
    Commented Feb 19, 2013 at 0:13
  • 1
    After reading a few peoples responses, I agree with most of them. I disagree with the few that say they are leaving SO because of this issue. I still see SO as a very valuable resource, and I think will always continue to be. I just wanted to voice my concern in hopes of bettering my favorite development resource.
    – Hoopdady
    Commented Feb 19, 2013 at 13:47

7 Answers 7

22

TL; DR

By all means, close real duplicates when you find them, downvote lazy questions, and edit as needed; those things improve searchability. However, related questions are useful.

Analysis

Some questions are lazy or poorly-researched, but basic != bad. Even in languages like Python that attempt to be syntactically orthogonal, there's more than one way to express an idea, and certainly more than one way to think about a problem.

It's actually rare that any given question is an "exact duplicate" of another. The underlying ideas may be similar, but the way the question is expressed, the code applied (if any), or the way the asker is framing the question are often different enough that it adds to the overall likelihood that any given topic will pop up on a search engine.

While there's always a risk of low-quality search results with low-quality questions, the fact that so many people ask similar (but not identical) questions clearly shows that there's a need for different answers that make different cognitive assumptions or communicate the answers differently. By all means, close real duplicates when you find them; that improves searchability and the overall user experience.

Think People

Again, while related questions might share an answer, the people asking them often have a different set of inputs and a different cognitive framework. To some extent, any question on Stack Exchange will be about different ways to look at a common set of problems.

Human beings often forget about barriers to entry that they've already jumped over. In programming, it takes a certain amount of experience--not just knowledge--to learn to identify and categorize certain classes of problem. As a result, problems that seem trivial to someone who solves that class of problem every day are non-trivial to someone facing the issue for the first time.

Our about page says:

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

It's for professionals and enthusiasts, not just rock-stars and subject-matter experts. We want to keep question quality high to keep experts engaged, but not every question needs to be an abstruse koan--basic questions can make the Internet a better place, too, so long as they improve on the available body of knowledge.

If any given on-topic question can help others, it deserves to be asked...even if it's closed as a duplicate, merged with another question, or otherwise categorized as related to the existing body of knowledge. These kinds of signposts that point to better questions or answers help people, and that makes the Internet a better place.

7
  • This posts seems to be based on the assumption that closing as a duplicate deletes the question; it doesn't, it just prevents the posting of new answers. It still increases the searchability by providing a new indexed question linking to the existing answers.
    – Servy
    Commented Feb 15, 2013 at 15:24
  • 3
    @Servy You've misunderstood the answer. No one said anything about deleting posts. We're talking about whether multiple representations of "basic" questions need a different mechanism to manage than the ones we already have.
    – CodeGnome
    Commented Feb 15, 2013 at 15:27
  • 5
    I totally get this viewpoint. But how far does it go? No matter whether you're a newbie or not, if you want to flobber a gargle in Ruby in 2013, the first step you take is Google ruby flobber gargle. And I firmly believe it is okay to expect this basic first step from everyone who comes to SO.
    – Pekka
    Commented Feb 15, 2013 at 15:28
  • I know you didn't say they were being deleted, but I feel your analysis states negative consequences that only apply to a question that is deleted, not one that is just closed. If a question is just closed it still sticks around as another window into the answers to that question, which is exactly what you're saying should happen by leaving it open. I'm saying it doesn't need to stay open to get that additional window.
    – Servy
    Commented Feb 15, 2013 at 15:30
  • 2
    @Pekka웃 I believe the "Think People" part of the answer is key here. Many users who want to flobber a gargle actually think they want to frumble a goombo, so they can't phrase a good google search, or SO question.
    – bfavaretto
    Commented Feb 15, 2013 at 16:44
  • @Pekka웃 As an expert in flobber gargle, I find your question too basic, especially since you should have known to Google flubber gaggle instead--everyone knows that! Plus, you should have intuitively searched SO for the "voon" tag, which already contains answers to a related question.
    – CodeGnome
    Commented Feb 15, 2013 at 16:46
  • 1
    @bfavaretto, CodeGnome - those are perfectly acceptable cases for asking a question. But I see dozens every day where the canonical answer is literally the first hit when Googling flobber gargle. No additional knowledge required.
    – Pekka
    Commented Feb 15, 2013 at 16:48
14

I'm just learning Python myself and have been perusing the Stack Overflow questions on Python. Here's my take on the issue.

Some things in the Python documentation aren't well explained. I'm thinking specifically for Django, but I'm sure it extends elsewhere as well. For example, the generic_inlineformset_factory does not behave exactly like the inlineformset_factory, protestations to the contrary notwithstanding.

I know this because I've dug through the source code for both, and there are things I can do for one that I can't do for the other.

Stack Overflow answers have a way of better explaining specific issues than the documentation does. Again, I think of the Django documentation and its ubiquitous 'Book/Author' relationship examples.

If the question is 'easily googable', then do your part and make a really good answer that will show up on Google and give you massive reputation. Then, when that question is asked again, just mark it as a duplicate of the question you answered.

If the person shows no research effort, downvote the question. You can still answer it (and benefit from the reputation).

If the question meets one of the reasons for closure, then vote to close. A question can show no research effort, but still meet the criteria for staying open. That's what we have downvotes for.

2
  • As a Django user, I have to politely disagree. Of all of the web frameworks and toolkits that I've worked with, few have been as well documented as Django. They have done a tremendous job of keeping it up to date, comprehensive, and relevant. Commented Feb 16, 2013 at 1:34
  • 2
    @GeorgeEdison That's ok if you disagree -- but remember I'm coming at it from the perspective of someone who hasn't dealt with it before. What may be 'well explained' to you seems anything but to me.
    – George Stocker Mod
    Commented Feb 16, 2013 at 3:27
9

With such trivial questions, those that could have been answered by the OP with a simple search (google, documentation, whatever), I tend to post a comment - What have you tried?

If extremely trivial, I will also downvote. Many times in my comment I will also ask why the OP didn't try to google or read the documentation (or whatever they should have - like run it in the compiler/interpreter).

You can't help with what others do, just hint that the question is lazy.

6
  • 4
    Just linking to whathaveyoutried.com tends to come off at least a bit rude.
    – Adam Lear StaffMod
    Commented Feb 15, 2013 at 17:36
  • Only if you don't want help...the link has lots of good tips to actually get decent help. Put your big boy/girl britches on, these are the Internets!
    – user7116
    Commented Feb 15, 2013 at 18:54
  • @sixlettervariables That's saying it is rude, but you don't care, not that it's not rude. (Personally, I'm okay with that, but apparently not everyone else is.)
    – Servy
    Commented Feb 15, 2013 at 18:56
  • @Servy: some sort of grammarception going on; trying to follow but I core dumped. I'm saying it's a stretch to call it rude (or rather, only folks who don't want "help" but want spoon feeding, would call it rude). Regardless, as a text-only medium the bar for rude is raised much higher.
    – user7116
    Commented Feb 15, 2013 at 19:01
  • @sixlettervariables I agree with you that it shouldn't be rude; people shouldn't be offended by a comment like that, but a lot of people are, and unfortunately enough people feel that way that I'd say it meets the social definition of "rude".
    – Servy
    Commented Feb 15, 2013 at 19:03
  • @Servy: do they want answers or enforcement of arbitrary mores? :) <- perhaps you just add one of those to improve the link.
    – user7116
    Commented Feb 15, 2013 at 19:06
5

As a non-programmer who needs to code from time to time, I thought I'd throw in my two cents:

Reading documentation can be hard. I've been learning JavaScript/ExtendScript to be able to script InDesign and because there aren't a million tutorials out on the Internet like there are for HTML, CSS, PHP, C#, or anything else that I've tried, I've had to actually open up the PDF documentation and the Object Model Viewer and try to piece things together. I find it to be a less than ideal way to learn.

I've always been someone who learns from example. My first foray into PHP wasn't a class or manual, it was tweaking WP templates. Then I learned enough to make my own templates. Then I took some of my server-side knowledge I gained and used it to help me learn a bit of Classic ASP, which in turn gave me a leg up on understanding some VB.NET and C# concepts. I'm still not a programmer or any kind of expert and I don't always understand a lot of the technicalities, but in the meantime I've been able to make websites and scripts that have satisfied clients and helped me to make a living.

So if I got hit with "read the documentation" while I was starting out, I would have been very discouraged. I understand that people can ask really lame questions, but sometimes when you enter a world full of problems and you're unaware of the scope of that world, your problem really can feel huge.

I'm most active over at Graphic Design, and there are far more "How to do X in Photoshop" questions than I'd prefer to see. But it's not like if they weren't there there'd all of a sudden be an influx of meaningful questions on design theory. It's nice to have the traffic, it's nice to have low-hanging fruit for newcomers to gain rep, and sometimes you end up learning something new along the way!

I think it'd be interesting to consider allowing the OP to classify his question as "basic", "intermediate", or "advanced", with a certain privilege that would allow others to reclassify if needed. Then you could filter the noise out if you want.

6
  • 2
    In regards to your last paragraph, I actually made a proposal like that a while back, but it wasn't too well received. I still think it's a good idea to provide a way to separate beginner questions out from the rest of the questions though for those who hate going through them :)
    – Rachel
    Commented Feb 15, 2013 at 18:50
  • 3
    Often people answering a given question have a good idea of how easy the answer is to discover, given the OP's apparent knowledge of the topic. For example, if taking the exact title of the question and copy/pasting it into Google and looking at the first result gives a high quality detailed answer on the subject, it's obvious the OP put in no time/effort. On the other hand, if looking at the question I can tell that the OP is using the improper terms for what they're trying to do I know that their searches won't ever give useful results, so I'll usually answer, or comment with keywords.
    – Servy
    Commented Feb 15, 2013 at 18:55
  • My problem with pre-classification of questions into beginner/advanced etc is that everyone (and I don't necessarily exclude myself) is firmly convinced about how difficult and advanced their question is. In the vast majority of cases they're deluded; so all this suggestion will do is create tagging wars between the OP and those who might be more experienced in that particular subject (no matter their rep). Commented Feb 15, 2013 at 21:48
  • "As a non-programmer who needs to code from time to time" And there's the problem.
    – user692942
    Commented May 8, 2014 at 18:13
  • @Lankymart What do you mean by this? Is coding/programming an all-or-nothing sort of career?
    – Brendan
    Commented May 8, 2014 at 19:21
  • Programming to some is a career to others it's a meal ticket and still other it's a passion. From the years I've worked in the industry I've made a few observations, main one being that if you're not passionate about programming / coding (call it what you like) you shouldn't do it (that will be controversial I know, apologies if this put's anyone's noise out of joint).
    – user692942
    Commented May 8, 2014 at 19:52
3

I totally agree with what you're saying that sometimes questions are really basic and could be answered with a simple search on Google.

But as you said, you got lots of ways to deal with it:

  • add a comment like "What have you tried?"
  • downvote, but with an explanation
  • declare the question as a duplicate (most simple questions have been ask before)

I would say that a comment like "Just google it.` is not a good approach. There's a discussion about that here: How should we deal with Google questions?.

Of course you can go like "Ah not again" when stumbling over simple questions like:

"My jQuery isn't working" – "Did you run it on 'DOM ready'?` – "Cool, thanks now it's working".

That being said I think that there's no trivial way of sorting out questions like this programmatically because there's no answer to he question:

What defines a question that is "too simple" or "lazy"?

I asked a question yesterday in : Browser version match - regex breaks in PHP 5.1.6 which had a very simple answer that I was very grateful for. Still someone could consider this as "too simple".

Another example is this question I answered some time ago: How to ensure block elements will be on same line in a table?. There were some comments about the "simplicity" of the question and I started a discussion about it: What's is that supposed to mean: Ask a simple question to gain reputation and to attract bots. For the OP it wasn't a simple problem because he was new to a certain field.

And as a last point I'd like to add that a briefly and short explained answer, maybe with a reference to the relevant part of the documentation may help the OP to:

  • improve his coding skills
  • improve future searching for a certain problem
    • the OP might get to know better search terms when his first or second question is answered
  • reveal other parts of his code that should be improved
    • e.g. a question about MySQL shows that the code is vulnerable for injections

So to resume I would say, stick to the possibilities at hand when crossing questions that look like "lazy".

1
  • Based on my experience, the problem with all of these solutions is the "sharks' frenzy" in answering easy questions. The 10k+ users which specialize in such answers this will counteract all of these: they can even delete your comment; they'll upvote the question (giving more rep that you subtract by downvoting by a factor of 2.5), and they get themselves for answering it, which further elevates theirs status. They may also counter-vote the closure, but only if it's before they managed to answer; a closure after it's actually to their advantage because no more answers can be posted. Commented Feb 15, 2015 at 22:09
2

I'm seeing this with the tag also. Newer users (<6 month) are rocketing up in reputation by asking basic questions that get one-vote answers from other newer users. They are overwhelming any de-dupe mechanisms in place.

StackOverflow is losing me as a participant. It seems to be more "social network" than "knowledge base" at this point. FaceOverflow anyone?

0

So just thought about this. Would it be helpful to have the QA aspect of Stack Overflow where people can ask their questions and get answers as normal, but also have an actual knowledge base portion. Where once a question gets elevated to a certain level (through up votes or a high level user feature), it become part of a knowledge base that has already been vetted to be a good question, not a duplicate, and could even be organized in some fashion.

You must log in to answer this question.

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