Welcome to Codidact Meta!
Codidact Meta is the meta-discussion site for the Codidact community network and the Codidact software. Whether you have bug reports or feature requests, support questions or rule discussions that touch the whole network – this is the site for you.
Post History
The Codidact functional specification calls for changes to answer ordering; we just haven't gotten that far in implementation yet. (Scroll down to the "Votes and Scores" section.) For each questi...
Answer
#2: Post edited
- The Codidact [functional specification](https://github.com/codidact/docs/wiki/Functional-Specification) calls for changes to answer ordering; we just haven't gotten that far in implementation yet. (Scroll down to the "Votes and Scores" section.)
- > For each question and answer we display raw upvotes and downvotes. This makes controversy visible.
- > For each answer we compute a score thus: (upvotes + bonus + N) / (upvotes + downvotes + bonus + 2N). Scores are not directly displayed. Default N is 1 but is configurable per-site.
- > We order answers by score, with newer answers winning ties.
- The scoring algorithm here ("Wilson scoring") gives more weight to controversy than mere "upvotes minus downvotes" does. In addition, as noted, the raw votes will be shown, so that "+15 / -7" doesn't *look* like an innocent "+8 / -0".
- We are also considering another feature for later that addresses one of the points you raised:
- > Not MVP: For questions older than (default) 6 months, new answers are labeled “new” and given a bonus in the scoring formula for the first (default) 7 days. This allows new answers to have more visibility when there are high-scoring answers present already. The amount of the bonus is TBD. All values are configurable per-site, including turning this feature off.
- For stale answers where the world has changed since, I think the best approach is probably to edit the answer to add a note at the top like "This answer applies to Java version 7 or earlier". First, some people might still need answers for older contexts, and second, it clearly labels the answer so it can be evaluated in its proper context. It never felt right to me to downvote answers that *were* perfectly good when they were written, but now there's a newer, better way to do something. Instead, make the context prominent and let the reader decide whether it applies.
- One problem we won't have to worry about on Codidact is a poorer answer being pinned to the top by acceptance. We will probably add some way for the asker to indicate "this worked for me", but it won't affect score or placement. Answers (and their scores) are for everyone, not just the asker of the question, so while it's good to know that we solved the asker's problem, we shouldn't give the asker control over sort order beyond voting.
- The Codidact [functional specification](https://github.com/codidact/docs/wiki/Functional-Specification) calls for changes to answer ordering; we just haven't gotten that far in implementation yet. (Scroll down to the "Votes and Scores" section.)
- > For each question and answer we display raw upvotes and downvotes. This makes controversy visible.
- >
- > For each answer we compute a score thus: (upvotes + bonus + N) / (upvotes + downvotes + bonus + 2N). Scores are not directly displayed. Default N is 1 but is configurable per-site.
- >
- > We order answers by score, with newer answers winning ties.
- The scoring algorithm here ("Wilson scoring") gives more weight to controversy than mere "upvotes minus downvotes" does. In addition, as noted, the raw votes will be shown, so that "+15 / -7" doesn't *look* like an innocent "+8 / -0".
- We are also considering another feature for later that addresses one of the points you raised:
- > Not MVP: For questions older than (default) 6 months, new answers are labeled “new” and given a bonus in the scoring formula for the first (default) 7 days. This allows new answers to have more visibility when there are high-scoring answers present already. The amount of the bonus is TBD. All values are configurable per-site, including turning this feature off.
- For stale answers where the world has changed since, I think the best approach is probably to edit the answer to add a note at the top like "This answer applies to Java version 7 or earlier". First, some people might still need answers for older contexts, and second, it clearly labels the answer so it can be evaluated in its proper context. It never felt right to me to downvote answers that *were* perfectly good when they were written, but now there's a newer, better way to do something. Instead, make the context prominent and let the reader decide whether it applies.
- One problem we won't have to worry about on Codidact is a poorer answer being pinned to the top by acceptance. We will probably add some way for the asker to indicate "this worked for me", but it won't affect score or placement. Answers (and their scores) are for everyone, not just the asker of the question, so while it's good to know that we solved the asker's problem, we shouldn't give the asker control over sort order beyond voting.
#1: Initial revision
The Codidact [functional specification](https://github.com/codidact/docs/wiki/Functional-Specification) calls for changes to answer ordering; we just haven't gotten that far in implementation yet. (Scroll down to the "Votes and Scores" section.) > For each question and answer we display raw upvotes and downvotes. This makes controversy visible. > For each answer we compute a score thus: (upvotes + bonus + N) / (upvotes + downvotes + bonus + 2N). Scores are not directly displayed. Default N is 1 but is configurable per-site. > We order answers by score, with newer answers winning ties. The scoring algorithm here ("Wilson scoring") gives more weight to controversy than mere "upvotes minus downvotes" does. In addition, as noted, the raw votes will be shown, so that "+15 / -7" doesn't *look* like an innocent "+8 / -0". We are also considering another feature for later that addresses one of the points you raised: > Not MVP: For questions older than (default) 6 months, new answers are labeled “new” and given a bonus in the scoring formula for the first (default) 7 days. This allows new answers to have more visibility when there are high-scoring answers present already. The amount of the bonus is TBD. All values are configurable per-site, including turning this feature off. For stale answers where the world has changed since, I think the best approach is probably to edit the answer to add a note at the top like "This answer applies to Java version 7 or earlier". First, some people might still need answers for older contexts, and second, it clearly labels the answer so it can be evaluated in its proper context. It never felt right to me to downvote answers that *were* perfectly good when they were written, but now there's a newer, better way to do something. Instead, make the context prominent and let the reader decide whether it applies. One problem we won't have to worry about on Codidact is a poorer answer being pinned to the top by acceptance. We will probably add some way for the asker to indicate "this worked for me", but it won't affect score or placement. Answers (and their scores) are for everyone, not just the asker of the question, so while it's good to know that we solved the asker's problem, we shouldn't give the asker control over sort order beyond voting.