What does Stack Overflow want to be when it grows up?
blog.codinghorror.com
blog.codinghorror.com
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. :)
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.
But for SO, where voting is never locked and content 'ages' at different rates, it's not so clear there's a downside. The "closed as duplicate" issue still stands, but rising user count is probably helping the problem.
The chosen answer was not the best, so my answer ended up reaching the top. But note that after 7 years, my answer, although still correct, is no longer the most efficient way to do things. Better alternatives are rising up.
I'm not sure what the deciding factor is now, perhaps there is a more complicated scoring system happening in the background or it recently changed?
If a better answer comes along in a question that is then marked as a repeat of a question that has a worse answer, forget it.
At any rate if a better answer comes along it should rise to the top in the matter of <24hrs.
And then the newest users can come and see based on the LATEST version which is the most upvoted answer.
The issue is that relevancy has a time-component, so there needs to be way to age scores as well to make sure the best answer for that time period is at the top.
Huge swathes of features appear at transition points like MySQL 5.5 -> 5.6, which means lots of answers are now viable but no longer the best option. And since they are still correct, it's hard to write up new questions which won't be closed: instead of saying "Answer X no longer works", users have to say "Is Answer X still the best approach?" and get closed for duplication or subjectivity.
Worse still, lots of databases still have multiple versions in active use, so "worked great for me! - posted yesterday" isn't even a helpful reference.
Microsoft's decision to drop those technologies from Edge was kind a mixed bag. From a security perspective it was the right decision. But it has also stuck many of us developing for a non-evergreen browser, even while our users are on Windows 10.
IE11 is the new IE6.
I think Microsoft has made a mistake by stopping the addition of standards-compliant features to IE11. They should keep supporting it and modernizing it until the userbase has moved to Win10 on its merits, instead of trying to use IE11's aging as a lever to force Win10 adoption.
I do think a mistake was that IE11 was included at all in Windows 10 to appease corporations, instead of just ripping off that particular band-aid. But doubling down on it and allowing corporations to default to nothing but IE11 via group-policy is the biggest mistake. GPO footguns like that are why corporate America can't have nice things, and I'm increasingly of the opinion that it's time Microsoft started dropping footguns from GPO.
(Also, note that the root problem in this particular workplace remains Oracle and their web apps that are stuck in IE6 worst practices but cost millions of dollars each year to continue to operate. Oracle is the real villain here.)
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.
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.
If I'm lucky someone left a comment regarding the version I'm on, but not often.
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.
I'll often find answers to questions which are outdated and haven't been improved. I agree they have a mechanism in place to fix it, but are users actually fixing answers en masse? SO could introduce an age out mechanism that requires an answer to be maintained semi regularly? Do they already have this today?
Editing an answer substantially upsets the entire up/down vote system, as well as the comments. A better system would be something like question/answer versioning. In general it's a problem that has received far too little effort.
Do you really believe that adding a tag with a version number to a post is something that can be classified as a very aggressive move, particilarly if it's an old post?
Yes, it really is. Tags are used to filter results. Stackoverflow specifically lets users run searches only on specific tags, or even exclude certain tags from the search results. As tags reflect technologies and their versions, stackoverflow enables users to run queries only on specific versions.
99% of people use Google as the search interface to stack overflow.
As someone who primarily interacts with SO via search engine results, it's one of the biggest problems with SO. The number of top voted/accepted answers that are 'wrong' in one way or another keeps going up and thus the chance of me finding the 'right' answer on SO keeps going down.
Otherwise, how is it "not a big problem"? Is it the sort of thing where "in theory" it's not a big problem, even though in actuality it significantly effects the usefulness of the site to many people?
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.
My edit was quickly rejected by a user who had no knowledge whatsoever of the technical domain in question, claiming that my edit went against the spirit or intention of the original answer's author. I then submitted mine as a separate answer, where it languishes at the bottom of the page, rarely noticed by users who come looking for the answer (and it's virtually the only hit on Google for the question, has been for years). They all see the outdated, poorly organized one instead.
So my work was a waste of time, shot down by an ignorant, mindless policy wonk whose only goal is to farm reputation points.
I have not contributed to SO since. I have better things to do with my time, like publish my own documentation on readmes on GitHub.
The solution to out-dated answers might be obvious, but apparently obvious isn't stopping it from being a problem... it's a big problem.
If it's obvious, why is it still a problem? If the answer is "because the userbase isn't doing what I want", then _that's_ a problem to which the answer is apparently not obvious. To the extent that SO has been succesful, it is of course that figuring out how to structure the software so as to get the userbase to do useful things _is_ the problem, not an "exersize left to the reader".
When SO was new, there was incentive for people with expertise to contribute it. Now there is more incentive for Wikipedia-types to go around smashing others' contributions with their rejection hammers. It's a waste of time for those who actually have something to contribute.
This is strongly discouraged because then the existing votes become a lie.
> or add a disclaimer at the top that it only applies to very specific versions as needed
This I think is allowed, but is extremely rare.
I think there is a critical mass after which the site's focus changes from creation to protectionism, and then it becomes stagnant.
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.
For a long time I thought that the comment that I left in 2011 after the PHP bug was sufficient. Remembering it today I edited the answer at the same time that I posted here.
Now I could be faulted for not having responded to the comments in 2015. However I was taking an extended break from stack overflow after getting annoyed at the moderation of https://stackoverflow.com/questions/11314077/algorithm-for-e.... When I came back, dealing with the variety of things that could have further annoyed me while I was gone did not seem worthwhile, so I didn't. (It remains a pet peeve that a lot of moderators remain quick to close algorithm questions because they do not recognize DP-type problems as things which are more likely to be answerable by people with a CS background than a math one.)
It is amazing the number of replies in this entire HN thread that have no idea every single question and answer on Stack Overflow is editable, even by an anonymous user. The first item in my list was Stack = wiki for a reason!
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.
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.
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.
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.
[1]: https://meta.stackoverflow.com/q/326095/1157054
[2]: https://meta.stackoverflow.com/q/283456/1157054
From a UX perspective, you want to put the most relevant information at the top. The votes of all Stack Overflow users gives a far greater signal than the one 'accepted' flag from the asker.
This is one of my biggest pain points with Stack Overflow.
Also, I'm sure the claim isn't that everybody stops reading after the first answer, but that the first answer does get a lot more reads than answers further down. I bet it would be possible to prove this with the right analytics.
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.
I dont know what they were thinking.. but in any wiki I have used anyone can make corrections and there is a shared responsibility to keep it up to date..
it seems to me that the statement is therefor valid - the basics of what is or is not a good answer is set by the asker not the community, which is how ticketing / Q&A systems work NOT wikis IMHO.
"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.
I think the game-ification of SO (in the form of badges, scores, privileges and rules) attracts personalities who crave that shit and don't see any problem with being harsh and dismissive to others that don't follow the rules (as they see them).
Regardless of how much SO may say that it's about "the community" rather than the individual, it BECOMES personal when an individual has a genuine problem and gets treated like crap.
The whole stack-exchange scene has become an incredibly weird place to ask a question. I find value in it and use it everyday, but I dread asking a question there.
The rules are exactly what is gamified via the points and badges system. You can’t fault anyone for responding to the incentives they are given, when explicitly set out by the site owners via that system.
The personalities attracted by it are the ones that made it successful, by design. Otherwise it would be just another Yahoo Answers. The “rules” only changed after those contributors had made it a success. Some of those people apparently feel it was a “bait and switch”.
> You can’t fault anyone for responding to the incentives they are given, when explicitly set out by the site owners...
Oh yes you can!I remember stackoverflow in the early days and it was useful from the beginning. Sure, there were always some persnickety zealots who acted as self-appointed police "protecting" the community from subjectivity and duplicate questions with all the sensitivity of a clock-maker wearing oven mitts.
In the last 5-6 years, however, it has been overrun with such strange behavior. One can't simply ask a question unless it meets an unreasonably high standard-- and even then perfectly good questions get slapped down for no reason at all.
All while asking or answering a legitimate question is likely to be worth maybe 2-3 upvotes and risks getting down voted into oblivion.
Which could be a positive (it certainly makes sense that the most engaged people should be the community moderators), but when combined with how points are earned, it would naturally lead to weirdness like the swaths of downvoting, reporting and totally unnecessary grammar edits.
It's way too common to see exchanges like "The manual for X is factually wrong, so how do I really do it?" "RFTM!" or "I want to Y, which is not covered by similar question X for reasons A, B, C." "Closed, dupe of X!" Or for that matter, "How can I X?" and "I'd like to X, help please?" each closed unanswered as a dupe of the other.
Building for the future, not solving for the moment, is a perfectly reasonable sentiment. I can understand using that argument to close "what's the bug in my code?" questions, or for that matter "how do I X under these self-imposed restrictions?" But in practice, it's frequently wielded like it would be on a nasty mailing list or Usenet group, to tell people that they shouldn't do what they're doing and therefore don't deserve an answer.
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.
But... I do agree that a detailed, educational multi-step page (with examples!) would be an improvement over the current here-are-the-8-rules-for-asking-ok-now-have-fun page.
One area I wish there were more support in is to aggregate all the knowledge that is split across multiple questions. I think this could be helpful for beginners, but also is extremely specific areas as well.
For example, I imagine that a lot of these bad questions come from beginners. So, aggregating answers about common beginner misunderstandings with a library or system into a wiki page. Or, there could be a "getting started" type page that goes over the basic steps and concepts.
This is obviously getting into the business of writing docs for projects that either don't have them or don't have good ones, but it seems from the existence of stack overflow that this is actually necessary.
Then again, there seems to be tons of questions on projects with really good docs and tutorials. So, maybe you're right and it's just that the people asking bad questions / giving bad answers don't read docs.
[1]: https://meta.stackoverflow.com/questions/354217/sunsetting-d...
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?
The issue isn't why that is, but the very fact that it is so. It's not obvious, and it's not really how people use StackOverflow, in the same way Kickstarter used to believe (probably still does) it was about investing in indie creators, whereas people really used it as a preorder store and a marketing platform.
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.
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.
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.
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?
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.
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.
Oh man I volunteered to moderate on a large gaming related forum ages ago. The amount of BS you deal with along with personal attacks and etc is pretty high. I never felt emotionally upset by it as I felt you had to maintain an even keel .... but it certainly is not a job for everyone and the rub is the folks who WANT to do it the most are often the worst at it. Being a good moderator is not a skill everyone has, but it's also not valued in any real way by most communities / companies.
Really the most frustrating aspect were the non trouble users who seemed to go to bat for the folks who were truly bad actors because of some perceived injustice (lie)... and all the meta that goes into that.
- an administrator completely shutting the board down overnight because of a romantic encounter that went down poorly.
- a prolific troll - who finally finally got enough of his accounts, sub-accounts, and sock puppet accounts banned that he effectively lost access to the site - texting me late at night demanding an explanation for why he was banned.
- people being outraged that we asked them to donate a small amount of money (somewhere around a hundred dollars, collectively) to help run the server, then offering to run it on their spare computer in their basement
- discovering that due to a relatively unknown feature of PhpBB, we had a whole secondary parasite community that didn't show up in user registrations, and that had a whole private forum set up that nobody else on the board was aware of. It was like opening up a basement closet and discovering that it's a secret night club.
Edit: Actually this link probably makes more sense: https://kotaku.com/the-secret-douglas-adams-rpg-people-have-...
I hate the word "entitlement" because I think it gets used wrong a lot, but oh man folks perspective when it comes to the internet ... a lot of that. Users just feel it should be free and even a minute of downtime and they want answers, about a gaming forum (god help them if they just went to play games for a bit).
As for the prolific troll thing, one site I worked (well volunteered) was a popular commercial gaming site back in the day. Threats, fake accounts claiming to be lawyers, etc. The site made money and all and had some really dedicated trolls. One they actually took legal action against. I assumed it was just some kid with too much time. Turned out to be a dude in his 40s.... in fact many of the most dedicated trolls turned out to be adults. Kinda shocking to me at the time as I was younger then and just assumed they'd be young dumb kids like me...
The handful of actual legal actions never were well known, it was amusing as the dedicated trolls talk big about every perceived injustice or slight or straight up lie they would make. Even posting on other sties about it.
But the only legal actions I was aware of, word never got out. I suspect when it gets real they get quiet fast, or their lawyer tells them to shut up.
This is correct.
As someone who has run forums for a number of years, I can honestly say I've fired 70% of the volunteers for exactly that reason. They wanted to impress their clique and use the power. In reality, it is more about using that power as little as possible except for things that might create a legal issue. (i.e. DMCA)
The other 30% I got rid of were due to activity. (i.e. Would go inactive for 30+ days without notice)
Instead of
"Hunt down bad content and delete it!"
they should use
"Hunt down good content and promote it!"
Why not create a premium version of the product that features only chosen content?
Creators can do what they always did and maybe they're even motivated to become "premium creators".
You're looking for a solution that aligns with your thesis. You're not going to find one.
I mean what should they do?
Write two pages for every article, one where everyone could write and one where moderators accumulate the quality content?
That won't scale.
Maybe they need a VCS based approach, that merges only quality content but keeps all low-quality content in dead-end branches.
I don't know what the solution would be, but the current approach is sub-optimal. Not because it's not nice to delete the work of people, but because they don't motivate people to do a better job.
The people who do them end up being people who volunteer to be "paid" with the opportunity to go on a power trip.
I've not had experience of it myself, but I've heard from some people who have worked at high profile charities that a similar thing happens there.
So, is it kind of like if you desire to be a politician (or any position of power), you are definitely not the kind of person who should be a politician?
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.
Not following, SO has always had pretty strict rules on quality from 2009 forward. There's no inflection point here.
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.
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.
You want to throwdown enough breadcrumbs from hello world to any topic you might wish to know to get things done in a language. More of a cookbook.
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.
Not at all, at least, that is not my intent. I do feel like the key items articulated there (SO as wiki, duplicate danger, competitive system of peer review, for practicing programmers) are not well understood by outsiders and peripheral members of the community, though.
Note that the Stack Overflow tour (which was and is quite good!) that explains what Stack Overflow is was perma-demoted to the footer... well, that used to be true, but actually I just checked now and it's gone altogether? The word "tour" doesn't appear on the SO homepage in incognito mode, at all. You can visit "help" (which is in the footer) and then, and only then, will it appear as a topbar.
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.
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.
For example, if you find a question from 2015, with all out of date answers, if you ask it again today it will be flagged as duplicate with a link to the 2015 answers and no further discussion is allowed. The older SO gets the worse the content gets.
They're trying to make a "Wiki site" but in a Q&A format, it doesn't work and doesn't make sense. Until they realize that their moderation policies are going to keep driving away questions that would warrant modern/fresh answers.
For example try searching SO but set your Google to only show content from the last 12 months, the results are simply low quality with half mod-dead. Most of the good content is from two years ago or more, back before the site switched from Q&A to "confused Wiki-site."
I'm starting to think that calling the edit button "improve this answer" and "improve this question" was a mistake..
That is probably 50% of it. I find myself using google to solve problems about once a day these days.
When I first started, it was easily 5-10x that.
> I have a hard time telling whether this reflects a change in developer culture online over the years
SO no longer really tolerates hard questions that an experienced programmer asks.
For the past 4 years, every question I've had that I couldn't find the answer to I've had the question closed or the answers being badly flawed. Admittedly, my sample size is only ~12 questions.
The reason for this is they really, really want to restrict the playing field to questions that are jr to mid-level with clear, math/code correct answers.
When you get into more complex problems, there is usually trade-offs involved that cause moderators to close questions. (i.e. How do you X as securely as you can while still enabling Y use case that breaks the most secure option available? This isn't ideal obviously but the trade off is acceptable.)
The other problem is this discourages answers for "new" stuff because they'll often close questions as duplicates even if you are asking about Version 8 and the answer from 2 years ago is about Version 7. The problem is, if you are experienced, you already know how to solve answers for Version 7 (because you've used it for 2 years) while Version 8 is new.
Questions I have are more specialized to the domain I'm working in rather than general programming questions.
No longer of the kind "X in language Y". Most of the questions about the system that I'd have nowadays can also be answered by colleagues over slack with the domain knowledge.
> 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.
This is such an out of touch statement it's hilarious. Stackoverflow is a wiki in the same way my dog is a heater.
+1 thank you for this comment.
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.
One major problem is that merging two very similar questions that are about the same concept would still end up with answers that seem out of place because they address a slightly different version of the question.
Most cases should be solved by closing as duplicate, as that will create a link to the canonical answer. Anonymous users will also be automatically redirected to the canonical answer if there are no answers present on the duplicate.
Most of the time, there are existing answers and "closing as duplicate" leaves up all of them as a separate question thread that just confuses everyone. The links between them and the duplicate message are not intuitive and easily overlooked, leading to an expectation of unfinished answers.
Quora meanwhile has completely reversibility, and allows the community to do it. It's caused some problems but overall has cleaned up many common and repetitive questions.
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...
That said there's usually an answer further down the page with a more up to date solution, it's just not the accepted or most popular one.
I would wager the majority of C++ users "in the field" are using 11 and below and haven't had a good opportunity to switch to 14 or 17 yet. As such, answers that seem outdated to you may be a good fit for the majority. It's sort of like how any native answers automatically float higher than boost answers - why is this? Because most c++ users are not using boost and have no interest in using boost.
If the idea is to be the "wikipedia of programming", I wonder if "votes" are enough. Should there be an active initiative to prune stupid/bad questions? Revisit old answers?
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.
Also, Jeff is not trying to take credit for the users' hard work, I'm a contributor and I don't feel that way, especially after reading this part:
> I am honored and humbled by the public utility that Stack Overflow has unlocked for a whole generation of programmers. But I didn't do that.
> You did, when you contributed a well researched question to Stack Overflow.
> You did, when you contributed a succinct and clear answer to Stack Overflow.
> You did, when you edited a question or answer on Stack Overflow to make it better.
it's CA-BY-SA IIRC. In other words if you copied and pasted a snippet from SO you now need to open source your project (the SA part of CC-BY-SA). I'm surprised someone hasn't written some ransomware that scans SO for snippets and compares them to github and starts sending out the "pay up" notices.
The issue that I have is the attempt to pretend to have guided the course more than was the case. SO was a Q&A with a tremendous UX, and the users used it to help each other. That’s it.
Even this nonsense of “gamification” is just ego-driven marketecture. Up and down voting has been a staple of the Internet for a long time. Voting up an answer is not gamifying it. The only thing even remotely game like about SO is that each question can have just one selected “corrct” answer... which is also basically the case on most Q&A sites, including yahoo answers.
Also, the extent to which Jeff and Joel attempted to curate this process is the exact extent to which the process tended to get in our way; deleting questions because they are “off-topic”, even though hundreds of people up vote them and want to know the answer, etc.
These are the decisions that ruined SO for manny developers.
Perhaps SO is not the knight in shining armor, as it may have seemed then, but it certainly helped change the landscape for the better.
Are you kidding me? Have you never seen the wall of badges?
I don't know man ... while I can kind of agree with the general "thing" you're trying to convey here (that of SO hard-headedly blaming users for "doing it wrong"), this particular point is one that I'll have to defend him/them on -- SERP-as-an-interface was a primary consideration from day one. I listened to all the podcasts they did during development, and they were pretty explicit about it in all the blog posts. They knew that most people would arrive at a previously asked question via search engine, and they optimized the experience for that reality. That's why they wanted each question and answer page to be an "artifact", something that grows over time, gets edited, improved ... precisely because they thought of this ahead of time ;)
- Gameify all metrics to an absurd degree, using gold-star-sticker style incentives for every given interaction type.
- Take the metrics a seriously as possible, creating a baroque network of norms and code that a user is always, somehow, in violation of.
So if it gets upvoted too much, it SHOULD be flagged as community wiki. There was a long discussion where users were complaining about answers that were posted too fast, preventing the complainers from getting points. If you misclick, then retract it, you can't vote again. Why? Because users were downvoting everyone who competed with them to float their answer to the top, then retracting.
The overall culture the site has a deep aspect of working the referees as much as possible, and the extreme hands on nature of how they regulate people's Fake Internet High Scores is to blame for it.
"I am honored and humbled by the public utility that Stack Overflow has unlocked for a whole generation of programmers. But I didn't do that.
You did, when you contributed a well researched question to Stack Overflow.
You did, when you contributed a succinct and clear answer to Stack Overflow."
You did, when you edited a question or answer on Stack Overflow to make it better.
But StackExchange is incredibly different from a "Yahoo Answers for Programmers". A Yahoo Answers for programmers would be an endless stream of "How is Hello World babby formed?" For all the times I've stumbled on Yahoo Answers, it has almost never helped me solve a problem. StackExchange helps me almost every day, in spite of the fact that I'm not the one asking the question.
Having an environment where contributors compete, askers are held to high standards, and moderators are aggressive can be harsh, but I have yet to see a gentle system that gets quality content out of anonymous volunteers on the internet.
Maybe today you go directly to SO to search like you go directly to Amazon for product search, but at the time being open and leveraging Google was genius.
Again, stack overflow is just a better UX for the already proven Q&A model that’s worked for ages.
Virtually sadistic.
No: the voluntary contributions of many skilled programmers, mediated by a website, has increased programmer productivity. Stack Overflow has captured and exploited some of the value created, and the contributors have not been paid.
Skill needed to create SO / Expertise embodied in content provided for free to SO = approx zero.
Running a big site like SO is hard, but it’s trivial compared to the expertise required to write the content on SO from scratch.
But, I can see the temptation of giving up soon and just posting on SO. I take full advantage of the paid AWS support plan. If I spend more than 30 minutes trying to figure something out, I’ll submit a ticket and wait to chat with someone. So far, AWS support is batting 100.
I don’t think any of my questions have been easy even in hindsight.
[0]:https://medium.com/@cellio/dear-stack-overflow-we-need-to-ta...
Unfortunately most of those involved are at least a little bit right, and I'm not sure that we SE users who are upset have concerns that make any sense out of context. :) They don't have anything directly to do with the original tweet. I probably shouldn't even have linked the article.
full talk at https://youtu.be/o_4EX4dPppA
e.g. if you get 1000 upvotes in position 1 those are worth less than 750 votes in position 2 because its expected that users will lean towards the first answer presented
Where in a typical engineering profession you would have a somewhat defined checklist on how to diagnose an issue and a proven method to fix it, in software engineering you have a million possibilities: "- Did you check x? - Was this nth specific step for this specific framework followed? etc.."
It's messy because the problem space can't be as easily enumerated.
Software has always had the problem of information being outdated before the books even reach retailers. However, this is one of my big frustrations with SO. There are so, so many c++ questions with accepted answers that are now 'wrong' due to changes in the language. That, and the fanatical insistence to close questions that are opinion based closes off a lot of questions more experienced programmers will have.
University degrees act as a filter to a certain extent. And many fields have courses at the beginning that are designed to weed out people who are not going to be successful in later coursework. And the result of that filter is a certain homogeneity people that make it through that filter and become successful.
The internet has done a really fascinating end-run around the university filter, and has been described as an an equalizing mechanism in society. But filters and enforced similarities are things that spontaneously emerge from societies--even anonymous ones on the internet.
While it's true that SO doesn't claim to be a learning resource for beginners, most google searches lead there, and that's a real part of its function no matter how much the managers claim it shouldn't be. And the response that beginners get is clear: conform or get out.
I think the social tide in the work place is moving against that kind of attitude. Developers are no longer quite the magical group of secretive wizards that they used to be, and the sort of Linus-style kind of treatment of people who aren't completely on it isn't really tenable in business situations anymore. A lot of the jobs that I want to apply for are more and more frequently focusing on being a good colleague, not just a good programmer.
I think SO has two obvious directions it can take. The first is to allow the core contributors to continue to lay down the law and remain, shall we say, aloof and concerned primarily with maintaining their fiefdoms while gradually shrinking in relevance and contributions. And the other is to, well, not basically.
I don't think either one of those is actively bad. There is value in maintaining the strict order that SO does. But that value comes at a cost. There's a high barrier to entry right now for being an influencer on SO, and that's good if you want to remain the authoritative place to find good answers. It's bad if you want a next generation of leaders to come in and replace the ones who are currently at the top when they wander off to do other things.
I remember reading a story about what happens when you listen too much to how people use your product, and the example case was Excel. It was supposed to be a spreadsheet. But Microsoft--ever the leader at market research--figured out very quickly that people were using it for almost everything but spreading sheets! And Microsoft--also the leader at getting product decisions massively wrong--decided to make Excel do pretty much everything instead of developing a separate product to fill those use cases. And now we're at a point where Excel does basically everything, and getting people to not fucking use it for everything is almost impossible.
So yeah. They need to keep a tight focus.
An interesting counterexample is EvE online. For almost 2 decades now, the games has had a reputation for being hardcore, elite pvp. The weak need not apply. Piracy, scamming . . . being the bad guy in every way is not only allowed, it's encouraged. That community filters itself very effectively. Whining about what's fair or not just makes you more of a target. People farm new player tears as much as they farm space dollars. And it shows. CCP Games has had a tremendously difficult time staying relevant in the MMORPG world and in the last couple of years has been forced to make sudden changes that really disrupted the existing community in an effort to appeal to new players. Nobody really wins there.
It will be interesting to see what happens in the next decade. It's a legitimately difficult management challenge, and I'm not convinced that it's possible to avoid what seems to be the inevitable rise and decline cycle of all social networks.