10 ms·
An empirical study of obsolete answers on Stack Overflow [pdf]
- kevin_thibedeau 6y agoThere doesn't seem to be any remedy to the problem of poor, obsolete, or outright wrong answers being selected as the checked answer when the asker disappears. I frequently have to scroll past the approved one because there's often gold hiding below it.
- Buttons840 6y agoTangentially: It makes sense that the asker of the question gets to choose the answer that worked for them, but by doing so the idea of "duplicate questions" is invalidated. For example, I could very well ask a new question which ends up being flagged as a duplicate of another question whose accepted answer does not work for me. Can two questions be duplicates if they have different answers? Do I only have to claim that the accepted answer does not work to show that the new question is unique?
- tonyedgecombe 6y agoThe real problem is the asker isn’t knowledgable enough to select the correct answer in many cases. I’m not sure of the value this feature.
- MrZander 6y agoI ran into this yesterday. I got an upvote on an answer I posted 7 years ago that was marked accepted. There was a much better answer with 3x the upvotes at the bottom of the list and the OP account was no longer active. Wondering if there was a protocol for changing the accepted answer, I searched meta. I found the consensus is: 'Accepted' is at the sole discretion of the OP and shouldn't be mean it's correct, just that it answered the OP's question. Which I think is BS as it elevates the answer to the top of the list and gives it credibility. Why is the OP the czar that chooses the correct solution just because they asked the question first? Honestly, the OP is often the _least_ qualified person to validate an answers correctness.
- DaiPlusPlus 6y agoSO sometimes puts the highest-voted answer at the top when the accepted answer has fewer votes.
- sgillen 6y agoSort of think there should be two systems, and OP selected answer, and a community selected answer. This is already what happens to some extent, it’s just a matter of UX I think to clearly mark the answers the community thinks are good with something akin to the green check you get (and I guess more importantly move these to the top) I’m not sure this matters too much for experienced devs, it’s really just a noobie trap to only look at a low upvote but chosen answer right?
- MrZander 6y agoI like the two system approach, that is a good idea. Perhaps it is just a matter of properly ordering the answers, maybe giving community votes precedence over the accepted answer? For example, here is the question I was talking about: https://stackoverflow.com/questions/11970586/apl-removing-elements-from-array/12048902 https://stackoverflow.com/questions/11970586/apl-removing-el... My answer should not be accepted, I was brand new to APL when I answered it. The "correct" answer not accepted and buried below two 0 vote questions. The thing is, my answer _works_, just not well. I can easily see myself overlooking a better solution in a case like this. Maybe I'm just lazy though haha.
- ape4 6y agoIt needs to be versioned. Maybe you are working in an environment with an old C++ compiler that can do the latest C++ tricks. You want best practices from state of the art 10 years ago.
- the_jeremy 6y agoI have answered >100 questions on SO because I like answering questions. I would answer significantly fewer if I was required to give the range of versions that my answer worked on, because I only know that it works in my environment. If I could give just one version, then others would have to keep asking if my answer was best practice on their version. I suppose listing at least one version it works on is better than the current setup, though.
- asdff 6y agoThe current setup is entirely obtuse. I suck at python. Sometimes I find and answer that solves my problem, and low and behold, it's python 2 and I have to read up on the changes to that function between the two versions and see if I can even use the answer as written. If there was just some little tag in the op question (Python=2.7), that would save me hours. Multiply that anecdote by the mountains of novice traffic the site receives, and you can see how a lack of versioning makes a lot of answers worthless for a lot of people. For your concern, if op said they needed help with version 2.7, presumably you'd write your answer with that in mind. Or you would say how you got it working in 3.8, and exactly how you set up your environment. If someone asked you about another version, you can throw your hands in the air and say "I don't know, but it works in 3.8 with these packages installed," and that would be a perfect response that shows others how to reproduce your work. Reproducibility should be standard practice, and you shouldn't be reliant on dubious context and dates and guesswork to reproduce an example in a website devoted to technical help.
- payne92 6y agoWhat are the issues with having a "mark obsolete" flag that users can check? (with an optional comment) At a minimum, that would be an input to the presentation ranking -- old, flagged items would drift to the bottom. Long-tail "Floatsam and jetsam" content is a huge problem, generally, not just for software development information.
- lucb1e 6y agoGeneral agree with the "mark obsolete" button, but I don't think the comment should be optional. If it's optional, you could mark anything as obsolete and you shift the burden of proof to the author (who may be long gone) or some community member to jump in, which sounds ripe for abuse to me. Rather, you should add why this is no longer current and let people with enough rep points verify it, similar to how editing someone else's post goes into an edit queue if you don't have enough reputation. Might be relevant to mention that I'm quite active on the security stackexchange and regularly review the suggested edits queue (we don't have a constant backlog like stackoverflow does). Feel free to point out if you think this is not a nail for my hammer.
- jrumbut 6y agoI think for obsolete, you should give a link to the updated version rather than a comment (like duplicate is today) or it could be a vote that is balanced among other signals rather than a cause for deletion or deep archiving (since obsolete systems maintainers need help too). I tend to think the real problem is the overly strict conception of duplicate. Over time, the way people will ask a question and the way people will answer it changes. 5-10 years ago almost every JS question was a jQuery question too, now not so much. As someone who lived through that I can very easily translate to the less jQuery-centric present, but someone who started learning JS/React last week can't. A new rendition of such a question/answer would be a duplicate for me, but the old one would be obsolete to the new developer. I think the best way forward is that both duplicate and obsolete should be soft signals rather than reasons for closing.
- lucb1e 6y ago
- j4ah4n 6y agoI kind of feel the same issue is being expressed in search engines as well. As time progresses, more relevant answers are moving down the list. Using Google for example, I'm finding that I have to employ the "Tools -> Time Range" filter to get better, more relevant results.
- ringshall 6y agoIt might be helpful to have the age of comments listed as part of their metadata, ie alongside the date the comment was posted. Some formatting could be added (eg red highlight for comments > x years). I know this sort of feature is useful on newspaper websites - The Guardian will flag stories older than some limit as being potentially out-of-date.
- lucb1e 6y ago> It might be helpful to have the age of comments listed That's... currently the case? > red highlight for comments > x years I don't find age has a 1:1 correlation with it being outdated. If some advice doesn't make sense to me, I'd look at the dates of this and other answers, because most often there will be newer answers (lower voted because they haven't existed as long / aren't seen as much) and/or comments added to the answer indicating how to do it in python3 or whatever the new thing is. Sometimes posts from 2009 help me, sometimes posts from 2018 are outdated. Maybe this could work if a time limit is configured per tag, but even then, I expect it wouldn't be very helpful.
- ringshall 6y ago>> It might be helpful to have the age of comments listed > That's... currently the case Is it currently the case? I'm not seeing it, though it I may be missing it. I do see, at the bottom of comments, something like :: edited Apr 23 '15 at 8:40 / answered Mar 11 '09 at 21:11 The date the question was /asked/ does have an age, though, which may be what you're referring to. For the problem at hand, it's the age of the answers that matters more than the age of the questions. > I don't find age has a 1:1 correlation with it being outdated. No, but there is a correlation.
- pelasaco 6y agothat's something was long discussed on Meta, specially to answer the question: "Is it fair to down-vote answers which were right in 2009, but aren't right anymore?" and the answer was "Yes, if you want to keep your points, you should maintain your answer as long as it exists" which is a kind of no-go for somebody like me with more than 14k points and more than 500 answers...
- JoeAltmaier 6y agoMight work if down-voting were trackable. You'd know which answers quit making sense for readers.
- lucb1e 6y agoI see which posts of mine were downvoted, if that's what you mean. If someone downvotes I always revisit the post (also most of the time if someone upvotes actually, as I often find things to improve).
- pelasaco 6y agowell you can track your down-votes, but is it fair to down-vote something that was right in 2007, but not right in 2020 anymore? Maybe a mechanism to lock old right answers, and open the question again, I'm not sure. That's probably an issue that the Stackoverflow team didn't think about back in the days..
- lucb1e 6y agoOne existing mechanism to attract new answers is opening a bounty. I'm not a big fan of the system, but just adding this to the discussion because I think it's the closest thing stackexchange has to an official way to re-open a question for answering. One of the reasons you can select for the bounty is something along the lines of "current answers are outdated".
- the_af 6y agoWhy is it unfair? I think SO should care more about the quality of questions and answers than about the reputation score of individual contributors. This is a downside of gamification though: it becomes all about ego and earning points, which I don't think should be the goal of a site like SO. If keeping the quality of the content means some people must lose rep points, then so be it. If they have 14K rep they won't notice, anyway.
- staycoolboy 6y agoThe call to action, section 5, is exceptional for an academic paper. I'm surprised the first suggestion doesn't already exist on S.O. Honestly this is my biggest complaint with the web in general: immortal anti-information. Proposing analysis and strategies for combatting it on curated platforms is a great first step. I think also implicit in this discussion is the role of the readers to vote with their mouses, so to speak. Without feedback from users, the mechanisms can't work effectively. Which is why I try to upvote as much as reasonable on HN and SO.
- boomboomsubban 6y ago>Without feedback from users, the mechanisms can't work effectively. How positive are you that your knowledge is current before you vote? Users will confirm the information that they know, which is just as likely to be outdated.
- staycoolboy 6y agoGood question. All I got is ... law of averages? ;-) Damn.
- minimaxir 6y agoPer the paper, they are using an SO archive dump from 2017, which is ages ago in internet time, although admittingly the problems with SO comments extend even before that. It looks like the latest archive dump (March 2020) is available in BigQuery, e.g.: https://console.cloud.google.com/bigquery?p=fh-bigquery&d=stackoverflow_archive&t=202003_comments&page=table https://console.cloud.google.com/bigquery?p=fh-bigquery&d=st...
- lucb1e 6y agoWhile I like the irony of this paper using an outdated dataset, I don't think much changed on stackexchange since 2017 in this regard.
- awinter-py 6y agoUX for fact checking, arbitration, correctness + staleness will be critical to the survival of information societies SO not having a good way to retire these is the same issue as twitter's 'get the facts' banner IMO wikipedia is the only organization that's solved it, and my sense from the outside (I've only written 1 article) is that it's with editor-gatekeepers, not with tools (though there are some bots)
- gbear605 6y agoWith Wikipedia, it’s a combination of editors that monitor articles and just the sheer number of people who looks at Wikipedia every day. Even if 1% of those make a change on a given day, that’s a huge number of small modifications.
- deleted 6y ago[deleted]
- tomrod 6y agoMy colleagues and I call this "true-ing" -- crowdsourcing for new intel, establishing trust metrics with open doors for new participants, essentially giving a channel for bull* to be called on bad data.
- sojournerc 6y agoI also think about all the true things that have been published never to return because they were against the orthodoxy or accepted thinking at the time. Easier to validate what's been carried forward, much harder to find what should've been but wasn't.
- techbio 6y agoThis is a “cache-invalidation/naming things” problem :)
- wool_gather 6y agoI doubt it's anywhere near that hard. SO has crowdsourced "this is correct" (and "this is wrong") baked into its core in its voting system. One more button for "this is obsolete" would do a world of good. It wouldn't solve the whole thing -- there would be some subtlety that would be lost. But it would be at least as good as the "this is correct" signal that we already have. Unfortunately the company has basically lost interest in its public site as a knowledge archive in the last 5-6 years and has stopped even considering problems like this, let alone working on them.
- AndrewKemendo 6y agoHow could SO incentivize the community to clean that up? Given that SO's content is basically 100% volunteer/user generated and free to access, it seems like the first step would be to allow users to flag obsolete answers with a very visible and obvious UI element. Maybe second would be SO fielding a team of experts as "pruners" that would delete/update the flagged answers.
- rozab 6y agoAre you suggesting that SO actually pays people to create the content their site thrives on?
- nogabebop23 6y agoIn fairness to SO it was envisioned and originally created as a peer helping network and all the content is licensed in very liberal ways. The fact that it turned into 99% of the questions asked by noobs / answered by a very small group of experts may have been inevitable but I don't think it was planned. It's one of the few socialized Q&A-style sites that I feel as primarily a question "asker" I have benefited while the predominately question-answerers have as well. Synergy!
- eitland 6y agoOr maybe we could just let content that doesn't receive upvotes sink towards the bottom: - a fresh upvote is 1 point - one year old upvote is 0.5 point - a two year old upvote is 0.25 points If nobody votes, answers relative positions stay the same. Old answers aren't worthless but it also isn't impossible to lift updated content to the tip later. A person might vote for the same answer again after half a year, but it really just refreshes the vote to 1 instead of adding more value to it. I'm not a fan of deletionism and in stack overflows case I'm fairly certain it has destroyed value for millions both in knowledge and reputation. (Why? For years around 2009 - 2015 or something whenever you found a good answer that solved your problem it would most probably be flagged for removal or something.)
- Avamander 6y ago
- elliekelly 6y agoI’m definitely in the minority here but when I’m learning a new language I kind of prefer to use a slightly outdated resource. When you get stuck and look for help you get the gist of the answer you’re looking for but not the solution and then you have to figure out the rest. It’s like a hint that gets you 50-90% of the way there. When you’re in the middle of work and not actively trying to learn new material I’m sure the obsolete answers are frustrating but I don’t think the outdated information is entirely useless.
- darepublic 6y agoIt would be nice to have answers marked as obsoleted and then a little historical breakdown of the greater changes that have come about to make that answer obsolete
- andersco 6y agoThis seems to imply that answers are binary, either obsolete or not, while in my experience they are often are only partially outdated. How is that treated in this study? Additionally, I find that for high traffic answers someone will often have posted an update to the obsolete response.
- oblib 6y agoI agree with the conclusion of the study (and payne92's suggestion here) but I haven't found obsolescence to be a huge issue because I generally take the time to review all the answers provided and the comments on them. Often times obsolete answers are noted in the comments. But there is room for improvement.
- QuasiGiani 6y agoThis of course(!) sounds as if like it'll like be quite good. But. I am more interested in the inevitable corollarial follow-up: An Thorough & Ignominious Probing Investigation Into The Problematic Presentation Of Pseudo-Intellectual Wankery On Hacker News