3

There has been discussion about answers which have been incorrect due to language/framework updates (Introducing Outdated Answers project, and the various linked questions in that question).

Specifically talking about the incorrect answers (not no longer in general use, or spoken or written about with disapproval, but actually, factually, incorrect), it seems that a lot of solutions were proposed, but...

None of the solutions seem to be working, for example: How to control property enumeration (for...in) with Proxy objects? . I am sure there are other examples too, I am just more familiar with that specific question (I wrote one of the new answers).

I am sure I am not the only person who will see "Unfortunately, it isn't possible to do this anymore" in the top answer, and try a different approach. However, in many cases popular questions with this answer will have the feature added into the language/framework, making the top answer entirely wrong.

What should be done, in general, and/or in my specific example?

Would editing the question with some kind of boilerplate message at the top be appropriate? Perhaps something similar to: This answer may be outdated. Consider reading other answers., with the option for the answerer to disagree and remove the added text?

14
  • 1
    related: meta.stackoverflow.com/questions/405302/…
    – rene Mod
    Commented Jan 16 at 23:44
  • 4
    It can be very cumbersome to go find all the answers that are now incorrect, and it can be very hard to "correct" those that you do find, if you had upvoted them x years ago because they were right then. With the current system the only thing I can think of is to tag the question with a version-specific tag that applies to the accepted or most-upvoted answer, so that at least readers are aware the question was asked and answered with that limitation. I see this with SQL Server questions all the time, 100-score answers that were great for SQL Server 2008 but horrible for SQL Server 2022.
    – Aaron Bertrand Staff
    Commented Jan 16 at 23:54
  • 5
    An enhancement that might make sense for some technologies is to add a separate tagging system for answers, and make it group-driven like close votes, where n people have to agree that an answer is out of date, and when that happens, the answer is labeled as deprecated. Similar could be done for "max-version where this is relevant." Some author answers may not take kindly to this, though. And there are all kinds of problems that could arise, like what do you do if the author edits the answer? Review the deprecated tag again to make sure the answer is now relevant for current versions?
    – Aaron Bertrand Staff
    Commented Jan 16 at 23:56
  • 6
    I'm not sure I agree with the close-voter that this could only apply to Stack Overflow. This could be relevant on any site that deals with software in any way, including Super User and Server Fault. (Also, @rene, the champion for that discovery work is no longer here, and I'm not sure there is any inertia left.)
    – Aaron Bertrand Staff
    Commented Jan 17 at 0:00
  • 4
    And in fact this isn't even just a software problem; it could apply in other areas too, like answers to electricity or home improvement questions that no longer conform to updated building codes or standards, advice about rare pork or the best artificial sweeteners, etc.
    – Aaron Bertrand Staff
    Commented Jan 17 at 0:05
  • 1
    @AaronBertrand I could have close voted as too broad for asking two questions in one but as both the outdated answer project and the specific case the OP want a resolution for, it needs SMEs from that community as not all outdated answers can be treated equally. MSO is in this case the better venue IMO. Let's see what the reviewers think.
    – rene Mod
    Commented Jan 17 at 0:09
  • 9
    Something to remember, just because the latest version of a technology makes the answer wrong doesn't mean that there are still not people on a version of the technology that makes the answer correct.
    – Joe W
    Commented Jan 17 at 0:52
  • 5
    One of the few good ideas in Stack Overflow Documentation was a markup to bracket paragraphs as applying to particular versions. It's a shame that never made it to Q&A. Commented Jan 17 at 3:38
  • 1
    Just... edit. That's why we can edit, so we can fix incorrect answers, or put a warning. Commented Jan 17 at 9:11
  • 3
    @ShadowWizardLoveZelda fix incorrect answers how? Also why? Something that was wrong for years then is changed to be right would basically be entirely changing the answer. At this point, what's the use of changing? One could post a new answer with the same, if not less effort. One thing is to "inherit" the voting of the older answer, especially if positive. However, isn't that just completely bypassing the voting system then? Yes, it does mean that the voting system failed for leaving a wrong answer with a positive score but still. Also, chances are there would be correct answers posted.
    – VLAZ
    Commented Jan 17 at 9:13
  • 2
    @VLAZ in case fixing it will change it entirely, it's possible to leave a message for readers on top of the answer. Commented Jan 17 at 9:22
  • 4
    I feel the topic is important, but the broad coverage from prose to example makes any consensus questionable. An answer being "actually, factually, incorrect", as described in the question, is a long way away from being outdated or version-specific, as hypothetically in the example. Actions applicable to the former are not necessarily applicable to the latter and vice versa, so mixing advice and consensus on the two is dangerous. Commented Jan 17 at 9:42
  • 8
    @AaronBertrand "An enhancement that might make sense for some technologies is to add a separate tagging system for answers" - we had a project ready to go at the end of 2021 for this called Answer versioning. Everything was ready to go. I have no idea why we didn't proceed with it (I was the tech lead on the team that was to do the work and very involved in discovery). At this point I doubt it is still on the product radar, but you find out more easily than me. I'm not holding my breath. Commented Jan 17 at 10:09
  • 1
    @YaakovEllis I think that's worthy of an answer, no? Commented Jan 17 at 10:35

2 Answers 2

14

What should be done?

I don't think that anything can be reasonably done, considering the tools (or lack thereof) that have been provided by Stack Overflow to address this specific issue.

@AaronBertrand commented on the question above:

An enhancement that might make sense for some technologies is to add a separate tagging system for answers

I agree that this is something that could help a great deal (along with trying to find other ways to incentivize keeping answers fresh while maintaining quality). However, I do not see it happening. (For context on the following: I was Tech Lead for and a Staff Engineer on the PubPlat team during events described.)

Throughout 2021, the Public Platform team (as it was called at the time) was working on a series of projects related to fixing the "Outdated Answers" issue. A number of changes were made to the site to address aspects of this, including trending sort and unpinning accepted answers.

However, the cornerstone of the effort (and in my estimation, the most important part) was answer versioning. TLDR on the project: allow for tags to have versions, and then allow answers to be given tag versions based on their question having the parent tag. Allow for easy filtering in a question based on the version that you are looking for.

A lot of thought was put into this. We went through multiple rounds of workflow revisions. I put together a plan for an MVP implementation that could be tested out on some of the most popular tags that would have taken the team (in my estimation) 2-3 months to get out. The project went to user research once. Then twice. The third time it went to use research, it never came out. Maybe a lot of people were to blame. Maybe no one was to blame. But it doesn't really matter anymore. What does matter is that some time in 2022 the product team declared "Mission Accomplished" on the Outdated Answers and we moved on to Staging Ground (for all the good it did us). And since then almost every single person who touched answer versioning has left the company.

I don't know why we didn't move forward with it. But we didn't. And I don't see it happening any time soon (note: I have been out of the company for over a month, and off the PubPlat team working on non-AI work for nearly a year, so I have absolutely no insight into the current roadmap, which to the best of my knowledge has yet to be made public).

And it is kind of sad, ya know? In my new job I am working on a completely new technology stack. I am searching stuff all the time, and see lots of links to Stack Overflow questions. And more often than not, it is for accepted answers from 2016. Or 2011. Or 2008. Yeah, it has 857 upvotes. However, I don't know about you, but canonical data from a decade and a half ago doesn't instill me with a lot of confidence in its veracity. And I know first-hand of the challenges that a new answer will face in being seen and promoted to the top of old incumbents for any popular question. I don't know if answer versioning would have solved anything by itself (all of the Outdated Answer efforts were seen as addressing different aspects of the multi-faceted issue). But it could have made a big step in the right direction.

The reliance on so many old answers, like the (in my belief mistaken) belief that Stack Overflow will forever own Google search results are two big signs to me that the site will continue to lose relevance in the future (note: I'd love for this to be reversed or to proven wrong, and I have written elsewhere about what I think needs to happen to achieve this).

None of the solutions seem to be working

Yeah, that about sums it up.

3
  • 5
    One of the big losses of abandoning the Documentation project back in '17 was the loss of the infrastructure and data that had been built to support versioning. Research in '16 had shown it to be essential to SO's future, and while it was a major challenge then the fact that it was again identified as essential during the Outdated Answers project hints at how different things might be now if we'd been able to continue building that dataset.
    – Shog9
    Commented Jan 17 at 21:36
  • 3
    If we had a whole tag versioning infrastructure already in place and ready to use for answer versioning, would have saved us months on theoretical dev work. Commented Jan 18 at 13:33
  • 1
    Answer versioning would be a single greatest improvement for Stack Overflow. Commented Jan 18 at 18:32
5

Both in general, and/or in your specific example, I think downvoting should always be part of the solution to incorrect answers.

I do not think incorrect answers are useful so when I see them I always downvote them. This helps reduce their answer order ranking, and if they are pushed into the range of moderators or trusted users with the delete privilege, then they may be removed from the site. Although moderators can delete any answer we rarely do that unless they’re into negative territory.

An alternative/additional step may be for you to edit an incorrect answer to say why it is incorrect (e.g. applies only to earlier software versions). If doing this, be very clear and certain in your action because it may risk a rollback war with the answerer. Commenting to suggest the answerer improves their own answer with such an edit first may also be useful.

14
  • 3
    The problem is that answers are seen far more often by people who need the question answered (i.e., who do not already know how to answer, and thus are not in a position to evaluate the answer's correctness) than by experts. Commented Jan 17 at 1:23
  • 5
    @KarlKnechtel When they try the answer that you say they need, and it is incorrect, I would have thought they would find it not useful.
    – PolyGeo
    Commented Jan 17 at 2:55
  • 1
    @PolyGeo this often works, except in the case where the top answer is "this is not possible". Then people usually try a different approach, not knowing they would have their answer if they just scrolled a little bit further.
    – yeerk
    Commented Jan 17 at 6:12
  • 6
    "I think downvoting should always be part of the solution to incorrect answers." Tried it, it doesn't work. The answer score went from a two digit number to another two digit number.
    – VLAZ
    Commented Jan 17 at 6:15
  • 3
    "if they are pushed into the range of the Roomba" no answers are automatically deleted by the Roomba. Only by mods, delvotes, and redflags. Also note that voting to delete an answer requires the score to be negative. So if you find one with a score of 1 that isn't red-flaggable and you can't signal a mod to delete it ("wrong" is rarely acceptable for modflags, at least on SO) you cannot delete it even if you downvote, because that takes it only to zero.
    – VLAZ
    Commented Jan 17 at 6:23
  • @VLAZ you’re right about the Roomba not deleting answers so I’ve edited that out of mine. I should have reviewed meta.stackexchange.com/q/5221/215590 before writing that.
    – PolyGeo
    Commented Jan 17 at 8:15
  • 1
    @PolyGeo, I downvote incorrect answers too, especially when they result in me writing the entirely wrong code. However, sometimes that just doesn't work. What do you think about editing the answer to at least suggest it has been made invalid due to language/framework updates?
    – yeerk
    Commented Jan 17 at 18:19
  • @yeerk I’ve improved my answer to incorporate your suggestion.
    – PolyGeo
    Commented Jan 17 at 19:42
  • 1
    @VLAZ a sole downvote may not work but rarely it will. That is why it is only “part of the solution”. It is possible for 11 people doing it to an incorrect answer that started with a score of 10 to turn it to a vulnerable negative score. Each voter plays their part in the solution.
    – PolyGeo
    Commented Jan 17 at 19:48
  • 1
    @PolyGeo the point is that we are woefully underequipped to deal with wrong answers. We could have 11 downvotes counter 10 upvotes. It almost doesn't happen because upvotes typically vastly overshadow downvotes, but still. Then we also need no new upvotes to happen. Which, if something is already positively scored, is rare. But let's say both of these rather unlikely things happen - we still need three users with 20k rep to see this negatively scored answer and vote to delete it. Which is also hard to happen. Overall, the solution downvotes are part of, is at best very inefficient.
    – VLAZ
    Commented Jan 17 at 20:01
  • 1
    The only tool we have against wrong answers is harshly shutting them down the moment they're posted. once they have momentum it's near impossible to do anything about it.
    – Kevin B
    Commented Jan 17 at 20:05
  • 1
    There are many ways that an answer can appear to satisfy the requirements of some passerby while still being totally incorrect. ChatGPT wouldn't have caught on nearly as well otherwise. Commented Jan 17 at 22:44
  • 2
    Something else that's relevant to this is the trending sort (at least on SO, where it's enabled), where votes decay in "power" over time in terms of sort order (with votes losing half their "trending score" each year). As an example, that means that a single downvote today has the same sort-order pull as 16 4 year old upvotes... All that to say: there's definitely merit to downvoting answers which time has made irrelevant, even when it seems like there's little use. I use the trending sort where possible, and do notice a difference not infrequently.
    – zcoop98
    Commented Jan 17 at 22:55
  • @zcoop98 the trending sort sounds useful and I was not aware of it.
    – PolyGeo
    Commented Jan 18 at 1:40

You must log in to answer this question.

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