Monday, October 13, 2008

Why Reddit is Better than Stack Overflow (WAAAAY Better)

Ok, so to start, I am a recovering former addict of crackoverfl.... I mean Honest! Look at my rank on the site (I go by "Mike Stone"). As I write this, I am 6th on the list of users sorted by reputation... and just a week or so ago I was holding steady at 3rd for quite a while. As you read this, I may not even be on that first page anymore.

There were times when I would be constantly looking for questions I could answer well... and other times I attempted to answer anything at all (that didn't go so well usually).

As a reformed addict, I think I can safely say a few things about the site. Whether they hold sway for you, or whether you agree or not... frankly I don't care much... because if you disagree, you are one of THEM....

So here it goes... Reddit has 1 thing going for it that I don't think Jeff Atwood will ever have... trust in the cloud.

That's it.

That's all there is to it.

The thing is, this is a touchy subject. In case you don't know what I'm talking about, I am alluding to the "close question" feature that Jeff so dogmatically believes is helping steer the users into asking the "right" questions. Instead, it is giving some users a power trip, because after all, they know what is good for the site. So they go ahead and close questions that clearly don't belong. Except some people find value in those questions, and it has a negative effect on the asker if they are powerless to disagree and change the decision.

If you are in the "we need to steer users towards our opinions" camp... I'll tell you right now that I hate you. Don't take it personally... what I really mean is I hate your stance, but it's more fun to just say I hate you. I don't like the power trip you feel, and I don't like that you are forcing your opinion down on my throat what should and should not be open for discussion. Yeah, the D word... I know Jeff doesn't like discussion on his precious baby of a site, but sometimes I want to go to the site for discussion. It's fun to answer answerable questions, and it's also fun to discuss interesting arguable questions with intelligent people (such as my most popular question). I want to do both, and I want to see both types of questions thrive.

But... Closing Questions is Working!

This is the argument I've seen from Jeff Atwood. He says closing questions is working, and he links to questions that have been closed as so-called proof. We have exchanged some emails, and when he sends me the links, I look at them. Every single time I've looked at his examples of questions that deserved to be closed, it is the same damn thing. The questions are either duplicates, have a negative vote total, have been deleted (likely because of offensive count), or they are gray area questions that more often than not I would rather see them on the site.

Duplicates Should be Closed, Right?

This is the single best reason for having the close question feature, except I think it is a problem best solved with a different, unimplemented feature. At least half the questions I see closed are marked as duplicates. Wouldn't it be neat if instead of closing duplicates, all the duplicates were congealed into 1 massive blob of a question? You go to one, and you see the blob... and all the questions are available, able to morph between the different forms via tabs (or some other mechanism). This way, the answers to all these similar questions can be viewed at once without having to scan for links to follow (and if you can't provide a link to the duplicate in question, don't close it as a duplicate... that angers me more than the close feature in general). The oldest one could even always be the first tab, so there is 1 canonical place to get the best answers, and all the others turn into alternative forms with possible nuggets of gold awaiting you to click its tab.

I have a secret about duplicate questions though... Jeff actually likes keeping duplicates around! If you don't believe me, here's a quote from an email he sent me:

There's no value in most closed questions, with the exception of edited duplicates which allow better search matching. People have the uncanny ability to ask the exact same question using totally different words, so we need these as breadcrumb trails.

So if duplicates are an important part of the ecosystem, and it's the only good use of closed questions (which I hope to show before you stop reading), then closing questions shouldn't be necessary at all.....

This One is Negatively Voted... Isn't That Proof Closed Questions ARE Working?

Not exactly. If it's negatively voted, this seems perfect proof that the voting system was a good system to implement. If a question is negatively voted, then people should be able to watch "hot" tabs and just not even see the negatively voted questions. There will be plenty of people watching all new questions who will vote it up if it was voted down inappropriately, and those same people will continue to vote it down if it really should stay down. Thus... why does it need to be closed?

If someone finds value in a negatively voted question, what is the harm in keeping it around? If the asker gets an answer he/she is happy with, who loses? If it is tagged appropriately, it probably won't even show up in the tag filters people set up (or the site automatically figures out) so that people who would rather not see it, won't see it.

So those questions don't REALLY need to be closed... voting dealt with them.

I Saw a REALLY Offensive Question Closed... That's Good Right?

These questions get marked offensive, and they get automatically deleted after 5 offensive marks. That is the purpose of the offensive feature, and it deals with those questions well... closing them is like closing a negatively voted question. Saying it is bad twice doesn't make it extra bad... just 1 way to say it is bad is all that is really needed (well, 1 way to say it's bad, and one to say it's REALLY bad... hense downvotes and offensive). I just laugh when I see a question that is negatively voted, marked offensive a couple times AND closed. I wonder if those people closing it think they actually did something valuable with their time....

What About The Rest?

So the rest are basically questions that are running dead even at 0 votes, or have positive votes. If this is the case... doesn't that mean someone is finding value in the question? This group is pretty varied. Some of them are polls on the best X, where X can range from programming comics to the best reference guide. Some people don't like polls, but I personally find them entertaining to participate in, and even sometimes find truly useful information.

You know who else likes polls on Stack Overflow? Joel Spolsky. That's right, the cofounder of the site talks about polls in his launch post, while Jeff grits his teeth when Joel mentions them on the podcast.

A lot of the other questions are discussions, which I've already mentioned I find value in. They help build the community, and provide outlets for your ideas or disagreements with your felow programmers.

Even more of the gray zones are borderline programming questions... usually they are somehow of interest to programmers, or IT people in general, so it seems to me they have a home there (or should, anyways). These range from Virtual Machine questions, to general troubleshooting problems with an OS or application that programmers will typically use. If they are tagged right, why can't they be on the site? If you are looking in your comfort zone of tags, you will never see the VirtualBox, or Ubuntu questions, so why can't someone get real use out of the site on such marginally programming related subjects?

So What Makes Reddit Better? I Heard it Sucks!

It seems a lot of people have lost faith in Reddit, and feel it has nothing left to offer. I find it quite the contrary... it is so addictive that I have to avoid it if I want to get any work done. The key to Reddit's success, I think, is the clever combination of subgroups and voting. The voting lets the interesting topics rise to the top. The subgroups keep those topics interesting for those looking at the group. That's why I always only go to, because every time I go there, I see really interesting articles about programming. It NEVER lets me down.

Stack Overflow could do the exact same thing with their implementation of tags and voting. Filter the interesting stuff to the top with voting, and keep it interesting to me with my focused set of tags. Think of each tag as a focused niche group where the stuff that rises with voting is going to be interesting to the members of that niche group. The only stuff that group of people would want to close are all stuck in other tags that don't even appear for them.

The next time you would close a question... reconsider leaving it open for someone in that niche group that would enjoy participating in the question.

So, that's the key, in my view. Reddit trusts the cloud and refines it with subgroups and it works. Jeff Atwood doesn't trust the cloud, and he turns people like me away who favor more open systems.

What of Proof?

Well, I'm not going to compile a long list of questions to prove my point... I've seen the proof with my eyes, and if I haven't convinced you that closing questions are unnecessary, I never will. I will, however, give you a short list of some questions I reopened because I felt strongly that they shouldn't have been closed. If you agree that any of these shouldn't have been closed, then maybe there are more that shouldn't have been closed.

The truly sad thing is that some questions that shouldn't be closed lose their chance at getting a good answer because someone was denied the ability to provide a good answer because of 1 selfish person that felt the need to push his/her opinion on everyone else.
The first was interesting to me because I actually want a low energy low cost linux box. Jeff Atwood has himself blogged about this on his programming blog, so it seems appropriate.

The second and third are VM questions... I use VMs daily for my programming work, so their effective use is of much interest to me (though I have not run into these particular issues).

The final one was something I wanted to thrive because the answers make for entertaining reads. Why can't we live with some humor now and then?

Final Thoughts

So, before I relinquish my control over you (as I apparently have some control, if you've gotten this far), I want to say a couple last minute things. I weened myself off Stack Overflow because I was sick of seeing questions closed that shouldn't be. I think it is a travesty to see people force their opinion of what to discuss on others. Though the number of closed questions may be small, it is unjust enough in my opinion that Stack Overflow is not worth my traffic, or my answers. Furthermore, it makes me depressed to see Jeff have so little faith in the system and community he built. Despite drastically reducing my usage, I reserve the right to ask questions when I have one I need answered... after all, I wouldn't be this impassioned if it weren't a good site!

If you don't like closed questions either, email Jeff Atwood (you can find his email on his blog if you look for it). Alternatively, open a uservoice ticket. The more people opening tickets the better... he might submit to pressure if he has to get rid of the tickets over and over. Just stick to 1 ticket though... unique users posting requests is a lot better than abuse of the uservoice system.

cky brings up a great point in the comments that removing the close question feature will also do harm in causing other users to leave... a compromise between the 2 camps is probably the best solution. Some system of check/balance for the close question feature would be good, such as a simple majority vote. Other fair alternatives would be welcome in my book as well.


Anonymous said...

This is my view on the topic, after long consideration. You are free to like it or lump it, as you please. :-)

I think some sort of ability to close offtopic material is important. I just don't like the way it's currently done.

To clarify my first point, the site has a charter. Think of it as the constitution for the site, if you want. Yes, this charter is open to change if the community as a whole wants to change it, much like a nation's constitution can be amended. However, as long as the charter is there, it should be enforced.

My second point is that the method of enforcement should be fair: it should have a consistent, transparent procedure, and provide an open means of appeal. This point, I think, Stack Overflow currently fails. Heck, even Wikipedia, which has standard procedures galore, still gets criticised for its shortcomings in transparency.

I think as Stack Overflow grows, it's not going to be just a bunch of programmers, but will instead require a social structure, much as Wikipedia has. People with positions of responsibility, who are elected into such positions.

I envision that such people will work according to a duty roster, where at an allotted schedule, they review posts for closing (when other users report them, say). A different roster of elected "trusted" people can then handle appeals, if necessary.

Now, all this can also be open to abuse. Just look at the legal system of any country. But I think, no matter how well or poorly implemented, a transparent system is better for the community than an opaque one.

So my conclusion is this: As the community grows, there should be (as a high priority) a formal system for handling the people aspects (especially where conflicts arise) of the community. Violations of the site charter, intentional or not, should be dealt with, in a fair, open way.

Deciding how to do this, and what constitutes fair and open, is a discussion the whole community needs to engage in. Already.

Derek Park said...

I added another request for this on uservoice. I don't think Jeff is going to listen, though. He doesn't honestly seem to take disagreement very well. He doesn't appear to get angry when people disagree. He just doesn't seem to listen.

We've seen this numerous times with Joel. Joel will make a valid criticism (e.g. that closing questions adds no value), and Jeff dismisses it out of hand. We've also seen it with other team members. e.g. Jeff asserted that allowing a 5-minute non-recorded edit history was a necessity. At least one other developer disagreed. So did Joel. We've still got the 5-minute window, though, which serves no purpose except to occasionally make a commenter look stupid when an answer or question is quickly changed.

Mike Stone said...

cky: I think that is a fair stance, and your ideas would certainly be much better than the state of affairs now. However, I still stand by my belief that closing questions is entirely unnecessary. Enough people know the charter and are interested in keeping it alive that I think downvotes of offtopic questions will be a strong tool in maintaining the charter (and have been from what I've seen).

Beyond that, tags can keep the offtopic discussions that DO exist out of the way of the people that don't want to see them.

You mention that as the site grows, we will have more than just programmers... and that could pose a threat to keeping the site useful to the programmers. However, I still believe tags could solve that problem by keeping you in your niche areas of interest, so all the junk would just be invisible.

I find it also interesting that the goal of typical use of the site is split among the 2 founders... Jeff doesn't seem to like anything remotely offtopic, but tolerates some of it, while Joel encourages it, both on the podcast and in his blog posts. Their stances on polling alone is interestingly divided as well. This doesn't really help keep the charter cohesive, and probably should be resolved publicly.

Regardless of what happens, I like the idea of a fairer way to deal with questions that "don't belong." If nothing else, I think it would be awesome to see closing questions turn into a more democratic decision (among so-called "trusted" users with high rep, or even elected officials that you mention) so Stack Overflow can fully harness the wisdom of the cloud, and not place such power in the hands of individual high rep users.

You could argue that the decision to close can be overruled now, but I think there is significant damage to a question that is closed before it gets much publicity, so reopening can't undo the lost potential answers. This is why I think it is critical to have a more fair way of closing, if the closing feature has to exist.

Anonymous said...

@Mike: I think we're on different pages here. :-)

I appreciate that you want closing abolished, and that you're willing to boycott the site in order to make your point. And if enough high-rep people do this, I feel it will affect the site (community) in significant ways.

I worry that if closing does get abolished, then people who liked closing will boycott the site. This is no way to nurture the community either.

So there are only two solutions that I see: 1. find a compromise; 2. admit that there's no pleasing everybody. 2 is the status quo, with Jeff saying, "well, I disagree, so there". 1 is what's proposed in my previous post.

When I said "I think as Stack Overflow grows, it's not going to be just a bunch of programmers, but will instead require a social structure", I do not mean there will be lots of non-programmers coming to the site filling it with offtopic posts. Not at all. Rather I mean that when any community gets large, politics is inevitable.

Look at the Debian project, for example. It's at its core a bunch of dedicated coders, but they have lots of structures and processes (including a fully spelt-out voting system) to keep everything running smoothly, and keep disagreements controllable.

As the Stack Overflow community approaches the size of the Debian community, I dare say that something similar will be necessary. I would hate to see the SO community collapse under its own weight, due to too many people disagreeing over major things.

And I agree with you that the differences between the co-founders should be resolved publicly, with some reasonable (and not grudging) compromise between them.

I also agree that the current way closing is done does do damage to both the poster's morale and the question's later viability, even if reversed (shortly) later, and that's why there needs to be a discussion, such as what we're having now, about how to do it better.

Your mileage may vary. :-)

Trevor Power said...

I really like your point about having all the duplicates merged together.

I have always considered duplicates as being a nuisance in an application like stackoverflow, an imperfection or noise that needs to be ignored. But as you quoted Jeff saying 'we need these as breadcrumb trails'. Why keep them as trails when they can just be alternative worded questions. This can only make it easier to find what you are looking for.

Now that you have pointed it out, the act of closing duplicate questions looks more like a flaw in the system. The fact that you can't find a question because you word it differently looks like a big gaping hole that can be easily fixed by allowing duplicate questions in a formal manner, like you suggest.

Even wikipedia allow for some duplication of titles that point to the same article, it's just common sense.

Anonymous said...

Your new year present has arrived: :-)

Anonymous said...

I concur.

Anonymous said...

Is it just me - or did someone (Jeff) reopen all those questions, you had as examples of closed?

Anonymous said...

Please vote for reopen :D

Calmarius said...

This blogpost is quite old. But I observed that this problem just got lot worse.

Namely: zero tolerance towards every question that's cannot be answered correctly by a single person.

Despite being on topic, and you cannot find good resources on the internet, you cannot ask "What optimizations C compilers can do nowadays?" on StackOverflow because it will got closed in no time simply because I asked for a list. I asked this question (but I was specific to GCC), and it got closed the 30 minutes... Then I rage deleted the question...

No polling, no personal preference or something like that. Just an objective question.

The community has become extremely hostile I think.

I'm writing a compiler nowadays and I just wanted to learn about the optimization techniques that exist. No chance to learn on SO anymore.

Steve Jones said...

Jullia Grace said...

Stack Overflow seriously isn't worth for traffic, that's why Reddit to generate stronger position. reddit upvotes

Roney Wilson said...
This comment has been removed by the author.
Roney Wilson said...

Your articles and blogs are payday advance loans

Anonymous said...

I left Stackoverflow because they don't encourage questions that require opinions and experience. On the contrary, questions with answers that can be easily googled (or found by reading the "manual") seem to be encouraged and popularly answered. I think this is sad and leads to more "lazy programmers" that just post a question instead of trying to solve it first.

smith mak said...

Good try as like evergreen information. I really appreciate you on these efforts.
quick cash loans

Justin Bieber said...

An unbelievable blog. This blog will indisputably be definitely recommended to my friends as payday loans

Anonymous said...

Hmm your post is lush; this will surely help the newbie to know about that. automobile insurance

Chris Pratt said...

This is really quite informative blog such qualitative info I have never seen anywhere.whole life insurance

Anonymous said...

Your blogs stuff is purely enough for me personally.testedhacks

Anonymous said...

It feels awe-inspiring to read such informative and distinctive articles on your websites.convertible term life

Mitcheal Clerk said...

This is my very first time that I am visiting here and I’m truly pleasurable to see everything at one place.Entrepreneur

Masroor Hussain said...

well this article has to be the worst one, reddit is a piece of crap, stack overflow definitely has issues, but reddit never stands a chance in competition to stack overflow, this article is bullshit. stack overflow is like the heart of programmers.

Anonymous said...

It's hypocritical to denounce "forcing your opinion down on my throat what should and should not be open for discussion" while saying "if you disagree, you are one of THEM".

Ole said...

Genius article - also brought up the issue here:

Could use some backup.

Ole said...
This comment has been removed by the author.
Robert Zeurunkl said...

As a twice banned SO user, here's a short excerpt from a lengthy missive I recently wrote about this same topic:

"Someone takes the time to answer it and get the points, but nobody takes the time to upvote the question for being asked. But if it is worthy of an answer, it must be a worthy question, worth a point for being asked. If the ANSWER is popular, then the question MUST have SOME merit! A question that gets SIX answers MUST have some validity, whether it gets upvotes or not. The answers are a vote in and of themselves."

Splat said...

I asked a question about what is the correct forum to post to on Meta and it was deleted by a moderator

rama said...

Now you can use to get reddit upvote exchange

Cara Mengobati Sinusitis said...

This information is very useful. thank you for sharing. and I will also share information about health through the website
Penyebab Mual dan BAB Berdarah
Perawatan kesehatan mata
Bahaya Tenggorokan Nyeri
Cara Mengatasi asam Lambung
Cara Mengobati Usus Buntu

Meanstack Training in Hyderabad said...

Thank you for sharing wonderful information with us to get some idea about it.
MEAN Stack Online Training
MEAN Stack Training Institute
MEAN Stack Training
MEAN Stack Training in Hyderabad
MEAN Stack Training in Ameerpet