I was thinking about this issue from time to time but I didn't know whether it really exists or just an speculation on my side until today when I woke up [!], I saw a very old answer of mine which was correct at that time and had a couple upvotes downvoted (in the meantime I'll leave that answer unedited for the sake of discussion; note that this is just a sample. I'm not asking "how to deal with this specific answer." The question is completely general as it's nearly impossible to keep track of all of your answers to see whether they require updating or not). While the downvoter didn't explain a thing, I suspect the reason is that the answer is no longer applicable (It's one of the new features in iPhone OS 3.0). As we go to celebrate a long sequence of birthdays for Stack Overflow (hopefully!), we're going to see lots of answers become obsolete. How we're going to deal with this issue?
-
This was discussed in one of the early podcasts. I'll see if I can find which one.– Perpetual Motion GoatCommented Aug 2, 2009 at 9:27
-
I was the downvoter :) If it had been accepted then I wouldn't of, but since the question was still open it was not correct.– deletedCommented Aug 2, 2009 at 17:18
-
7@Isaac Waller: The problem is not a single downvote. I'm sure as SO continues to flourish, obsolete answer will certainly increase in quantity.– mmxCommented Aug 24, 2009 at 13:50
-
2Related: How do we encourage edits to obsolete/out of date answers?– kenorbCommented Apr 9, 2016 at 2:00
-
Good question. If you edit it to reflect new technology the edit is rejected, if you ask a question for new technology it is marked as a duplicate of the old answer. So much useless rubbish.– flywireCommented Apr 4, 2021 at 9:50
-
Related (2021): Introducing Outdated Answers project– This_is_NOT_a_forumCommented Jul 21, 2021 at 21:36
-
And here on MSE: Outdated Answers project kicking off on Stack Overflow– This_is_NOT_a_forumCommented Jul 22, 2021 at 13:58
8 Answers
If the answer is outdated or no longer relevant either delete it or update it so it is relevant.
If the question is no longer relevant or outdated either edit it to reflect that it was relevant or change it to be relevant or vote to close it as no longer relevant.
Some of this depends on the reason for the change. For example, what's relevant to VB.NET 3.5 now is not necessarily what was relevant to VB.NET 2.0/1.1 or, God forbid, VB6. Those answers however may still be relevant to people who are still developing for those systems (and yes they have my condolences) so rather than delete it or update the question to whatever is current, it might be most appropriate to make sure the question and/or answer reflects that this applied to an old version.
You could say "For version X, it works like this but for version Y this is no longer relevant because of new feature Z".
In the case of iPhone OS, it's probably best to delete things that applied only to iPhone OS 1.x/2.x because they don't stick around in quite the same way that legacy operating systems and frameworks do. You are almost required to upgrade your iPhone OS and you're somewhat foolish if you don't (barring teething problems).
-
12This question is just an example. In general, it's not really possible to go through a thousand of answer and see whether they require updating.– mmxCommented Aug 2, 2009 at 5:07
-
3Getting downvotes or comments should be the indicator. Of course if the poster is no longer active then it is a lot harder.– cletusCommented Aug 2, 2009 at 5:13
-
Also, regarding, for instance, iphone 1.x and 2.x, there is still a significant population using older hardware that won't run 3.x, and I still have customers asking if I can complete iphone apps so they are compatible with (or degrade gracefully/usefully) when run on 2.x. I don't think that it's necessary to get rid of old information, although it would be nice if they were marked depreciated with a link to the new methods of performing any given task. Commented Jan 24, 2011 at 22:19
-
2A problem with this approach is that all the answers to question can become obsolete. Editing them all can be a big task.– RaedwaldCommented Jul 3, 2013 at 20:48
-
This is a good example of outdated answers. stackoverflow.com/questions/4170600/… Commented Dec 10, 2013 at 14:25
A huge issue that this thread is revealing is that "obsolete" is a subjective thing.
Many of the suggestions here suggest ways of "Correcting" a currently posted question, but if we agree that the corrections themselves are subjective, it's not appropriate in all situations.
As Nagul suggests, I believe that the best solution is to implement a simple visual design system that passively addresses the problem.
Perhaps the simplest way to do this is to provide more emphasis for the Date of each post. It's a critical piece of context that's difficult to see at a glance, that helps someone arrive at their own opinion of how timely or relevant a topic is.
Yes, the date appears on each post, and yes, the sidebar text reading "Active 3 years ago" does help on this front, but I believe that this context is important enough to emphasize more.
How about an implementation of one of the features found in source control systems - paint the questions and answers different shades of a color to represent their ageing.
For a more proactive approach, implement a feature to allow users to provide version info with an answer. This is something I do with my blog posts because I see the same problem all over the web, especially with technology blogs. However, I'm not sure this will work on a large scale.
Speaking of out-of-date answers, now that you can't change your up-vote/down-vote after 5 minutes, only new eyes can add new votes to an answer, until the answer is edited.
So an answer that was correct and got up-votes for it, but is now wrong, will only get down-votes if new viewers notice the problem.
Of course comments can (and in this case should) be added by anyone to (a) notify others the answer is no longer valid, and (b) notify the original answer author to update the answer.
The idea of SO was from the beginning to provide updated answers and get rid of these which are out-dated. Joel mentioned several times on the podcast, that he wants to solve the issue, that you cannot recognize easily, that a googled answer is not the appropriate solution to your problem anymore.
For your example answer this means, if the information provided is obsolete, the downvote was correct. If you do not want to spend the time "maintaining" old answers (which is comprehensible), the downvotes ensure that the obsolete stuff is dumped to the bottom. It's the quality assurance of the system. If you do not want to deal with them, just kiss them goodbye.
This also occurs with hyperlinks. Over time these will break or the information change, perhaps becoming less relevant to the original answer/question. This may be a particular issue with quick early answers that are often the ones upvoted or accepted.
Perhaps we should promote an ethos where someone who uses a hyperlink has a (moral?) obligation to check the continuing validity of links and repair them or, with suitable attribution, embed information directly.
-
11This is exactly why questions should never be answered like this: 'Check this link, it has everything you need to know'... I hate those types of answers.– jasonCommented Aug 3, 2009 at 18:55
-
4or worse, "I posted the code my question refers to on my [personal site/blog/geocities]"– BryanHCommented Oct 17, 2009 at 0:00
Future-proof your answers/questions where you can without making it a nuisance of noise in the now.
Throw about caveats all over the place, drop those version number hints like you've got the fuzz on your tail.
And if you can't be bothered, get the scalpel out and slice that dead answer/question off as no longer relevant.
-
3Future proofing is not always possible, e.g. answers to questions asking for comparisons of technology selection.– RichardCommented Aug 2, 2009 at 8:42
-
1@Richard maybe you can phrase it with "circa August 2009, this technology would solve this problem" and add a caveat of how some future technology (maybe in the works?) might solve it Commented Aug 2, 2009 at 20:17
I don't believe that any of the existing mechanisms is sufficient. Therefore, I have filed a feature request: