My strong opinion is that there are other serious issues that the article doesn't even touch on:
1) the silo model of creating dedicated SE sites. There should have been one SO for everything. Collaborative filtering etc would have been an infinitely better direction to go in.
2) the over-moderation by misguided 'defenders' who are too eager to mark something duplicate or move it to some dead SE site. Here's a group of users the article doesn't point fingers at, but which I believe is more of a problem than the noobs!
3) the shelf-life of answers. Almost all the accepted answers are now wrong. Frameworks change, features are added to languages, bugs get fixed. And woe betide anyone who asks a question afresh hoping to get a new and actually working solution...
4) that I'm ok with subjective questions. These ought be handled as such, rather than closed.
There are a gazillion little ways to fix this and make SO relevant again, but I think the mgmt and 'community' are a big part of the problem, not solution :(
(disclosure: I have well over 40K rep, most of it on SO)
As an example of 3) Here's a question that has an accepted answers that is wrong http://stackoverflow.com/questions/7635013 - it's regarding x86, x86_64 and x32. Since x32 was new/unknown at the time, a lot of the answers say "x32 doesn't exist".
And for 2) here's an answer http://stackoverflow.com/a/26522110 that is/was true at the time of writing - a nasty little bug in the Android NDK causes math library functions to not get linked in on pre-lollipop devices if you state you are using android platform 21 and ndk 10c. Two rules lawyers are spouting off about how the poster should post a new question or leave a comment. They are in over their heads. The comments are out of context and come across as patronizing. It is also now an example of 3) since all the tech involved is pretty old in Android terms.
I haven't contributed to any of their sites since the ridiculous deletion of OnStartups due to the opinion of one moderator (If I remember correctly, which is vague now). I don't care that I lost half my rep. Some people had put really lengthy, researched, answers and a valuable resource was just rm'd.
There's far too many silos. Sure separate maths from games from Java. You have a tech question, is it webmaster, server fault, super user, or what? Seems like there's a very slim chance of getting it right first time. Sometimes it's the remit of several but none seem to want it. Or get marked as duplicate when it's fundamentally different to the marked duplicate.
Some of the subjective questions have attracted the best, or most useful, answers. Even when they've survived years they still sometimes get deleted.
Stack Exchange isn't worth the effort any more.
Tex - LaTeX
Unix & Linux
Theoretical Computer Science
Programming Puzzles & Code Golf
Software Quality Assurance & Testing
Vi and Vim
(disclosure: 11K rep, mostly on tools like make, autofoo and cmake.)
But maybe this would lead to it's own problems too.
But I don't understand how having separate sites relates. If you contribute to some of the smaller sites, I think you will find you'll get excellent answers from people more focused on the sort of problems the site covers. Frankly, I've seen DBA questions asked on SO that get short-sighted answers from programmers. Those questions should be asked of people who really know how a database works under the hood.
I can see how collaborative filtering might help. But a big reason people have moved to dedicated sites as opposed to SO is that they want to have separate moderation policies for the questions they enjoy answering. (I've put a little bit of thought into the criteria for spinning off sites on meta.SO: http://meta.stackoverflow.com/questions/271989/does-it-pay-t...)
(Disclosure: I'm a Community Manager hired by Stack Overflow.)
But that kinda make sense: at the beginning, SO was great because answers for noob questions where hard to find. At this point, there are so many other resources to get these noob questions answered or they are already answered. Now, people start asking hard stuff - but engineers (I intentionally do not say developers) who know answers on these questions are not interested in answering.
What could possibly go right about mixing Judaism questions and Christianity questions into the programming questions?
Here's about collaborative filtering: http://williamedwardscoder.tumblr.com/post/15581427232/self-...
Here's just general SO discontent: http://williamedwardscoder.tumblr.com/post/25426541504/stack... and http://williamedwardscoder.tumblr.com/post/26580091073/stack...
Anyone here who can say anything about the community size you would need for something like this to be viable?
Also, there's a very good reason "the dramaboards" are called that.
On a more serious note: Stack Overflow started out as a technical site. Questions about programming often crosses the border to hardware or networking. They rarely however cross into theology.
I'd be fine with opening a different site for theological questions as long as I could have all my technical questions in one place (and more importantly not having someone move them around.)
And the fear of computers into God, perhaps.
Will be happy to try to contribute.
There is so much SO got correct that I think just changing a few rules could work as long as we could manage to get the word out.
As managed above silos probably makes more problems than they solve (partially because of the moderators but I guess the silos should go away anyway).
Same goes for strict rules about what belongs (Case in point: question about inter-company WAN traffic being rejected on networking because site guidelines says something about "inside corporate networks"). Rules about what does not belong (acceptable content) should be OK as long as they don't prevent technical questions from being asked and answered.
A way to deprecate answers (and a way for viewers to "flag" them as "still useful".)
And yes, a way to handle subjective questions. (Quora already has a grip of this only their IMO insane policy of sharing my every click on the site made it unusable for me and a number of others.)
anyone want to crack an interesting problem, and earn a bounty in the process?
A few days left and not a single answer on my recent question here: http://crypto.stackexchange.com/questions/37102/culling-equi...
Curiosity: is there any more relevant alternative?
I don't have a good name for these users like help vampires. They seem more like Harry Enfield's old "Only Me!" character who show up to say "you don't want to do it like that" without providing anything useful. Post an answer to something that is tricky and doesn't really have a good solution and within minutes you'd have a comment saying "that's not the way to do it, the real solution is for the OP to start over using some other methodology". Often I'd get an accepted answer, but the comments were just grating. They'd gloss over the problem to post a rep-safe comment undermining your answer.
Then the other problem I had was I would find a problem that I'd suffered before asked as a question. It was usually something fairly uncommon. I'd post an answer, then there'd be nothing. No upvotes, no response from the OP, no comments... just nothing. I figured if the original askers don't care about their questions, why should I bother? Eventually from 2012 to 2015 I just stopped answering at all. I still occasionally visit the site but don't feel motivated to get involved any more. :-(
Just as you mention, for most questions on StackOverflow, there is at least one "Never Do That!" answer. Nobody seems to be aware that users seldom care enough about the sites the visit to "Read the FAQ" and no matter how many of them you hunt down and guilt, you will never find them all. The site has so much moral righteousness, it's kind of like the "Stanford Prison Experiment" of help sites.
While StackOverflow has many good qualities, it makes the mistake of "blaming the customer." It's an illusion to think you can improve a site by making people feel bad. The energy they spend on hunting witches, would be better spent on ways to fix the quality problem that focus on carrots only.
The problem with addressing question quality by making people feel bad, is that you're setting yourself up to be (ugh) "disrupted." As soon as someone finds a way to get the same quality of results without all the pithiness, and finger pointing, you're at a big disadvantage.
I try to look at it the other way around. My memory is not that good and I might encounter the same problem again a few years later... Wouldn't it be nice if I found a nicely articulated answer on SO? :) That has actually happened to me more than once.
I myself stopped being active (as in: chasing the score) when a question I put a lot of effort in and was actually important to me got shut down because "we don't do library recommendations here". It wasn't the first time either, but that straw broke the camel's back. Now I just take care of myself when I need something and ignore the rest of the circus. (5k+)
1) SO launched a few years after I graduated college and was an immediate and invaluable resource to me.
2) I learned more, got in a position to be able to answer some questions, and started trying to answer questions. Realized there were people on the site that were much faster than I was at answering (and often more incomplete) and stopped.
3) Started asking more subjective questions. They got really useful, long, smart answers from experienced people. Example question: "How do I plan an enterprise level web application?"
4) Started contributing to SO less and less as the correct SO answer would often be a top Google hit.
5) Noticed that many of my subjective question posts were closed or moderated in some way.
6) Tried asking more subjective questions that were immediately closed by moderators as being too open ended. Got frustrated. Stopped thinking of Stack Overflow as a place to go to get an expert's opinion.
7) Noticed as I got more experienced that the quality of answers was extremely variable. Sometimes the most upvoted answer or the answer that was marked correct either lacked import context/caveat information or conflicted my firsthand experience with the problem.
I don't use SO as a source of learning anymore other than when API documentation isn't available or sufficient.
It's an invaluable tool for a junior developer but becomes less and less useful as a person grows into their career.
The latter point is really important. I use API documentation whenever it is actually reasonably complete and up-to-date. But with many abysmal documentations (cough Rails cough) I just go straight for SO because the thing I'm looking for is probably not even documented. Or if not, I won't find it in there because search is only by class/method name, not by task.
I think the SO community will often vote to migrate such open-ended/broad questions to http://programmers.stackexchange.com/
or a specific stackexchange site like http://webapps.stackexchange.com/ in this case.
I remember discovering Usenet and how amazing it was. Not only isn't it what it once was, but what it once was leaves some things to be desired.
I remember discovering Slashdot and how amazing it was. ...
I remember discovering Wikipedia and how amazing it was. It's actually still pretty good, but the manipulators, idiots, and politics are brain-numbing and/or blood-chilling.
I remember discovering University and how amazing it was. It's actually still pretty good, but the manipulators, idiots, and politics are brain-chilling and/or blood-numbing.
I remember discovering books and experts and scientific articles and documentary series and ... Lots of stuff.
Some of it's still good. Some of it now strikes me as painfully stupid. Often it's not so much the answers that aren't known but the questions. Or we discover there are black swans and have to toss a bunch of priors. Or the words and moralities on which The Elders based everything on have changed beyond recognition. Or The Elders' message has been so distorted by a game of Telephone run a few millennia too long. Every generation or two, everyone seems to toss everything out (especially the good stuff I worked so hard on) and start making basic mistakes from scratch again.
That other system is called life. SO is a lot like life.
Understanding is hard, it doesn't transfer well, the Guardians of the Knowledge start seeing the primary goal as Guardianship rather than Knowldging.
Then something comes along and grinds everything into the dust and it's built up again and a new generation of bright-eyed, bushy-tailed young'uns comes along and discovers an invaluable resource.
So it goes.
The same goes for questions, if you ask something that is moderately complicated it will go largely unnoticed and unanswered (even if you bounty the hell out of it).
And then you have the zealous behaviour of some mods, some of them don't even have the slightest sense of consistency - I've seen extremely helpful questions with tons of valuable answers being closed as "off-topic" just because the post was (still) getting a lot of attention. Where as mostly related questions / answers in another thread (but with much less value in terms of knowledge) are still alive.
I think this is actually not a problem, because most users can still successfully find the answers they need on Stack Overflow.
Here's how I believe I and other users use Stack Overflow. We have a problem. We Google that problem (or occasionally search on Stack Overflow). We usually find a fairly popular (and high-quality) question with a fairly popular answer. We're satisfied by that answer.
The article points out that the number of good questions has remained constant, but the number of bad questions has increased. Maybe there's really a close-to-constant number of good, searchable questions that can be asked at any given time, and the declining average quality is just a result of Stack Overflow's popularity.
My main issue is that there's a lot of closed questions that probably shouldn't be.
I also agree with many other comments that there should be far fewer SO sites. There's no reason why a lot of the technical SO sites related in some way to programming need to be separate ones.
I wish SO highlighted http://stackexchange.com/sites so that people can participate in the respective stackexchange communities where they will be more welcome. I have seen that a lot of good questions on StackOverflow get closed/migrated simply because they are irrelevant on StackOverflow.
A similar analogy would be to think of something that would be gold in the right sub-reddit but controversial/irrelevant on the main reddit page.
StackOverflow encourages constructive Q&A.
The SO community has always aimed to close any questions whose answers will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.
I know that the current tendency for those questions is that they should be posted on programmers.stackoverflow, but I found the quality there dubious at least (too much armchair architects).
> The SO community has always aimed to close any questions whose answers will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.
This isn't true back in the day people gave good opinions on things with subjective answers. Frequently you'd have author of framework A saying whats pluses and minuses it has and the same for framework B and C. I didn't see any flamewars. The problem is that they started moderating questions instead of answers. If you get a bad subjective answer simply remove it with a warning.
Thats what! If enough people aren't interested/participating in a particular stackexchange site, then an open-ended question on StackOverflow is not likely to generate any canonical answers with proper references from the people hanging out on StackOverflow.
Also such a question is likely to be too-specific i.e. "ahead of its time" to be discussed in an open forum without enough people having experienced first-hand the various nuances involved. Ergo, Fanboyism/Flamewars ensue...
The strict community moderation guidelines on StackOverflow, make it a very "clean" and informative part of the internet. This is at the cost of few "borderline-acceptable" questions being closed.
Right now, it appears to be a conscious decision to accept this fact on StackOverflow.
It would be good to ensure that people who ARE interested in a sub-domain are aware of he relevant stackexchange sites. Discover-ability and the ease of browsing/following related tags across the various stackexchange sites could be easier, so that people can "hang-out" in the relevant sites. Is there a way to generate unified feed or search for a tag across all sites on StackExchange? (i don't know. maybe it would help improve participation in the relevant sites)
Sometimes I am looking for subjective answer, because let's face it - objective one doesn't always exist (if ever). Saying SO is not the correct site for this is of course a legitimate response, but the feelings it evokes in me (especially after it replaced myriad of forums where I could have gotten a better answer) are not very friendly. I deal with it in my own way (not actively helping others), but it's a shame...
* The android section is terrible. The questions are a mixture of people not knowing how to write java code at all mixed with questions of people getting hindered by the terrible SDK. (I develop software in Java for 10+ years and Android still gets me sometimes.)
This situation would be better if it wasn't so easy to shoot yourself in the foot with the android-SDK, but nothing we can do about that now.
* Sometimes I have in-depth question about libraries which, if I follow the support-instructions, often go like this:
1. Ask in the chat (ugh, why chat?): I almost never do that, because I need archivable asynchronous communication not chat.
2. Ask on the mailing-list if there is one. This goes well in some projects.
3. Open a github-issue. In overwhelmed projects like react-native, you get immediately forwarded to SO.
4. Ask on SO where nobody answers because nobody knows the technical details.
So… The maintainers of projects like react-native often get spammed with general coding questions of newcomers, which leaves no time for in-depth questions.
Another problem is that, especially in Android, many answers are not actual solutions but crude workarounds that work in specific cases and might even break more stuff in the future. But: "Hey it compiles!".
Generally: bad inheritance, bad separation of concern, unidiomatic java (I think much of it was automatically converted from C++), overcomplicated classes and just so many wtf-moments I had.
Example: You want to store state.
1. In standard activities you have this really nice method "onSaveInstanceState" where you can save state to a "Bundle". And "onCreate" where you are handed a bundle to restore. You write the logic for doing that and should be done.
2. Then you learn that "onSaveInstanceState" isn't actually called when stopping an app, only when rotating the screen, so you have to save your state elsewhere. In onStop for example, sounds nice.
3. onStop doesn't take a "Bundle". Hm… ok let's see save it to disk.
4. Oh, Bundle isn't meant to be serialised because the internal format is allowed to change, so you have to write serialisation again after all. Ok, "Bundle" is out.
Let's use json and be done with it.
5. But for some reason it sometimes doesn't work. Turns out "onStop" only sounds like it's being called when your app stops. It's actually not guaranteed to be called, so you have to use "onPause".
This is just one example of many where things could be more aptly named, better documented and so on.
It's just not replicate-able outside of the world of computers.
And it not because these other fields don't have solid answers, it just seems it's to hard to get consensus on what they are.
There is a best way to cook an egg, it's not subjective, but fked if cooking overflow can work it out.
> Stack Overflow's talent for self-regulation is really, truly impressive and, sure, results in some dickishness, but asking bad or lazy questions is its own kind of dickishness. It would be a shame to see it erode further.
(Though there's some sense to that, yes.)
Better still would be to change the URL to the paper the article reports on, but it doesn't seem to be accessible online.
That said, those willing to thumb their noses at paywalled science may do so here: http://18.104.22.168/http://ieeexplore.ieee.org/xpl/articleD...
The proposal was considerd. Rejected, but considered.