codewars / codewars.com

Issue tracker for Codewars
https://www.codewars.com
BSD 2-Clause "Simplified" License
2.09k stars 219 forks source link

Perceived feelings of labels on satisfaction vote buttons does not reflect their actual scores #1152

Closed Voileexperiments closed 7 years ago

Voileexperiments commented 7 years ago

As we all know, currently the satisfaction vote buttons are labeled very satisfied, somewhat satisfied and not satisfied.

However, their score is counted as +1, 0, -1. Somewhat satisfied, being somewhat satisfied, bears a slightly positive feeling (the true neutral feeling would be meh) but it's counted as 0. This is misleading.

Normally this wouldn't be a problem, but when attempting katas intended to be easy (7kyu to 8kyu), very often there will be some people who votes somewhat satisfied, which spoils everything and makes these katas unable to go through beta forever. I assume that they simply perceived somewhat satisfied as "it's okay, but I'm not very satisfied so I'll vote for somewhat satisfied".

Please change the labels to actually reflect their score. e.g:

dinglemouse2250 commented 7 years ago

I assume that they simply perceived somewhat satisfied as "it's okay, but I'm not very satisfied so I'll vote for somewhat satisfied".

I think because CW gives a point for voting, users are encouraged to always have an opinion even when they don't have one... and "Somewhat satisfied" is just the default (meh) choice.


I don't think there should be a "Not Satisfied" button at all. I'd prefer if it was just 2 choices.

because...

If somebody is not satisfied with the Kata for no good reason - e.g. because they struggled with or disliked their own solution, didn't read the requirements properly, got out of the wrong side of the bed, or is just plain vindictive, then it is better that they should say nothing at all. Life tip from "Bambi" https://www.youtube.com/watch?v=Wui-PNqJrxs . And they should definitely not be rewarded with a point if they clicked the button for any of those reasons.

OTOH sometimes there really are valid reasons for being not satisfied with the Kata - e.g. because if was confusing, of poorly described, or had problems with code / tests, but for those cases the user ought to be raising ISSUES, SUGGESTIONS, or QUESTIONS - see #1138 - to give the author the opportunity to make it better.

Voileexperiments commented 7 years ago

If somebody is not satisfied with the Kata for no good reason - e.g. because they struggled with or disliked their own solution, didn't read the requirements properly, got out of the wrong side of the bed, or is just plain vindictive, then it is better that they should say nothing at all.

For the information, currently you can vote for kata satisfaction for beta katas once you have attempted the actual tests. So you can certainly not solve the kata, and then proceed to downvote it because you don't like it.

jhoffner commented 7 years ago

The actual problem hasn't really been stated here. Are too many people downvoting? Are quality kata being discounted? Is the experience being affected in a provable/objective way? If so what are the examples?

There are a number of kata with 0% score simply because they haven't had a lot of attempts and those who did may not have voted, and maybe many are just bad. However 83% of published kata have an 80% satisfaction or higher. If anything, I don't think kata get downvoted enough. The funny thing is, from what I can tell, too many people are voting +1 because they don't want to be mean, far more than anyone who votes 0 or -1.

Beyond that though, humans are flawed and therefore any system that relies on human input is never going to be perfect. If someone doesn't like the kata because they couldn't complete it - then so be it. Maybe they couldn't complete it because it's confusing, maybe because it was boring, maybe because they were frustrated ...who knows. It's their vote, it's their right and their voice. When it comes to unfairness, I just don't think we are going to solve this problem on Codewars. Look at any review site on the web, such as Yelp which uses a standard 5 star system. Restaurants get 1 star reviews all the time from people because the valet (who isn't even operated by the restaurant) was rude, or something along those lines. None of these systems will ever be 100% fair.

As far as meh vs somewhat satisfied. No one wants to be a mean, so "somewhat satisfied" was used instead of meh to actually encourage its usage. Honestly though there really isn't a difference that I can tell. If you are only somewhat satisfied, then that means you must also be somewhat dissatisfied.

The point of the satisfaction score isn't to give everyone 100%, it is to try to allow the best of the best to rise to the top. To that end, I don't think there is nearly enough separation between the good and the great kata - and any effort to be put into this process should be in improving that separation. @Voileexperiments you have another thread open that I think is more relevant in terms of goals towards that end. I'm closing this one since that one is still open. Feel free to open a new issue if you want to tackle the discussion from a different angle, but lets try to set it up to be based on specific issues that can be measured to determine effectiveness if a change is made.

Voileexperiments commented 7 years ago

No, this issue is not related to the beta process. The labeling is confusing by itself. And yes, there are people who are confused by the usage of somewhat satisfied.

image

(It's just a few posts down the "Upvote System" page)

jhoffner commented 6 years ago

Note, in the above example - it sounds like Somewhat Satisfied is doing the job it was designed for. It sounds like this user would probably not have ever selected "Not Satisfied" out of being too nice and based off of his/her description - very satisfied is not the right vote.

Somewhat is fine for those who don't want to be mean but also didn't love the content. With that said, I wonder if a standard 5 star rating system would have just been better. Part of the reason why we didn't go with it was because it was tricky to switch to based off of historical data (and now it's even harder).