I quit StackOverFlow once they devalued asking questions. No one on the site seemed to understand that incentivizing people to ask great questions was the most important thing. The site could have been a great starting point for learning esoteric topics like Haskell, Scheme, Lisp, Grails, Scala, Lift, Go, Emacs Lisp, etc.
Basically, in general, you need one good question with 2 or 3 good answers [yes, some types are better with 100 answers].
"How do I reverse a string in Java?"
"How do I reverse a string in Haskell?"
"How do I ... in Haskell?"
The questions could have been linked to build a Rosetta Stone, as well as a complete beginner's guide to topic X. Actually, it could have been a guide from beginner to guru.
I still post questions on SO, but only because there simply isn't any other place to get answers to some questions I have. It wouldn't have annoyed me so much except there seemed to be so little complaint when this change was made.
Perhaps if there were a competitor that had as much interaction, I wouldn't post there.
Are you using the site for reputation or to spread knowledge? If its the former then you're welcome to leave, if its the latter then why do you care about reputation?
The fact that points on SO actually unlock admin and moderation features on the site gives them real value. I don't care at all about my Reddit karma, but if it meant I could eventually retitle misleading posts I would.
I think that's a place where Wikipedia presents a better model in a lot of ways. People love to complain about its cliquey admin groups, but the fact is they're extremely effective at getting quality content out there.
Bottom line, I think, is that forcing people to discuss (not just summarily up or downvote) is really important to getting meaningful content. It's fairly easy to see when someone is talking out of their ass, but it's much harder to get a read on how intelligent an anonymous (or even attributed) vote is.
Gaining reputation points is a wonderful short-term incentive for contributing. Otherwise why waist time instead of working on something fun? (and good answers take a lot to write)
Reputation and other points systems are designed to attract people because it's like a game - in fact, this very site uses it!
Obviously there's the problem of people "gaming the system" to earn more reputation and you do whatever is possible to prevent that, but there's no reason why people can't be there for both the reputation points game AND to spread knowledge. The problem now for Stack Overflow (as I see it) is that it's reached a level of saturation where it's difficult to do either.
Do you have a job for money or to feel satisfied and useful? If it's the former, then you can't complain about being made to do menial work or how you're treated. If it's the latter, then you can't complain about being underpaid. Because, yeah, life is full of false dichotomies like yours ;-)
When I found it, StackOverflow seemed like a good "portfolio" site. The goal wouldn't be to answer the most possible question but answer and ask questions which would give a potential employer some idea concerning my skill, knowledge and preferences. But having at least 1k+ Karma seemed like a reasonable part. I was annoyed with question-Karma reduction since it seemed to cut into that goal, even if my Karma never actually went back below 1k.
If I cared most about reputation, I wouldn't have been asking questions in the Emacs Lisp and Common Lisp groups, for example. As you can see, you don't necessarily get a lot of points for asking or answering questions in an esoteric section.
I had around 90 questions when I quit. The way the game was set up, you always got a lot more points for answering questions, then getting them upvoted. In general, you are going to get more votes in the most popular topics.
Reputation is also a currency. You can spend it to get better answers to your questions, 50 points minimum. My reputation was probably between 2300-2500 before the devaluation. I guess I would have lost half? Not sure. At any rate, where StackOverFlow could have been really interesting is moving beyond the simple questions and solving specific, but a more complicated, questions. If you don't take the time to be specific, someone will just give you a link to another site. That gets upvoted a few times and your question is done.
Hopefully, someone will come up with a better model. I'd do it without rep, but I like the economy aspect. I think it draws in people. People will game it, so design the model to get the desired results: Great questions and great answers.
Disclaimer: This is no flame, and this is no whining. This is my personal experience with stackoverflow, which may entirely depend on me doing complicated akward things.
My experience with stackoverflow boil down to these two situations:
I ask a question, write my little heart out to provide context, to provide things I have tried already and to state my problem, because I don't have trivial little coding problems I can solve with google (yes, that was arrogant, I am aware of this.). After I have posted such a question, I usually get like 3-4 1 line answers and then the question goes dead, because apparently, the answer to such a question is more complicated.
On the other hand, if I answer a question, I usually look and poke around a bit in order to provide a good, complete answer to an interesting question. Once I have posted such a question after like 10 minutes, there are like 3-4 one-line-answers posted already, upvoted already and my answer (which usually is more accurate and all) is just ignored and stays somewhere in the middle.
Joining these two experiences together, I have moved on to use groups and certain IRC-channels, as these are more helpful for nontrivial questions.
I agree entirely - I've had exactly the same experiences. I think both of them boil down to the site suffering from it's own success.
This seems to be fundamentally because once one reasonably correct answer picks up an upvote or two, it often snowballs into picking up many more because future visitors won't add other answers of their own and just upvote that. This leads to there being a significant reward for getting your answer in first - more so than for it to be complete (or, in some cases, correct) - so users aim to answer as fast as possible. As their user base has grown, that time threshold has gone down, and the quality of many of the answers follows it.
I don't know what the answer to that is though - maybe there's not one.
I also agree....almost a year ago this problem was actually discussed on the SO podcast (people doing the instantaneous one liner reply in order to get upvotes asap, the problem somewhat originated from a blog post someone did one specific ways to game the SO rep system).
I have a similar problem in that I ask questions that are generally "harder" and don't often have a perfectly black and white answer, but I'll get a few "little effort" answers and then they go dead, and I am left with a poor answer acceptance ratio. If I ever eventually figure out a question, I always go back and answer it myself, so really I'm trying to do the right thing as I am a big believer in the site, but I think it misses subtleties like this. It's not particularly easy, but I think they could improve things to stop gaming of the system.
In this and other contexts, I've wondered about the viability of stepped intervals. Accumulate responses, and later further responses and votes, behind the scenes, but only update the published thread every 1 minute, 2 minutes, 5 minutes, or some to-be-determined optimal interval (that might change over time / post age, size, etc.).
I'm curious why Google searches don't turn up higher ranking google group posts. This is where I get almost every question answered. There must be a wealth of info there and I almost always search for the google group, then reenter the question inside groups.
Smaller support communities (IRC, groups) seemed to be the best niche for getting questions answered, and it doesn't appear StackOverflow is seeing that.
1) Karma-seeking individuals are likely going to try find a way to get as much of the good stuff with the least effort. Easier questions will get snapped up.
2) You can still use the system, just offer a karma reward for a good answer.
I just don't see the reward of extra effort anymore. Once I have found the right mailing list (which is not that hard), I can invest exactly the same effort I invest into posting a nontrivial question on stackoverflow and usually I can get far better answers without any extra effort, without having to handle any kind of karma-politics.
I'd like to be answering questions there to provide a service, but I'd also like to receive recognition for it. But it seems like that's no longer possible, at least not at a level of tradeoff that's acceptable to me.
For one thing, I always try to provide a tested answer, but doing so means that someone frequently jumps in front of me, scoring the reputation. In many of these cases I can see that the answer provided might be conceptually correct, but wasn't actually tested, because there are typos in the code. Thus, it appears that the incentives are skewed away from providing the highest-quality answers.
I pretty much quit about two weeks ago. I spent time formulating an answer [1] that was entirely correct, so by the time I posted it there were three other answers there, but they relied on special cases rather than being generally correct. One person upvoted my answer, but almost immediately, someone else downvoted it. The only thing I can imagine is that one of the "competing" answerers wanted to ensure that his mostly-correct answer was listed above my completely correct one, so he could score points from readers that hadn't yet seen my reply that explained why special care was needed.
If my diligent work is going to be devalued like that, then I don't see the point in investing more time in it.
I agree, because this kind of thing is very common. I'd have taken it a step further: if you provide an answer to a question, you shouldn't be allowed to downvote other answers to the same question. And if you downvote an answer to a question, you're not allowed to post an answer to that question. So get rid of conflicts of interest, and always allow people to upvote other answers, whether they've provided an answer or not.
I disagree; I've done that before when I've answered a question, because I felt another answer had appeared which was incorrect or misleading.
For example, I answered one question about some kind of 2d sorting issue - another answer popped up which was both incomplete (it only dealt with the 1d case, which was trivial) and incorrect (it claimed to run in linear time, but was blatantly using a nlogn sort). I felt that a downvote was the right thing to do - but that does rely on the honesty of the users, and it sounds like that's often lacking.
I disagree also (re: I'd have taken it a step further: if you provide an answer to a question, you shouldn't be allowed to downvote other answers to the same question.)
There's definitely a problem here and something needs to be done, but that's not the solution.
I wonder if something like displaying answers on newly asked questions, but locking voting for <x> minutes (where x=???), and total_answers < <y> wouldn't stop the answer sniping in its tracks and give people willing to put the proper amount of work into writing an answer an equal footing.
SO has proven that the community for some reason is more than willing to spend vast amounts of energy helping others in exchange for "karma", but from what I'm reading lately, they are somewhat in danger of letting the golden goose die (or, a lot of the golden gooses). It'll still be a great site, but it could be a lot better if they tightened some of these problems up. I think they might be focusing on other things now though.
The problem with StackOverflow is that it doesn't allow discussions, and as long as that will be the case I only see it working for general, domain-agnostic questions. If you have questions about the dark corners of C++/C#/Java, or how to best apply a design pattern, then chances are SO has something for you. As we level up as developers we gravitate relatively quickly towards specific domains. And a community of domain experts will not last long if it explicitly forbids extended discussions. The best online programming communities (e.g. gamedev, ltu, ompf, and the gold standard, flipcode (r.i.p.) ) are home to domain experts who enjoy discussing, debating and basically shooting the breeze with each other. This is what ultimately makes people stick around.
> And a community of domain experts will not last long if it explicitly forbids extended discussions.
Totally agree, but this kind of interaction is explicitly what the SO team seems to be against, and for just SO itself, I agree. A legitimate justification for this is that people get into discussions which takes time away from input into the Q&A aspect of the site.
However, as you said, some problems or topics require a discussion, not singular statements upvoted or downvoted. I think SO can do just fine without discussions, but the stackexchange platform will be sorely lacking if they don't support a discussion "mode", but from what Jeff Atwood has said, at least as I interpret it, he seems to see no need for this mode at all, and thinks the stackexchange engine should eventually replace all phpBB boards out there. To me, this is insane, but this is how I interpret what he says, unless I've missed something.
No matter what they had done the luster would have worn off. The badge system just makes the whoring and the impossibility of ever attaining certain badges more obvious.
Every online community must go through a maturation process where excitement wanes and moderation waxes. At some point the curation of content becomes of primary importance.
Arguably they could have built a longer lasting community with Wikipedia style participation, but it certainly wouldn't have grown as fast, and maybe never would have gotten traction at all, so it's hard to make a retroactive critique.
In any case though, Stack Overflow still has a fundamentally a great user experience. It's not a growth business, but there will always be new tech, and I don't see the community drying up.
I was there in the (relatively) early days where it was exciting to ask and answer questions and contribute to the site, while scoring points(!)
Nowadays I often encounter SO links while googling things, and it has certainly become a great resource in that sense. But I rarely have a need to ask questions there anymore as everything is covered, and trying to answer questions isn't worth the effort for similar reasons.
As new technologies emerge, I can see there being waves of increased activity as those topics are explored, and if you're one of those people on the forefront of said technology I could see it bringing back some of the original charm.
I think it depends on the type of community that you participate in. If you work only in relatively unchanging technologies that everyone else works in (like .NET or Java), the OP is probably right. All of the nooks and crannies are exposed and answered. But if you participate in one of the smaller communities (Groovy, Scala, Clojure, Haskell, Io, etc).
I think the number of "niche communities" in the long tail are much larger and more vibrant than the OP supposes. Chances are that it's just the OPs pet technologies that don't get a lot of traffic.
I follow RSS feeds on a number of tags that I find interesting and answer a few questions every week.
I have become a little discouraged at how stale some of the posts have become. I have run into Google searches that give me results where the accepted answer is now wrong. Sometimes the posts have devolved into multiple new answers that are correct but have very few upvotes. In some cases the newer answers are rants on how the original answer is wrong.
I do think there is still room for SO to grow with newer technology that comes out. SO became a great resource for iPhone development and I think that can still happen.
What would probably help is a purge of some sort. I'm not sure how they would go about it but I don't think just re-tagging will work I think they need to flush some of the stuff out.
Yep, it's a huge problem: the pervasive rating system constantly needs fresh eyes on things to keep it accurate, so old questions don't get updated votes. To compound that, if you're a newcomer arriving via Google, you can't down vote.
So you, the freshest pair of eyes on the page, can see an out-of-date error, but can't correct it or comment on it. All you can do is leave another answer, which is doomed to sit at 0 votes.
I don't think a purge would get to the root of the problem, which is an incentive system that rewards adding early answers, rather than editing existing answers.
One of Joel's stated goals in the early days was that the answers would converge, Wikipedia-like, toward some Platonic ideal-- but the system in place doesn't encourage that.
The WP pages on Chrome or Git only mention major features of those pieces of software. Features don't change that much. Part of the articles talk about the historic aspects of the projects, and again the past doesn't really change.
SO tends to go into minute detail on a particular aspect of something, so the staleness effect is amplified. For example, questions on how to write a Chrome extension tend to be stale, as do ones on specific features of Git such as integration with Subversion, or submodule support.
Stack Overflow was a good stab at solving the problem, and the UI execution was excellent, as well as the promotion of the site by two widely-read bloggers.
My personal frustration with the site is that their engagement model was a little too game-like. While reputation and badges might be a good metric for the quality of the contribution, the actual implementation ended up reinforcing a base of easy homework questions, and people racing for the simplest answers.
I found that when asking descriptive questions, that I would quickly get several one-line answers that pretty much guessed at the answer based on the title. Even the nuanced answers tended to have answers and explanations that either ignored the problem or suggested things already asked in the question.
Sticking with the question, I can either comment on an answer, or edit my own question to address it, or I could comment a response to the comment. Working this way, I have managed to at least get good leads a few times, but the really difficult questions ended up being things I had to solve myself.
Lately, though, I find that it pops up in my preliminary googling of a problem early on, and at least provides better references than generic forums or experts-exchange.
If they could find a way to make reputation and badges reinforce the _quality_ of the answer, instead of the _response time_ of the answer, and encourage difficult questions rather than the proliferation of basic questions, and the attitude that answering the most of them the fastest made you some kind of "elite" programmer, then I think it could be very powerful.
That being said, when I am tracking down an obscure error or specific exception, I usually find it on the libraries forum, or a forum with a narrower focus, but they definitely like the UI polish of SO.
My SO pet peeve was authors who answer nearly all questions in their field with "I discuss this in Chapter 5 of Volume 4 of my Everything You Need to Know About Everything series. In stores now."
I've also noticed there's this phenomenon I'll call Reverse India Off-Shoring:
1. western companies hire Indian engineers off-shore because they're cheaper and yet equivalent, supposedly
2. online forums flooded with barely readable questions by folks with Indian names where the thing being asked about is so simple and basic that it basically amounts to "would someone please do my job for me? k thx." How do I print a string. How do I write data to disk. How do I install Apache. Etc. That level of question.
I've seen that 100's of times in the last few years. It's alternatingly both funny and infuriating.
And of course the flip side of that point is a lot of people's questions ARE already answered somewhere, often in books, if somebody just cared to get off their a-- and go look for it, spend time reading and investing in their own education. I've seen thousands of questions asked on the Internet where the asker could have answered it themselves by putting in a little more common sense effort, upfront.
True enough, but with the number of technologies a developer is "required" to know these days, I have a bit of trouble buying the RTFM argument (unless it is referring to freely available, easily searchable help docs on the vendor/author website). The the amount of technologies I use on a day to day basis, it's literally impossible for me to RTFM on all of them, especially if by RTFM you mean read a book on the technology (not to mention, which book should I read....figuring that out can take an hour. And is reading just one book sufficient?)
The Stack Overflow goal is to build the "FM" in a search-friendly way that speaks directly to specific questions.
For myself, I like the site, and sometimes have problems it helps with, but too seldom for it to become a go-to resource. I think there are lots of people in situations for whom it can be indispensable in that way, though.
Games of code golf, "what's your favorite programming comic strip" threads, and "What language should I start learning now" threads made it way too easy to attain points without actually demonstrating real knowledge or expertise.
Actually, such threads are marked as 'community wiki' and there the reputation points aren't counted. The rest of the article is true, I also got tired of SO and mostly only google it.
The thing that drove me out was uninteresting questions. I wanted an advanced search that filtered questions by minimum asker reputation, but the only operator available filters by maximum asker reputation (i.e. to find newbies).
I then asked for the feature on meta.stackoverflow.com, and folks there perceived I was being elitist and downvoted me to oblivion. So I left.
I agree. SO has advanced search capabilities, but you have to be an uber power user and know all the esoteric switches, which I think is by design, so fanboys can be "leet". There is this page: http://stackoverflow.com/search (which isn't linked from the homepage), but why don't they take the 4 hours to build an advanced search form so people who aren't frickin experts on the SO platform can do advanced searches? I think this is by design.
>I then asked for the feature on meta.stackoverflow.com, and folks there perceived I was being elitist and downvoted me to oblivion. So I left.
Meta is not a particularly friendly place, and this seems to be the only place that Jeff takes guidance from, but I think it has to a certain degree become ineffective as the people that rule meta are super-uber SO users, and it it is a very homogeneous group of users, so genuinely new ideas basically can't enter. Maybe they could, but after the initial rude reception you get with a new idea, most people just can't be arsed and leave, as you did.
I've used SO from time to time but have only participated when I came across a question I thought I could add value to with my perspective. I've never really kept up with the point system.
The author says "There's a plateau you hit there where you either have to devote way too much time to help other people do their work, or you just fall out of it." Do your points devalue over time somehow? Is there inflation in the user permissions you get with rep? Or is it just that you have to jump the shark to get the first answers in as they are far more valuable than later answers/editing answers?
The plateau doesn't have to do with the points, but rather the content. If you're going to give an answer that's worthwhile, it would be nice to recognition for it. If you want recognition, you have to go after questions that haven't been answered. A lot of those are basically doing other people's work, and not really question-answering.
I worked for a for-pay Q&A site a little while back. They had all the incentives of SO and more. For example if you answered half-a-dozen questions a month, you got free access. The reward system. The asker declared how much the question was worth and awarded the points to one or more answerers. Awards could be adjusted by moderators so a better answer could be awarded the points.
There were a large number of categories, added to all the time. An answerer could register as an expert in one or more categories and could become an expert, guru, grand-master, etc. in one or more categories with the badges showing up everywhere.
There was an elaborate email system that kept every one engaged.If you were an expert, you got an email when a question was in one of your areas of expertise. An asker go an email whenever there was an answer of comment to one of your questions.
It appealed to the corporate IT world, but the combination of incentives, communications, and content curation seemed to work quiite well.
Most people's questions about programming problems are going to be somewhere in the middle of the distribution. As time goes on and all the most common questions have been asked, the site is going become increasingly long tail - the dominion of obscurists - and any social/reputational component which it may have once had is going to be reduced.
I find that Google is a great way to access the information on Stack Overflow, even as a participating member of the community. When I'm looking for an answer to a question, often a Google search will return the Stack Overflow post most relevant - helpful when there are many similar posts on a given topic.
If SO was smart they would write an advanced search form that basically just translates into google compatible syntax and forwards it to google (assuming there are no legal issues with this.) Are there legal issues with this, is this a violation of the google TOS??
Basically, in general, you need one good question with 2 or 3 good answers [yes, some types are better with 100 answers].
"How do I reverse a string in Java?" "How do I reverse a string in Haskell?" "How do I ... in Haskell?"
The questions could have been linked to build a Rosetta Stone, as well as a complete beginner's guide to topic X. Actually, it could have been a guide from beginner to guru.