Since some software is constantly changing the solutions for the questions are also changing quite quickly.

E.g. Stanford Parser and NLTK, with different versions of the software, the API to the third-party tool changes. It ends up with legacy answers ranking highest because of the highest votes.

Is there a way to re-rank the deprecated solutions to the bottom?

  • How will the system detect deprecated solutions? – Suvitruf - Andrei Apanasik Aug 23 '18 at 9:07
  • Maybe some sort of flag? – alvas Aug 23 '18 at 9:07
  • 1
    SE don't have flags on answers. Current flags are for moderators, and they aren't supposed to use for things like this. Better solution would be to implement tags on answers, for example) – Suvitruf - Andrei Apanasik Aug 23 '18 at 9:08
  • I think your solution is a good solution: edit and add a title and point to the non-deprecated version. Over time the deprecated answers will collect enough downvotes to be deleted and the new answers will collect upvotes – Fabby Aug 23 '18 at 11:22
  • Which sites would this apply to? You mentioned SO, presumably SU could also have this... what else? – user392547 Aug 23 '18 at 13:12

Downvoting old answers based on score is a workaround for handling something the engine was never designed to handle: the passage of time. When version differences crop up, a weird thing happens: a single question with one or more answers morphs into multiple very similar questions (identical other than the version) posted in a single place. Answers to the different versions cannot be fairly ranked against each other, though that's exactly what sorting by score tries to do.

Problems include:

  • Sometimes, people have no choice but to use obsolete, deprecated or otherwise questionable technology. One common developer example: "I had to support IE6 until 2015 because my customer said so." Depriving these people of information they need—or, at least, an accurate measurement of the quality of that info—is unhelpful.

  • Making voting dependent on the score of an existing post confounds the meaning of a vote. The quality of a new answer doesn't change simply because a very high-scoring answer about a now-obsolete feature happened to be present, so its score shouldn't depend on that, either.

  • Original answerers shouldn't be punished with rep loss just because a feature they wrote about got deprecated years later.

  • This would have no effect on the problem for those weirdos who sort by age or activity instead of score.

At this point, you might be thinking "well, this is a flaw in the design of the engine". And you'd be right, but it's such a fundamental design element that there's no hope of changing it.

An alternate suggestion: in at least some cases, it might be worth editing posts where time has created ambiguity or problems. Edits could indicate that the information presented was absolutely right at one time, but applies to only version (whatever) of (product), and/or that it is bad to use old versions due to deprecation or security holes or compatibility, etc. And if there's a more modern answer present, it could point that out. Editing was always meant to be a big part of the ecosystem here, after all; a discussion of why people tend not to do it is beyond the scope of this answer.

(I originally wrote this post—and the edit to this post—as comments to PolyGeo's answer, but on second thought I decided it deserved a full answer.)


The best solution for things like this where the question itself is inherently tied to a specific version is to have the question specify a specific version, and therefore limit the answers to only solutions that work for that version.

If a new version comes out that necessitates a change in the solution, a new question should be asked, because solving the same problem is inherently a different question when using a different version of the product (if the difference in versions renders the older solutions obsolete). Users are then able to go to the version of the question for the version of the product they're using, and find the answer ranked on that question according to how effective the community thinks they are for that particular version of the product.

Additionally, for the example you linked, you can just edit your own answer, if you want to include information on each version of the product, rather than posting 5 different answers for all sorts of different situations, and constantly linking between your own different answers.

  • Yes. Good. I was thinking of writing up a little "same question but for different version" feature proposal in my answer, but didn't bother because there's no way that's happening. – SOLO Aug 23 '18 at 21:23

Yes - the simplest and quickest way to move deprecated (or any less useful) answers downwards is to downvote them, while also upvoting any current and useful answers.

There is no need to downvote old/deprecated answers to oblivion. They just need enough downvotes to get the answers into an appropriate order for today's visitors.

People who know that they are using old/deprecated versions are likely to be in (or get into) the habit of looking past the top few answers for their solution.

  • Even in the case where people do somehow know to scroll down, this opens up a pretty sticky situation where the "correct" score of a post is dependent on the scores of other posts, which may themselves fluctuate... the whole system here is designed around the assumption that voting on posts is independent, based on their own merits and not outside factors. – SOLO Aug 23 '18 at 13:15
  • I agree with SOLO - down voting should specifically speak to the merits of the answer in the context of the question, and merit can be highly subjective. Up-voting is the right way to surface good answers. But, even so, I don't think deprecation is the purview of the community, either. As @SOLO points out, deprecation is in the eye of the beholder. – J E Carter II Aug 23 '18 at 17:55
  • @JECarterII I think the context of every question should be timeless. Therefore, when asked, the most useful answer is likely to be one that applies to the most recent versions of a software. Over time those versions fall out of use so answers that only relate to them become less useful and so should be seen later by visitors. – PolyGeo Aug 23 '18 at 18:20

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