-15

Problem

Stack Overflow receives about 15,000 new questions a day - not counting those that are deleted within a few minutes of being posted.

As described in this post there are really too many for experts to get a good look at, a lot of bad questions aren't receiving the right type of exposure to janitorial effort, and a lot of good questions aren't receiving the right type of exposure to expertise.

Past efforts to resolve the problem

When this problem first reared its head the fix was to customize the home page (hot questions) and show questions the user had a likelihood of understanding and answering, based on previous site activity, in addition to those the user marked as interesting.

When questions started falling off the front page before finding an answer, we got the community user to 'bump' unanswered questions occasionally in the hopes that someone who could and would answer would come along and happen to see it for the brief time it remained on the home page.

Next step: splitting?

I believe we've outstripped ourselves.

Is there any merit to the idea that splitting the site up in some way to cater to different programming communities or to different programming experts would alleviate this problem?

Specific implementations aren't the point of this discussion

There are a million ways we could "split" Stack Overflow, and the discussion(s) surrounding that would be exceptional in length and thoughtfulness. Endless discussions on what loosely established communities exist in the programming world, and endless discussions on how to effect the split, whether simple (aggressive filtering of the hot page to only topics a user has successfully answered in the past) to moderately complex (subdomains with aggressively filtered tags, a subdomain for each language, or community, etc), to actually creating a new area51 proposal for each community, forcing them through the process, and building real "new" sites. This doesn't even approach the questions surrounding reputation issues and so forth.

It is a very interesting set of questions that we could spend days and weeks yammering on about, but How Should It Be AccomplishedTM is a different issue from this discussion, so please try to limit answers and comments to what positive effects can be gained from a split of some sort, and what negative effects might be experienced due to a split.

Is a split worthwhile?

Keep in mind, however, that I'm using the term "split" very loosely. It might be a UI tweak, or it might be parting the Red Sea, and never the twain shall meet between the resulting sites. I don't know. If your thoughts on positive and negative effects depend on the type of split, assume the split that you believe provides the most positive and fewest negative effects, and describe it very briefly (two sentences at most...) so readers are on the same page as you.

However, if you can, try to discuss this at a higher level where the implementation shouldn't matter. It wouldn't be a complete fix, or resolve the situation completely, but would it be helpful?

Supporting information

There are over five million questions on Stack Overflow. Of those, 10% have 0 answers. That's after excluding closed, migrated, or duplicate questions.

Of those that have answers, only 51% have more than one answer.

I believe the premise, that Stack Overflow is overburdened and isn't doing as well as it could be at answering questions, isn't false.

If it is working as well as it should be, and these 500,000 unanswered questions are outliers, then nothing needs to be done.

If it isn't working as well as it could be, could splitting it be a solution, or not?

12
  • 1
    Apologies in advance to our 487 generalists for whom programming encompasses all languages and communities, and can't imagine dividing their baby into parts.
    – Pollyanna
    Commented Sep 26, 2013 at 16:34
  • 21
    "Nobody goes there anymore. It's too crowded."
    – ale
    Commented Sep 26, 2013 at 16:37
  • just leave it be like it is
    – Michael
    Commented Sep 26, 2013 at 16:38
  • 19
    Many people (myself included) browse mostly on language tags, as such we split it ourselves. This seems like a perfectly fine solution to me Commented Sep 26, 2013 at 16:40
  • 1
    as an example, where would someone has to post when he has an implementation issue of angularjs in .net mvc?
    – Michael
    Commented Sep 26, 2013 at 16:43
  • 1
    I generally get an answer to my questions pretty quickly... often in less than an hour.
    – JDB
    Commented Sep 26, 2013 at 16:47
  • It's probably already way too divided. off-topic because...
    – devnull
    Commented Sep 26, 2013 at 16:48
  • 1
    @AsheeshR Really?
    – Pollyanna
    Commented Sep 26, 2013 at 16:49
  • 1
    No sense in making a tag for exactly one question :)
    – asheeshr
    Commented Sep 26, 2013 at 16:50
  • @AdamDavis done :)
    – Michael
    Commented Sep 26, 2013 at 17:23
  • "aren't receiving the right type of exposure to janitorial effort" my avatar takes offense to that
    – PeeHaa
    Commented Sep 26, 2013 at 18:56
  • 1
    Related, although it's an idea for an implementation: Introduce sub communities or portals to prevent fragmentation
    – jscs
    Commented Dec 10, 2013 at 7:45

5 Answers 5

19

I think programming is such a diverse medium that even if you're not familiar with the actual syntax of a language, you could still probably lend a hand, especially if the problem is logic based rather than syntax based.

I think there's a lot of kudos to be had in that SO benefits from such a wide medium of different coding platforms and languages. In a way, they all mutually assist each other.

I don't do 1 language in my job, I do hundreds, whatever lends itself to the task at hand. I know there's one place I can go where I can get an answer if I'm stuck on a question.

I feel that my coding skill has improved tenfold for being part of a community that is so widely skilled, and I've discovered so many new things from browsing questions and answers.

3
  • So the negative effect is that split sites lack diversity, and you like diversity.
    – Pollyanna
    Commented Sep 26, 2013 at 16:48
  • 4
    Not necessarily... 'lack' diversity would be too strong to apply here. I'd suggest that being part of a diverse community benefits me more than being part of a more specific one. I can be in and around many different mediums and learn techniques and skills I never would have thought of applying to my skillset.
    – Dan Hanly
    Commented Sep 26, 2013 at 16:50
  • 1
    +1 I can attest to this. I've answered questions on technologies or libraries for which I have zero experience. I read the question, did some research myself and set up test environments to where I could replicate where the asker was stuck, then answer the question. I tend to learn the most from those questions because the askers challenge me to learn something new I might not have otherwise been exposed to.
    – jmort253
    Commented Sep 27, 2013 at 0:38
10

The thing that makes Stack Overflow so powerful is exactly the generalist nature of the questions. I remember the days when every single technology had its own special ecosystem of forums that were almost impossible for non-experts to navigate.

Stack Overflow is the one ring to rule them all. Don't give in to the urge to balkanize the forum - you are only heeding the urgings of Sauron!

1
  • 2
    Plus, we have tags, and I know users who don't want to hear about a certain technology will do stuff to block questions from those tags. Me personally, I leave the flood gates open for the chance I might see a question that interests me about something I know little about.
    – jmort253
    Commented Sep 27, 2013 at 0:40
6

A bit of a problem with this idea are, in my opinion, the questions that are related to multiple topics. An example is someone that has some implementation issues between AngularJS and .NET ASP.NET MVC. Or someone who has migration issues between .NET Webforms and .NET ASP.NET MVC. I foresee a lot of problems for users that are not sure where to submit the question to.

As a result there will be, I reckon, a lot of arguing between users whether a question belongs to siteA or siteB or maybe even siteC.

On top of that I suspect, although I'm not an SEO expert, that splitting the website will have some negative SEO issues as well.

1
  • 2
    Related, there are those questions where the asker thinks it's related to one part of the tech stack and it's really related to the other (e.g. they think the problem is in their ASP code, when it's the JavaScript that's borked). Being in a place where all it takes is adding/removing one tag to help draw the right people is better than shuffling between various sub-sites.
    – AnonJr
    Commented Sep 26, 2013 at 17:55
4

I would say no; it's not time to split Stack Overflow. If there are questions that haven't been answered because they're tough questions that require experts, we should let the natural order of things take their course. We have tools at our disposal to help increase the likelihood that a question will get an answer.

First, there's editing. A tough question, in order to get answered, has to mean something to someone. If no one cares, then perhaps that question just shouldn't get an answer until it's edited to the point where it's valuable. Only then will the experts be motivated to give it the attention it deserves. Editing plays a part in this both in terms of cleaning up the question to bump it, so folks see it, as well as clarifying the problem to appeal to experts and get them to care about solving the problem.

Second, there are bounties. If Google leads us to an unanswered question, and we need an expert to look at it, we can and should post a bounty on it. One way to make a question more interesting in the eyes of an expert is to offer them something more in exchange for their time investment.

Third, there's chat. I have less experience with this, but what would happen if I came across a C++ question that had no answers, and I dropped a link to that question in the C++ chat room. Could that get the exposure the question needs to get experts talking about it and ultimately answering it? Could this be something that the Stack Overflow community promotes as a means of answering these unanswered questions?

As others have mentioned, there's a lot of value in putting every programmer in the same space. Many problems benefit from the perspective of those who have experience in other languages or technologies. We are all to some extent generalists, even if we may not hold the coveted generalist badge that you so highly value. Splitting Stack Overflow would destroy what I consider the most important part of becoming an expert in programming, which is leaving your comfort zone to go attack problems in another space that you can help solve using skills you've gained in another vertical.

1

Providing support to old unanswered questions and getting expert answers - then and now.

tl;dr;?

now: New answer notifications cause experts to abandon answers or post a hasty compromise with less content.

then: Questions older than 18 months with no answers should not be indexed for web searches much like deleted questions are omitted.

In depth:

This question has garnered a lot of attention, along with its linked counterpart (https://meta.stackexchange.com/q/198288/178816). It is apparent that users seem to believe that "a lot of good questions aren't receiving the right type of exposure to expertise". While I do not agree with the proposed solution of splitting stackoverflow, I believe that following points address the problem outlined in this discussion.

The Now

I have noticed that the new answer notification could be contributing to the "lack" of exposure. Let me get into a simple example.


Q:

Why is my recursive function stopping early?

Some code which is almost complete and has a simple solution


Javascript is the third tag on all of stackoverflow, and it gets a lot of attention. It is definitely one of the places where experts and enthusiasts mix often.

This question provides a situation where an answer containing a simple solution can be accomplished in a few lines.


A:

Your base case is testing for X, but it should be testing for X || Y because Y controls the second half of the set you are recursing.


You are here

You, an expert, or having enough expertise to explain and expand on the issue, have been writing an intuitive answer. It contains links to official documentation, the solution to this narrow case, and some coding example about a more generic version of the OP's situation.

However, someone just posted the answer seen above. It shows up in the link "1 new answer to this question". Here is the dilemma. Your answer is only half complete. As an expert, it is fair to guess your expert answer is going to be better than the one posted. You do not want to post half an answer. One of two things happen..

One: You ignore the answer and future (x new answer) links, and continue on writing your epic trilogy. It takes some time because you as an expert do not want to post a mediocre post (content quality is important to you). However, most everyone else did not ignore it, and instead sped up the speed at which they were posting. By the time you post the answer and reload the page you are met with 3 other answers, all one or two lines, with a vote or two, and the top answer already accepted. Your epic trilogy gets almost no attention as the issue is already considered resolved and apparently no one cared to read the actually informative post you created. You are discouraged from answering in a thoughtful and careful manner. Moreover, almost no one read your trilogy so this post seemingly got no expert attention.

Two: You click the link as fast as possible knowing the other answer has information in it that could be relevant to the question. As it loads you realize that the short and quick answer will completely solve the OP's issue while ignoring the finer points of your trilogy (currently on episode 2). You dash your answer knowing that it will end up in situation one as above and acknowledge the quick and dirty answer with an upvote then move on. Seemingly, this question got no attention from an expert.

The dynamic loading of answers while writing an answer seems to have a negative affect on those writing answers. It seems to discourage experts and exasperates the fastest gun problem. Is it a conflict of interest to read an answer while composing one?

@RobertHarvey states that

Stack Overflow has two (somewhat opposing) goals:

  1. To get people quick answers to their programming questions, and
  2. To serve as a repository for useful programming knowledge.

I believe that dynamically loading answers while composing one which contains "useful programming knowledge" is counterproductive.

Doing the "now" will address the issue that "a lot of good questions aren't receiving the right type of exposure to expertise".

The Then

Why is it important to address old questions with no answers? It is important to at least take a crack at answering questions, even old dated ones. But some of these questions will simply not be answerable. Either the technology is now deprecated, the team fixing bugs is gone, or the issue was never that solvable and would require an immense amount of time.

These old questions with no answers tend to be low quality. After all, they did not generate one single answer. If these old questions were to receive down votes, then they would be removed by community's script. Problem is, no one sees them on stackoverflow. The only chance you have to reach one is if you go digging, or are lucky enough to click a link from google to a question with no answer.

Perhaps they should be treated as deleted questions from a google search perspective. This will prevent others from "searching and finding the junk we don't want"(@Grace Note). Moreover, every time one of these questions becomes eligible for being screened from google exposure, it can be placed in the active list. This will allow current users to view the question again, possibly down voting or closing it if those actions are warranted - thus removing the low quality content.

Doing the "then" will address the issue that "a lot of bad questions aren't receiving the right type of exposure to janitorial effort".

As an overkill, there could be a community deletion script which looks for the parameters, (User.rep==1 && Question.Asked + 1 week > User.LastSeen && Question.Views < 100 && Question.Asked > 1 year old && Question.Votes == 0 && Question.Answers == 0). Or in plain English, "delete questions which are over 1 year old where the user was new, left right after asking, and the question generated low views, no answers, and no votes. For example, this one.

4
  • 1
    Hi Travis, I want to address the "You are here" section. I frequent the JavaScript tag quite a bit, and in many cases where I kept on going long after the wild wild west's fastest gun answers were posted, I still ended up with the accepted answer, most upvotes, and exclamations of joy from question askers whose problem I solved but who also who walks away with a nice explanation of how to overcome similar problems in the future. My advice is, if you're capable of it, is to always ignore the cheap answers and invest your time in writing a good one.
    – jmort253
    Commented Sep 26, 2013 at 23:42
  • As for the "Then", I recently answered an old question I came across about FreeSWITCH. It was unanswered, and when I found the answer myself, I went ahead and answered it. Not saying that means your point isn't valid there, just that giving these posts some exposure can lead to them getting answers.
    – jmort253
    Commented Sep 26, 2013 at 23:50
  • @jmort253 - I too dabble in the javascript tag, and many others. Indeed, it is always best to write a full answer which will "teach someone to fish". Note that the point of this post is not to avoid answering questions. Far from it. The you are here section merely highlights that seeing other content while you are composing an answer can be counter productive. If you read the "Then" section, the first point it makes is to try to answer the question. Even older questions, if answerable, should be answered when possible. Keep up the good work :)
    – Travis J
    Commented Sep 27, 2013 at 4:06
  • Thanks! :) I admit it was counter-productive at first and I was intimidated by other answers, but once I stopped worrying about what other people were doing, I discovered that I could ignore all of the "a new answer has been posted" messages and just write really detailed answers. I suspect you get this concept already and that this is nothing new to you, but maybe an unrelated question is, how can this be conveyed to new users that additional answers aren't a bad thing and that they too shouldn't be intimidated if they have a lot of knowledge/value they could add...
    – jmort253
    Commented Sep 27, 2013 at 4:17

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