top | item 23500625

(no title)

payne92 | 5 years ago

What 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.

discuss

order

lucb1e|5 years ago

General 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.

hinkley|5 years ago

Sometimes people get stuck on an old version of a tool chain. For them, stackoverflow may be the last option they have because Google only ranks links for the new versions.

“Obsolete” isn’t a flag, it’s a version number, or even a range. This solution doesn’t work with 3.0. This one is deprecated in 3.5.

But since semver is neither universal nor infallible, you’d have to actually model languages and libraries, with a curated list of version numbers. Which is awkward when you built your entire categorization system on tagging with strings instead of modeling problem domains.

jrumbut|5 years ago

I 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.

fabian2k|5 years ago

That is probably one of the things that will be necessary to help with this problem, but this kind of feature is always only a part of the solution. And it's far more complex than just having a single flag.

Obsolete can mean a lot of different things, and there are degrees of obsolete. And people still use older versions of technology, so in some cases you might want to look for older solutions anyway. So it would likely have to be more like a version flag.

Now you need to get some people to curate that information and properly apply the version/obsolete tags. That's probably easy for some of the more often searched for posts, but very difficult for the long tail of answers. You need to educate the community on how this new feature works, and when to apply this flag. You need to decide on who can set the flag, whether you need multiple votes and how to handle disputes when people disagree or set it wrong.

If you decided that a version flag is needed, and not just an obsolete flag, you need a UI and people that manage the available versions for each programming language/framework/library.

You need to decide how to handle the same question in multiple versions. One question with multiple answers and each answer tagged with a version? A question per version? Do you actually want to enforce one variant, or allow both to exist? Questions can also be obsolete, and that is often in a more complicated way compared to answers. Should that be handled with this kind of flag as well?

This is not a trivial change, but something along these lines is probably necessary.

bryanrasmussen|5 years ago

Although I hardly ever find anything useful on StackOverflow anymore I think this is maybe partially overthinking the problem - for example in the case of versioning - if I have a question but I find an answer that does not work and is several years out of date if i were clever I would do something like say

How do I solve problem X using version Y of Z.

In some cases people encounter older versions of technology questions and make a new answer saying updating for version X of the technology - I know this happens because I did it myself for a Gulp question and got a good number of upvotes - even though I could never actually get the accepted answer of course.

ARandomerDude|5 years ago

Part of the issue of age is many of us work on "obsolete" systems. Being able to troubleshoot and get help on legacy codebases is as valuable for me as when it was new 15 years ago.

asdff|5 years ago

At the very least stack overflow should require the version you are using. Python 2 and 3 is a mess on the website, as someone who isn't very great at python and can't easily spot the two versions. Even reading about inane stuff like tmux configs on the web is pretty crap since that syntax has changed several times as well. Version numbers should be required everywhere.

imadethis|5 years ago

My guess is a greater percentage of users find SO questions from organic searches or third party links rather than within SO itself. An obsolete flag would need to be prominent to dissuade users from following answers anyways.

I think requiring a comment or a link to a more up-to-date answer would be nice, to avoid answers being marked as obsolete without any recourse.

lucb1e|5 years ago

> An obsolete flag would need to be prominent

The way I (not the person you replied to) imagine this is that the post goes to the bottom and gets a red background color or is faded out, similar to how deleted answers are shown in red (if you have enough reputation; in this case everyone should be able to see these) and downvoted posts are faded out.

Edit: this is the background deleted posts currently get, for those who aren't active on the SE community: https://i.stack.imgur.com/EDAIF.png

abathur|5 years ago

I think that would be a step in the right direction, but it may not help users arriving by search engine. I can imagine 3 things that might help:

1. Add an age-weighted score (and maybe sort by it) to make it easier to distinguish between an obsolete answer with hundreds of old upvotes and a recent answer with 10 recent upvotes.

2. Similar to above, but add an extra vote lever and visible score (perhaps conditionally, to older questions that stop getting upvoted?) for marking that an answer didn't work for you, or that you suspect it is obsolete, without having to downvote an answer that was given in good faith and worked for some time (and may still work for older versions/environments).

3. Add an option to open a superseding question (perhaps conditionally based on changes in absolute or age-weighted scores; perhaps it must be "community" owned but gets to inherit question upvotes) that has a special relationship with the original question and triggers extra UI on each side (to cross-link the questions, encourage users to directly mark which answers from the original work, and to provide feedback that affects when/whether the superseding question is treated as the canonical version).

asdff|5 years ago

A lot of this can be automatic, like flagging all python 2 syntax on the website as python 2. There can be confusion visiting a thread, looking at the year, and trying to figure out which version of python might have been used if you aren't very familiar with python 2 vs. 3, which would be most people coming to stack overflow I expect.

thewebcount|5 years ago

Oh man, I would love this. It's the same for Swift (maybe even worse, given the proliferation of versions over just a few years). But those sorts of things aren't generally automated on SO. They're done manually by volunteers. I did some for a while, and it's quite tiresome.

brudgers|5 years ago

On StackOverflow, anyone can edit any question. Anyone can edit any answer. If someone sees a problem, such as obsolescence they can fix it. Flagging "obsolete" doesn't fix anything. The person flagging is one of the someones in a "someone should fix this" flag.

nix0n|5 years ago

> On StackOverflow, anyone can edit any question. Anyone can edit any answer.

Neither of these things are true. In fact, to a user with zero reputation, StackOverflow is much more locked down than Wikipedia.

But the real issue with obsolete questions, is that a new question will be marked as a duplicate of an old obsolete question and closed before anyone has a chance to answer it.

So the real value of an obsolete tag would be that a new question couldn't be marked as a duplicate of an obsolete one.

jbay808|5 years ago

The person flagging is most likely to be someone who doesn't know the updated answer, which is probably what brought them to that SO page where they discovered the answer marked correct no longer works.

Someone|5 years ago

Sounds reasonable, but I would expect wars over whether, for example, python2 is obsolete.

pelasaco|5 years ago

that should be thought through.. for example, you couldn't/shouldn't mark a question as repeated, if it was marked as obsolete, even though the question per-se isn't obsolete, just maybe the "right" answer.