top | item 18273648

What does Stack Overflow want to be when it grows up?

238 points| ingve | 7 years ago |blog.codinghorror.com | reply

206 comments

order
[+] jrochkind1|7 years ago|reply
One challenge not discussed here is when an accepted and highly voted answer _used_ to be a good answer, but no longer is in later versions of whatever software/platform/library is discussed. This is also something that gets worse over time, like the uniqueness problem.

I think it's worse than the uniqueness problem, multiple duplicate _good_ questions/answers don't actually harm, misguide, or delay anyone looking for an answer; one _wrong_ one does.

And of course, if you try to ask a question again because you think the old one might be outdated (if you were _sure_, you wouldn't have to ask probably), it'll likely get closed as a duplicate. :)

[+] manigandham|7 years ago|reply
Remove the entire concept of "accepted" answers and let votes decay or be withdrawn, along with scoring the rankings using time as an additional input.

Quora has recently introduced secondary voting mechanisms where answers will randomly have a "is it still relevant" toggle for users to continue providing signal beyond the initial vote.

[+] irrational|7 years ago|reply
Recently I have really started noticing this exact problem. Every answer (usually from closer to 2010) I have looked at is recommending using jQuery, even though there are perfectly fine ways of doing it without jQuery in 2018. I've taken to looking the dates of answers and ignoring any that date from more than 2-3 years in the past.
[+] elboru|7 years ago|reply
Actually I've rarely considered duplicate questions as a bad thing, I like to open a bunch of related questions (usually a couple of them tagged as "duplicates") and check which one fits my problem better.
[+] BeefySwain|7 years ago|reply
I started learning Python this year. The number of Python 2 specific answers on Stack Overflow has been a not-insignificant barrier to that.

Almost all answers recommend using os rather than pathlib, many answers recommend using cmp functions rather than keys for sorting, etc. Not to mention all the print statements.

[+] PeterisP|7 years ago|reply
This is a major issue. Just last week I had a student make an untrue claim about how something works based on a top ranking Stackoverflow answer. It turns out that the answer is from 2008, and was true back then, but has not been for something like 5 years already.

Stackoverflow badly needs a system for people (moderators?) to be able to 'obsolete' answers, possibly mark them with a highly visible "valid only up to version x.y of 2010" tag or something.

[+] rc_kas|7 years ago|reply
Yeah this is becoming a real problem. I lookup an error and find the solution solved with an older version of the framework.

If I'm lucky someone left a comment regarding the version I'm on, but not often.

[+] geezerjay|7 years ago|reply
> One challenge not discussed here is when an accepted and highly voted answer _used_ to be a good answer, but no longer is in later versions of whatever software/platform/library is discussed.

That's not a big problem. Questions and comments can be edited by other users, which includes adding and altering tags that reflect software versions.

[+] codinghorror|7 years ago|reply
> One challenge not discussed here is when an accepted and highly voted answer _used_ to be a good answer, but no longer is in later versions of whatever software/platform/library is discussed. This is also something that gets worse over time, like the uniqueness problem.

It's not discussed because the solution is kinda obvious.. wikis mean editing, right? Even by anonymous users? That's also how it works on Stack Overflow. Edit the answer to make it better, more up to date, or add a disclaimer at the top that it only applies to very specific versions as needed.

[+] btilly|7 years ago|reply
And this can happen surprisingly quickly.

As a cautionary example, see https://stackoverflow.com/questions/5021456/how-does-mongodb.... The question was why MongoDB was by default able to avoid the equivalent of SQL injection attacks. My answer took what was in their FAQ at the time, and expanded upon it based on advice from D.J. Bernstein - who is famous for his ability to write secure by default code.

Then it was discovered that PHP volunteered to create security holes in MongoDB. Then it was discovered that multiple other languages and libraries likewise volunteered to do so. Had they followed the good advice that I was quoting, the problem wouldn't have happened. Despite the other faults of MongoDB itself, in this case it was truly innocent. The security problem wasn't in it, but in the libraries that were written around it. It made it easy to write secure code and they didn't.

But the result? From the point of view of a naive programmer, not long after my answer appeared it was revealed as misleading for PHP programmers. A few years later, it was actively misleading for other languages. And while the advice remained technically correct - which is why I left it - it has been criticized on reasonable grounds by several other people since.

[+] mapgrep|7 years ago|reply
When he writes about ohw StackOverflow is first and foremost a wiki, he is offering a solution to this situation.

In the original vision of StackOverflow, that accepted and highly voted answer would be converted into a wiki. Then when it gets stale, it would be revised.

Not saying they do a good/bad job of this, just that, that's how it was supposed to work. And ya it would be totally frustrating as a new contrib because if the canonical answer was not converted to wiki yet, you can't really contribute.

[+] teh_klev|7 years ago|reply
This is a pretty good example of this problem which got a top of front page hit for my google search (and it's been viewed 15k+ times):

https://stackoverflow.com/questions/36747293/how-to-specify-...

The question is tagged for ASP.NET Core 1.0 so there's answers that are applicable to that version. Then things changed in 2.1, which removes some friction when adding custom view locations, and another user posted an answer specifically for that version.

[+] ant6n|7 years ago|reply
A related issue: the best answer may have a link to the documentation, which may rot. Now people will down-vote the answer because broken link.

This could happen if somebody asks how to do something using some library. If the library actually has a builtin facility to solve the problem, but then the answer gets down-voted due to documentation link rot; then another answer explaining how to built that facility from scratch may become the 'best' answer, even though the re-implementation of existing library functionality is a bad idea.

[+] beached_whale|7 years ago|reply
There is a long tail to tech use and the answers often are the best for that particular set of variables. I think that adding tags to make it more specific in this regard as time passes can really help. If it stops being relevant when library X reached version Y, add a tag that says pre-version Y
[+] crdoconnor|7 years ago|reply
lol I find it amusing that the highest and lowest ranked comments on this page made the exact same point.
[+] kauffj|7 years ago|reply
StackOverflow being a wiki is at substantial odds with the way answers are selected.

If StackOverflow is a wiki, then the best answer to a question should be determined by the community, not the asker, and needs to be able to evolve and change over time.

However, StackOverflow simultaneously insists questions can't be duplicated while making answer selection immutable and controlled by the asker. This results in a suboptimal experience.

Here is an example question highlighting this: https://stackoverflow.com/questions/884177/how-can-i-determi...

I currently have the best answer to the question "How can I determine what font a browser is actually using to render some text?". The answer I gave was the best answer in 2010. Things have changed a lot since then, and my answer is no longer the best one on that page.

_But no one can change the best answer, which is insane!_ As a result, you see best answers to old questions being turned into community wikis edited to include better answers in the thread, rather than those answers being selected.

[+] codinghorror|7 years ago|reply
That's mostly a perk for the question asker. Nobody (that I know of) stops reading at the first answer, because there are usually multiple good ways to solve any problem in programming. And if the accepted answer has a fraction of the upvotes of the answer just under it.. that's another strong signal to "keep scrolling"
[+] coldtea|7 years ago|reply
>If StackOverflow is a wiki, then the best answer to a question should be determined by the community, not the asker.

You're thinking of wikipedia. A wiki doesn't determine what the "best content" in it is. It's just a collaborative way to edit text together.

[+] PudgePacket|7 years ago|reply
I've used stackoverflow for years and have never heard it put like that.

"Stack Overflow ultimately has much more in common with Wikipedia than a discussion forum. By this I mean questions and answers on Stack Overflow are not primarily judged by their usefulness to a specific individual, but by how many other programmers that question or answer can potentially help over time."

Personally I would have been much more understanding of the process of using stackoverflow if I knew this, and so would many of the people who get stung expecting an answer to their question.

In reality the user is contributing their question to the community, not asking a question in the traditional sense. That's my take anyway.

[+] sureaboutthis|7 years ago|reply
A version of that is published in the Help Center and The Tour--both which everyone is directed to but nobody reads--and then everyone argues with us about.
[+] torstenvl|7 years ago|reply
I think this is a good observation, but I still don't think it completely explains the hostility on SO, which quite often seems like an even more hostile and juvenile version of certain Linux distro mailing lists. It honestly seems like most of SO is people screaming "RTFM n00b!" and downvoting questions into oblivion.
[+] codinghorror|7 years ago|reply
> Personally I would have been much more understanding of the process of using stackoverflow if I knew this, and so would many of the people who get stung expecting an answer to their question.

My gut feeling is that this worked better in the past because Stack Overflow was at a smaller scale, and the audience was a bit more insular and willing to read stuff about how the systems work on Stack Overflow (programmers love understanding rule systems; it's literally their job most of the time). Now that SO has achieved permanent world scale, the constant influx of new people who don't take the time to learn the ambient norms before posting, and thus cut themselves on what they perceive to be unnecessary sharp edges, is getting .. large.

Most of this could be solved by a very detailed, educational multi-step /ask page in my opinion.

[+] neuland|7 years ago|reply
Given this though, is the question / answer format really suiting the purpose?
[+] some_random|7 years ago|reply
> Personally I would have been much more understanding of the process of using stackoverflow if I knew this, and so would many of the people who get stung expecting an answer to their question.

What do you mean here? Why does a separate answer to unknown future readers take precedence over the answer the poster (and other future readers) was looking for?

[+] cletus|7 years ago|reply
Wow, time flies (for both the age of SO and how long since Jeff was involved).

So I'm onboard with the concept of SO as Wikipedia. Fine. Weirdly I see no mention of some of the bigger problems (as I see them). And what's weird about these problems is they were completely foreseeable by anyone who paid the tiniest bit of attention to Wikipedia.

1. TMS (Toxic Moderator Syndrome). You have askers, answerers and moderators. All have their purpose but they are not equal.

- People who ask questions mainly derive value from SO by getting answers to their problems and this is how it should be (and the karma system reflects this).

- People who answer questions. This is where most of the value is derived from.

- Moderators. While cleaning up the site has value it should be recognized that this is a utility function. The karma system reflects this but any system like this seems to attract a certain kind of personality who embodies the principle that "those who can, do; those who can't, moderate".

Look at any highly ranked answer (or question) and you'll see a litany of questionable edits (which eventually rob the answerer of any karma when that question or answer gets 30+ edits and goes "community"). I don't have a problem with this kind of pedantry.

What I do have a problem with is closing of using questions because of a culture that has decided completely on its own what qualifies as acceptable content for the site. Anyone who has used SO more than a few times will have come across useful questions that don't have mathematically provable correct answers and are closed as off-topic.

It's like the SO mods feared flamewars that never happened and in the process created an equally bad (if not worse) situation.

2. Accepted answers that are wrong (or were right but are now wrong). Why can't these be edited?

3. What to do with all that VC money. This never made sense to me but this was in the era where some (VCs mainly it seems) thought that Q&A sites like Quora were going to be the next unicorns (I never did and still don't).

This has led to side businesses like SO recruiting, which I never thought was going to go anywhere because if you say contributions to the site were a useful signal in hiring (which I'll accept as valid), last I looked at this (a few years ago) only some ~25,000 with non-trivial amounts of karma. That's not a sufficient market and pales in comparison to, say, Github repos as a signal.

4. How to handle stale information. I still see no solution to this.

I really do wonder what went into Jeff bailing 2 years in (assuming he wasn't pushed out). Joel still seems to be plugging away, which is a bit weird given he's done much better out of, say, Trello.

There's honestly nothing magic about SO. It's just fairly simple software with a clean UI that came about at a time where the alternative was the giant trash heap that was and is EE. Don't get me wrong, it's definitely useful.

[+] Ajedi32|7 years ago|reply
You can't really get moderator privileges on SO without first being one of the "People who answer questions".

You can't cast a close vote without having 3,000 reputation. Even just downvoting requires 125 reputation. The _least_ experienced [diamond moderator][1] on StackOverflow has over 19,000 reputation. Reputation is earned, primarily, by answering questions. So your assumption that "moderators" are distinct from the other two categories of users is incorrect.

[1]: https://stackoverflow.com/users?tab=moderators

[+] wool_gather|7 years ago|reply
Minor note, but one of your concerns, automatic CW transition was removed several years ago: https://meta.stackexchange.com/questions/227290/stop-using-c...

Also,

> Jeff bailing 2 years in

The site was launched in late 2008 (hence the blog's congratulations on 10 years), and presumably there was a fair bit of work previous to that. So somewhere between 4 and 5 years.

[+] codinghorror|7 years ago|reply
> How to handle stale information. I still see no solution to this.

Since you're down with "SO as Wikipedia" surely you can find the edit button on every answer and question.. which works even in incognito mode when you are not logged in?

[+] k__|7 years ago|reply
When I wrote my bachelor thesis about democratic methods in online communities, I found out that all these crowd-sourced sites had one major problem.

When they start, senior players in their field of work laugh at them because they don't have much content. So they try to get as much as possible, trying to get as many new creators on board as they can.

Later, when they have grown enough, the senior players in the field laugh at them because they have mostly garbage content. So they try to increase the quality of their content.

The problem here is, now they accumulated a vast mass of creators who love the site, but only a fraction of them creates quality content.

They unleash a task force of moderators on them that kick out the low-quality creators, which improves quality, but bad for the morale of the whole community.

Wikipedia did this and Stackexchange does this too.

I think, instead of alienating existing creators by deleting their content, they should simply make high quality content more visible.

[+] debacle|7 years ago|reply
Being a community manager is a thankless, unrelenting assault on your confidence and emotional and social stability.

The social Internet's linchpin has almost always (since as long as I can remember) been that it requires a certain kind of person to be an unpaid community manager (by any name), and nearly every site you visit (wikipedia, stackoverflow, reddit, etc) makes use of these nonployees.

[+] grey-area|7 years ago|reply
This is true, there is definitely a lifecycle to these sites (which even perhaps applies to forums too), it can be seen in all large online communities (and perhaps all communities?).

There's another even more fundamental problem though which emerges at every stage. The people who want to participate the most at any stage are not the most qualified, and the people who are qualified to answer are busy doing instead of answering. It's not just that inevitably you need to kick out bad content, it's that the people doing the kicking out don't know enough to judge what is good and what is not.

So by the time you get to the recruiting moderator stage most of the people interested in becoming gatekeepers/moderators are not at all the people you actually want to be gatekeepers (those people are generally too busy or not very good at such things), and your moderators are a self-selecting group who are more interested in form and adherence to rules than content.

[+] dragontamer|7 years ago|reply
There was an online game I used to play called "Utopia" (closely related to Earth: 2025). It was structured in "seasons", where every 3 to 6 months, the game would reset from scratch.

I think Stack Overflow would benefit from a similar reset cycle. Perhaps users / badges / moderators can remain the same between seasons, but every 5-years or so, just reset the entirety of StackOverflow.

That means:

1. Making "old StackOverflow" read-only. The goal being, these answers may be stale and no longer relevant.

2. Migrate "fresh" stuff over to the next season. Say, everything within the past year is assumed to be fresh-enough to continue to the next season. This is automatic.

3. Users would only have to worry about duplicates within the current season.

4. Referencing an "old season" of StackOverflow is encouraged. If an old answer is still relevant, then you can ask / answer it in the new season. Provide badges for this easy job so that the community can easily push and "renew" the data to ensure it remains relevant.

5. Historical answers can remain archived. There's a lot of answers which are important for history's sake, but changing the text to be relevant for today's programmers may lose the history of some answers. As such: a historical archive of what programmers thought was best in 2013 is best left alone, but "new answers" which reference the old post + updates with new recent developments would provide context. IE: "Don't use std::shared_ptr<> with new[] in C++" (correct in 2013, but incorrect after C++ 2017, which allows shared_ptr<int[]> to use the correct delete[] operator in these cases). Documenting the history and changes of languages is important too!

--------

Yes, StackOverflow is a lot like Wikipedia. But unlike Wikipedia, the tech world is incredibly fast paced. Answers for Java 1.4 are likely irrelevant in today's world.

I dunno, maybe 5-years is too long, or maybe not often enough. But some "season" cycle would be a good rebirth / renewal period for the website.

[+] jmuguy|7 years ago|reply
On any given day when I'm being really productive I try to go back and count the number of tabs I have open on SO. I certainly enjoy watching my rep go up from the one time I answered a VueJS question when it was still kind of new but really I don't think I could do my job without the site. The amount of negativity that gets thrown towards it is really ridiculous.
[+] melling|7 years ago|reply
Before I did a couple of rage quits on StackOverFlow, I wanted it to be the definitive place for learning any computer topic from the beginning through advanced topic, especially esoteric topics. You could easily build the ultimate learning guide given enough questions, linking, etc.

I spent quite a bit of time on elisp questions. For example:

https://stackoverflow.com/questions/2170528/writing-hello-wo...

I think I had close to 200 questions at one point.

[+] Flimm|7 years ago|reply
I like this blog post, this is the vision of Stack Overflow that I bought into when I started posting. However, it's hard not to read this blog post as a diplomatic pushback to the current efforts of SO leaders to make it more welcoming. Jeff Atwood says that SO is "supposed to involve a healthy kind of minor [...] anxiety".

This section in particular stands out to me:

> This is why I cringe so hard I practically turn myself inside out when people on Twitter mention that they have pointed their students at Stack Overflow. What you'd want for a beginner or a student in the field of programming is almost the exact opposite of what Stack Overflow does at every turn:

> * one on one mentoring * real time collaborative screen sharing * live chat * theory and background courses * starter tasks and exercises

> These are all very fine and good things, but Stack Overflow does NONE of them, by design.

If this were on the official SO blog, I would be very surprised.

[+] eberkund|7 years ago|reply
Your score on stackoverflow has always been a weak indicator of knowledge/community involvement/any other virtuous attribute. This should be clear to anyone who has browsed upon questions like "How do I perform this common operation in Git?" or "What Bootstrap class do I use?" and seeing the accepted 1 liner answer with 1000s of up-votes while at the same time some in depth answer to a question about operating system internals, database optimization or <insert complex topic here> has maybe 10 upvotes.
[+] ndnxhs|7 years ago|reply
That relates to another point in the post that your questions and answers are scored based on how many other people you helped.

I have a super high rep on the blender stack exchange just because I happened to ask all of the noob questions when the site was in beta. I still get almost daily upvotes even though I haven't used blender in years.

[+] skohan|7 years ago|reply
I feel like Stack Overflow has gotten less useful to me as a programmer over the years, and these days I more often find the answers I need on a forum geared toward whatever technology I have a question about.

I have a hard time telling whether this reflects a change in developer culture online over the years, or a change in the types of questions I tend to ask as I have become a more experienced programmer.

[+] faitswulff|7 years ago|reply
I found the conclusion rather disappointing:

> What should Stack Overflow be when it grows up? Whatever we make it, together.

It's more of a historical overview than a vision for the future.

[+] forrest92|7 years ago|reply
> Stack Overflow is a wiki first

This is such an out of touch statement it's hilarious. Stackoverflow is a wiki in the same way my dog is a heater.

[+] manigandham|7 years ago|reply
There are definitely problems with outdated content. SO + Google seems to be particularly bad at finding accurate answers without cross-referencing several different posts all linking to each other, combined with forced immutability and the difficulty of some changes.

Some other sites like Quora have a full question "merge" feature which SO needs, it would cut down the duplicates and allow a single question thread to become more useful.

[+] EADGBE|7 years ago|reply
I'm still getting a bit of a humble brag out of this.

But thanks for the shout out, for all my contributions on SO. It's amazing, I really feel like an indispensable cog now. /s

However, keeping Documentation[1] would have really accelerated the progression of SO. But whatever... I don't run it.

This really isn't all for ourselves though; the Stack Exchange community is more impressive to me. I really enjoy the Parenting, Money and Music SE's.

[1] https://meta.stackoverflow.com/questions/354217/sunsetting-d...

[+] crdoconnor|7 years ago|reply
Judging by the number of answers I see which were valid and good answers in 2011 and are horrendously outdated now, it's not just grown up, it's grown long in the tooth.
[+] gonational|7 years ago|reply
I’m gonna catch some flak for this...

Listening to Jeff try to describe what stack overflow is and the “fundamental misunderstanding” by all of us millions of unwashed masses is amazing.

It’s also a bit like listening to a muskox describe why it decided to grow long hair after so much time in the snow; IOW, a complete and total lack of understanding of emergence and a rewriting of history at the behest of Jeff’s enormous ego.

This is what happens when you raise massive amounts of money for what is a simple question and answer site and you have to find some kind of philosophically transcendent exclamation of what it is that you have created. Instead of saying “we created yahoo answers for programmers, but with a better interface”, you come up with something like “We’ve created a valuable resource for the future of the planet and all the programmers hereafter”.

Stack overflow is and always was a question and answer site. To attempt to take credit for the following value of search results containing stack overflow questions that have already been answered that sound like what you’re asking is to take credit for search engines and to take credit for your users’ hard work.

That last bit doesn’t surprise me at all, given that Jeff’s post ends with an insulting meme that implies we are a dumb mob.

[+] toddh|7 years ago|reply
Sorry, I'm going to have to close that post as off topic.
[+] mark-r|7 years ago|reply
I've found that the policies on StackOverflow are at odds with my motivation for providing answers. There are two main motivators for me, working on interesting problems and helping other human beings. The interesting problems are few and far between, so helping others has to do. As you can see from this post, the system has been rigged so that the goal of helping the individual is completely deemphasized to the point where it's actively hostile.
[+] sjapkee|7 years ago|reply
This is the world's most famous vim exit guide. It has already fulfilled its mission.