The main issue I've had with SO, which while anecdotal seems to reflect the sentiment of a lot of people on here whenever the subject is brought up, is that it's infected with the YX problem.
Now you guys probably know the XY problem (asking the wrong question X to when you really want to solve the problem Y). The YX problem, on the other hand, goes like this:
User: "Hi, how do I do Y?"
SO: "Why do you want to do Y?"
User: "Because I want to do [use case]"
SO: "Are you sure you don't want to do X instead?"
User: "No I don't, I have this constraint and this use case so I'm pretty sure this isn't about X and I really want to do Y."
SO: "Are you sure this isn't a duplicate of [some question involving X]?"
User: "No it's not, the question while similar doesn't have the same constraint or usecase and I have searched SO for a while for questions that specifically involved these and didn't find any so I really need to do Y."
SO: "Wow, I can't possibly imagine why you, for a use case you've examined for a while and which I have been made aware of five minutes ago, could possibly want to do Y while not doing X. I don't know and I rest my case. A solution to Y probably doesn't exist anyway."
Answerer: "Hi to do Y you have to do this [hacky snippet]" (answer accepted)
User: "Cool, thanks!"
SO: "This is bad practice and I don't condone it. It shouldn't be upvoted or the accepted answer."
--------
Of course this is the optimistic scenario, where the question does get eventually answered.
That's because the question has been answered, so it's out of the OP's head I think; what SO wants to do is turn a question into a wiki / knowledge base, but right now only the OP can make the edits and change the accepted answer if applicable. I guess one way to fix this is to relinquish ownership of the question, change it so that highest upvoted answer becomes the accepted answer for example, so it becomes an internet-democratic resource (note: internet-democratic is not real democracy due to brigading, community preferences, etc; the most popular / upvoted answer may not be correct)
i don't see why that even matters? so what if the accepted answer is not the highest voted answer. when i look at a problem it's not always the accepted answer that solves my similar problem. i'll look at the top voted answers, and others too.
those are just guides where to start looking
The only time an accepted answer doesn't pin to the top is when it is when the accepted answer is one from the OP - in which case it doesn't get pinned and sorts by votes only.
I've certainly come across a lot of questions (that I've also wanted to know the answer to!) that have incorrectly been closed as a duplicate of something else that's not really the same. But I suspect there's a lot of selection bias going on: by the very fact I'm searching for that specific unusual case, I'm going to come across this type of question that looks like a duplicate to the untrained eye. On the other hand, people doing the reviewing also see a raging torrent of actual duplicates, and maybe many of those claim their situation is slightly different when really it isn't, causing the reviewers to get jaded.
Yeah, as someone that has reviewed thousands of things in the review queues: There's SO. MUCH. TRASH.
The meme is that it's power-tripping moderators and stuff, but it's mostly normal users like me reviewing an never-ending pile of garbage, trying to let the few good posts through.
Gotta echo this: this is absolutely the main issue I've had with SO.
I'm not sure if this kind of stuff increase recently* or if it's always been an issue that I only began to notice later. I'm also not sure of the cause, nor the solution, but it does seem to indicate a switch from one definition of "education" to another:
1. "helping" users solve problems
2. "schooling" users on what they're doing wrong
* I say "recently", but I just checked and it appears I joined SO ~11 years ago and haven't actively used it in ~7 years, so "recently" is probably not the right word...
StackOverflow is intended to be a repository of good questions and answers, rather than a service of helping people solve their problems. The latter is at most a secondary function - though an important one. The point is, the questions and answers must be edited and up/downvoted to serve future visitors wondering about the, more than to help out the person who originally asked the question.
StackOverflow is intended to be a repository of good questions and answers, rather than a service of helping people solve their problems.
Can you elucidate how these are not the same thing? In my mind, a good answer is one that solves a problem proposed in a user's question. A good question is one that poses a problem other users are / will also share.
Lets contrast it with a poor question as all questions that are good solve the user's problem... but not all questions that solve the users questions are good.
The answer solved the problem (see the final comment). But it isn't a good question. The text isn't searchable. The only way I found it was by trawling through the NullPointerException duplicate questions.
The question that I linked - it isn't a question that someone will find again. It is a null pointer question and the person who answered it hand held the steps to solve the problem. The person answering it was answering it as a service to the OP rather than a "lets improve the ability for people to find information."
Look also to https://stackoverflow.com/q/26566648 - the OP was helped, but was that something that is going to be found again and used to solve another problem? Or https://stackoverflow.com/q/26827621 - the answer is the duplicate and while the person who answered did help, that question isn't something that is useful or findable. Its not a good question (try to find a search query in google that brings back that question).
A good question:
* states its problem well in a way that can be replicated
* is findable by querying a search engine for the plain text error or problem
* is written (often edited by others) to be a useful technical document
Look at https://stackoverflow.com/search?tab=newest&q=is%3aq%20answe... and consider how many of those questions are useful for adding to the body of knowledge and how many are "help me with my problem". And as that's a query for closed questions - look at the duplicates and consider "is that duplicate better written?"
If a question is poorly written, difficult to understand, or is answered by too many different answers ("how can I optimize this code?" and there are 100+ answers) then the utility of that question to help other people goes down. Nonetheless, there are people who will answer it because it helps that person solve their problem.
It seems like most of the "power users" treat it like some giant multi-player online adventure game, where the goal is to win points and go on quests to get questions answered first, get answers closed as dupes, or get the accepted answers. The quality of the answers or information provided matters less than the points.
Neither updating a question nor closing/close-voting gains you any points.
When that happens to you, did you add a comment telling others why it is not a duplicate? In my experience most people don't and if they do it is just a comment like "It is not a duplicate". The latter is obviously not helpful and won't change anybody's mind.
Haha this is funny but over the last 3 years or so I've found this has stopped being my experience. I think two things that are out of my control changed, that being the community developing more and also me asking slightly less noobish questions.
Something I CAN control though is how I ask questions, and I guess I instinctively learned to avoid that trope you're commenting about. So when I ask a question, I state ALL my research, I link directly to related questions that didn't solve the problem, I link to specific places in docs, I paste in specific parts of my code, and I list out all my constraints. Then at the very bottom, bolded and in a single sentence, I state or restate my question.
Since I started doing that, haven't had the above issue.
I think we need some kind of long form essay/how-to for this problem. It's a serious issue and I see millions being wasted this way. Point in case, we continue to push dashboarding tools in the analytics industry (Y) while what we really need is a way to better connect data and processes (X). There is a lot of knowledge in a lot of areas, but how do you vet it? Corporate people (me for instance) are stuck either with writing LinkedIn articles or Medium ones, neither of those promote any kind of fair way to measure "good" contributions.
This reminds me of https://xkcd.com/1172/ (how do I re-enable spacebar heating?) and https://weblogs.asp.net/alex_papadimoulis/408925 ("A client has asked me to build and install a custom shelving system. I'm at the point where I need to nail it, but I'm not sure what to use to pound the nails in. Should I use an old shoe or a glass bottle?").
Usually, when "the YX problem" happens, "Y" is something like "SSH won't let me use my private key because the permissions are too open. I can't change the permissions because [insert reason that would make any security-conscious person cringe]. How do I get SSH to let me use a world-readable private key?"
So yes, there's probably some technically valid use-case, but it's a really big footgun and it probably would be a much better idea to fix the underlying problem the right way.
The difference is perspective. When you are asking a question, you are a professional who has considered the normal way to do things, worked out why it isn’t suitable, and carefully reduced your question to only contain the minimum amount of information, as the site guidelines suggest.
When you are browsing such a question, it was obviously written by three raccoons in a trench coat and you can’t understand why they wouldn’t do the obvious right thing and the question is missing all the relevant information about why they want to do what you don’t like.
For a site full of software developers there often doesn’t seem to be much willingness to accept compromises or trade-offs.
That said, I concede that I often see questions with silly constraints but those constraints are usually because the question was homework and designed as a teaching exercise for the environment which the question is constrained to.
I think introducing some sort of "cost on giving opinion" could work. You get to ask a question if and only if you also provide some sort of solution to the problem as stated by OP. The opposite equals downvote.
Also, as Taleb says "be wary on anyone giving you advice which you didn't ask for".
Comments
The main issue I've had with SO, which while anecdotal seems to reflect the sentiment of a lot of people on here whenever the subject is brought up, is that it's infected with the YX problem.
Now you guys probably know the XY problem (asking the wrong question X to when you really want to solve the problem Y). The YX problem, on the other hand, goes like this:
User: "Hi, how do I do Y?"
SO: "Why do you want to do Y?"
User: "Because I want to do [use case]"
SO: "Are you sure you don't want to do X instead?"
User: "No I don't, I have this constraint and this use case so I'm pretty sure this isn't about X and I really want to do Y."
SO: "Are you sure this isn't a duplicate of [some question involving X]?"
User: "No it's not, the question while similar doesn't have the same constraint or usecase and I have searched SO for a while for questions that specifically involved these and didn't find any so I really need to do Y."
SO: "Wow, I can't possibly imagine why you, for a use case you've examined for a while and which I have been made aware of five minutes ago, could possibly want to do Y while not doing X. I don't know and I rest my case. A solution to Y probably doesn't exist anyway."
Answerer: "Hi to do Y you have to do this [hacky snippet]" (answer accepted)
User: "Cool, thanks!"
SO: "This is bad practice and I don't condone it. It shouldn't be upvoted or the accepted answer."
--------
Of course this is the optimistic scenario, where the question does get eventually answered.
Fast forward a year...
New Answerer: As of v12,5 this is now supported first class like: [....].
Comments:
- this should really be the accepted answer
- OP can you make this the accepted answer?
- accepted answer is out of date, this should be used now
Accepted answer never changes, remains top result indefinitely
That's because the question has been answered, so it's out of the OP's head I think; what SO wants to do is turn a question into a wiki / knowledge base, but right now only the OP can make the edits and change the accepted answer if applicable. I guess one way to fix this is to relinquish ownership of the question, change it so that highest upvoted answer becomes the accepted answer for example, so it becomes an internet-democratic resource (note: internet-democratic is not real democracy due to brigading, community preferences, etc; the most popular / upvoted answer may not be correct)
i don't see why that even matters? so what if the accepted answer is not the highest voted answer. when i look at a problem it's not always the accepted answer that solves my similar problem. i'll look at the top voted answers, and others too. those are just guides where to start looking
Almost every question I search these days follows this template.
It may the nature of experience.
The type of questions that cause me a problem are deeper edge cases that had later fixes for early workarounds.
Votes can overcome a green tick. You need twice as many votes as the accepted answer, but it happens often enough.
Are you sure? https://stackoverflow.com/questions/1911109/ shows a 1458 point accepted answer with a 7764 point answer just below it.
The only time an accepted answer doesn't pin to the top is when it is when the accepted answer is one from the OP - in which case it doesn't get pinned and sorts by votes only.
I've certainly come across a lot of questions (that I've also wanted to know the answer to!) that have incorrectly been closed as a duplicate of something else that's not really the same. But I suspect there's a lot of selection bias going on: by the very fact I'm searching for that specific unusual case, I'm going to come across this type of question that looks like a duplicate to the untrained eye. On the other hand, people doing the reviewing also see a raging torrent of actual duplicates, and maybe many of those claim their situation is slightly different when really it isn't, causing the reviewers to get jaded.
Yeah, as someone that has reviewed thousands of things in the review queues: There's SO. MUCH. TRASH.
The meme is that it's power-tripping moderators and stuff, but it's mostly normal users like me reviewing an never-ending pile of garbage, trying to let the few good posts through.
Gotta echo this: this is absolutely the main issue I've had with SO.
I'm not sure if this kind of stuff increase recently* or if it's always been an issue that I only began to notice later. I'm also not sure of the cause, nor the solution, but it does seem to indicate a switch from one definition of "education" to another:
1. "helping" users solve problems
2. "schooling" users on what they're doing wrong
* I say "recently", but I just checked and it appears I joined SO ~11 years ago and haven't actively used it in ~7 years, so "recently" is probably not the right word...
StackOverflow is intended to be a repository of good questions and answers, rather than a service of helping people solve their problems. The latter is at most a secondary function - though an important one. The point is, the questions and answers must be edited and up/downvoted to serve future visitors wondering about the, more than to help out the person who originally asked the question.
Can you elucidate how these are not the same thing? In my mind, a good answer is one that solves a problem proposed in a user's question. A good question is one that poses a problem other users are / will also share.
Lets contrast it with a poor question as all questions that are good solve the user's problem... but not all questions that solve the users questions are good.
Consider the question: https://stackoverflow.com/q/35647663
The answer solved the problem (see the final comment). But it isn't a good question. The text isn't searchable. The only way I found it was by trawling through the NullPointerException duplicate questions.
The question that I linked - it isn't a question that someone will find again. It is a null pointer question and the person who answered it hand held the steps to solve the problem. The person answering it was answering it as a service to the OP rather than a "lets improve the ability for people to find information."
Look also to https://stackoverflow.com/q/26566648 - the OP was helped, but was that something that is going to be found again and used to solve another problem? Or https://stackoverflow.com/q/26827621 - the answer is the duplicate and while the person who answered did help, that question isn't something that is useful or findable. Its not a good question (try to find a search query in google that brings back that question).
A good question:
* states its problem well in a way that can be replicated
* is findable by querying a search engine for the plain text error or problem
* is written (often edited by others) to be a useful technical document
Look at https://stackoverflow.com/search?tab=newest&q=is%3aq%20answe... and consider how many of those questions are useful for adding to the body of knowledge and how many are "help me with my problem". And as that's a query for closed questions - look at the duplicates and consider "is that duplicate better written?"
If a question is poorly written, difficult to understand, or is answered by too many different answers ("how can I optimize this code?" and there are 100+ answers) then the utility of that question to help other people goes down. Nonetheless, there are people who will answer it because it helps that person solve their problem.
You seem to be responding to the following proposition:
"If it solves a user's problem, a Q&A is good"
which wasn't what I was saying. What I was saying was:
"If a Q&A is good, it solves users' problem(s)"
My last SO experienice was more like this
then someone edits my question to then my question was closed as a duplicate.It seems like most of the "power users" treat it like some giant multi-player online adventure game, where the goal is to win points and go on quests to get questions answered first, get answers closed as dupes, or get the accepted answers. The quality of the answers or information provided matters less than the points.
Neither updating a question nor closing/close-voting gains you any points.
When that happens to you, did you add a comment telling others why it is not a duplicate? In my experience most people don't and if they do it is just a comment like "It is not a duplicate". The latter is obviously not helpful and won't change anybody's mind.
Haha this is funny but over the last 3 years or so I've found this has stopped being my experience. I think two things that are out of my control changed, that being the community developing more and also me asking slightly less noobish questions.
Something I CAN control though is how I ask questions, and I guess I instinctively learned to avoid that trope you're commenting about. So when I ask a question, I state ALL my research, I link directly to related questions that didn't solve the problem, I link to specific places in docs, I paste in specific parts of my code, and I list out all my constraints. Then at the very bottom, bolded and in a single sentence, I state or restate my question.
Since I started doing that, haven't had the above issue.
This is exactly what StackOverflow highly encourages new users to read before asking questions: https://stackoverflow.com/help/how-to-ask
Sadly, some/many don't and then complain because the community is "unwelcoming".
I think we need some kind of long form essay/how-to for this problem. It's a serious issue and I see millions being wasted this way. Point in case, we continue to push dashboarding tools in the analytics industry (Y) while what we really need is a way to better connect data and processes (X). There is a lot of knowledge in a lot of areas, but how do you vet it? Corporate people (me for instance) are stuck either with writing LinkedIn articles or Medium ones, neither of those promote any kind of fair way to measure "good" contributions.
This reminds me of https://xkcd.com/1172/ (how do I re-enable spacebar heating?) and https://weblogs.asp.net/alex_papadimoulis/408925 ("A client has asked me to build and install a custom shelving system. I'm at the point where I need to nail it, but I'm not sure what to use to pound the nails in. Should I use an old shoe or a glass bottle?").
Usually, when "the YX problem" happens, "Y" is something like "SSH won't let me use my private key because the permissions are too open. I can't change the permissions because [insert reason that would make any security-conscious person cringe]. How do I get SSH to let me use a world-readable private key?"
So yes, there's probably some technically valid use-case, but it's a really big footgun and it probably would be a much better idea to fix the underlying problem the right way.
The difference is perspective. When you are asking a question, you are a professional who has considered the normal way to do things, worked out why it isn’t suitable, and carefully reduced your question to only contain the minimum amount of information, as the site guidelines suggest.
When you are browsing such a question, it was obviously written by three raccoons in a trench coat and you can’t understand why they wouldn’t do the obvious right thing and the question is missing all the relevant information about why they want to do what you don’t like.
For a site full of software developers there often doesn’t seem to be much willingness to accept compromises or trade-offs.
That said, I concede that I often see questions with silly constraints but those constraints are usually because the question was homework and designed as a teaching exercise for the environment which the question is constrained to.
I think introducing some sort of "cost on giving opinion" could work. You get to ask a question if and only if you also provide some sort of solution to the problem as stated by OP. The opposite equals downvote. Also, as Taleb says "be wary on anyone giving you advice which you didn't ask for".