Rating visualization
Currently ratings are stored as a range from 0.0 (worst) to 1.0 (best) for recent and overall ratings. We need to find a consistent way of visualizing them and add them to the app list and app detail page.
The values can be inflated to any scale by multiplying it with the maximum value, e.g. a 5 stare rating would be rating * 5
Ideas? @oparoz @jancborchardt @janibonnevier @LukasReschke @adsworth
There is still the problem that an app starts at 0.5 and, so multiplying the rating to give 2.5 stars would send the wrong message. The only option seems to be to have 3 icons: bad, neutral, positive. So an app would start as neutral and then edge towards being rated bad or good. Of course, we lose some granularity and apps would show as OK until reaching something like 0.7.
If an app does not have more 4 ratings, it will be set to 0.5 like you said. After receiving one additional rating, all the previous ratings will be calculated e.g.:
- 4 1.0 ratings will produce 0.5
- 5 1.0 ratings will produce 1.0
3 different ratings feels very rough for me, but I think you have a point. I don't think any app dev likes to see his app rated at 2.5 stars :)
What about the following scale:
- 0.0 < x < 0.2: very negative
- 0.2 < x < 0.4: negative
- 0.4 < x < 0.6: neutral
- 0.6 < x < 0.8: positive
- 0.8 < x < 1.0: very positive
OK, let me translate
System
- Users vote using: :+1: & :-1:
- < 5 votes: "No rating yet"
- 0.0 < x < 0.2: :star:
- 0.2 < x < 0.4: :star: :star:
- 0.4 < x < 0.6: :star: :star: :star:
- 0.6 < x < 0.8: :star: :star: :star: :star:
- 0.8 < x < 1.0: :star: :star: :star: :star: :star:
We can adjust the minimum of votes required later. I feel 5 is a bit low.
Examples
- 3 x 0.0 + 7 x 1.0 = 7/10 = :star: :star: :star: :star:
- 7 x 0.0 + 3 x 1.0 = 3/10 = :star: :star:
- 4 x 0.0 + 6 x 1.0 = 6/10 = :star: :star: :star:
Seems fair :+1:
We should use a 5 star rating as every app store and widely used portals such as Amazon do too. Thumbs up and down might be nice for Youtube videos, but apps deserve a bit more granularity.
Also the star rating has one decimal point, that is you can have a 4.3 or 3.6 star rating. Goes from 0.0 to 5.0. And yes, less than 5 votes gives no rating yet.
Using stars would be going back to my original proposal: https://github.com/nextcloud/appstore/issues/14
But @jospoortvliet and @MorrisJobke were not too keen.
Thumbs up and down might be nice for Youtube videos, but apps deserve a bit more granularity.
That's actually being used by one of the most popular app stores: https://github.com/nextcloud/appstore/issues/14#issuecomment-229116972
Ideally there is no "Not enought ratings yet" since it makes the API less usable.
Current rating system is built on a three rating types approach (Bad, Ok, Good) which I think doesn't translate that well to stars.
Personally I see no harm in killing the stars system (we're throwing away the old store anyways)
As for granularity: the 3 rating types translate to everything between 0.0 and 1.0 so there is a lot of granularity in the result. The only question is how many levels we use to interpret the result
Folks β people are used to stars from all existing app stores. Weβre not inventing a new system just for fun. Keep in mind that we want to appeal to normal people and be easily understandable.
Bikeshedding incoming :)
@jancborchardt the model exists on Steam and YouTube and works spectacularely well
I vote for the Steam model. I always find it satisfying that it just tells me the situation in plain terms. I feel like it takes this to heart:
Match between system and the real world The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.
https://www.nngroup.com/articles/ten-usability-heuristics/
I also like the idea of not going with the stars for rating an app. For me it always was kind of hard to decide if an app is 3 or 4 stars. I guess the simple states Bad, Ok, Good are just fine and make it also quite easy for the voters to give a propper feedback.
Coming back to this issue again: How did the current design work out? Should we keep the current voting system and go for stars as visualization or is everyone fine with the colored text?
π or π - everywhere - just that simple π
I can repeat myself:
Folks β people are used to stars from all existing app stores. Weβre not inventing a new system just for fun. Keep in mind that we want to appeal to normal people and be easily understandable.
This also includes Amazon and Facebook. People are used to star ratings. And "Good" is not "Great" ;)
We now use stars since the design update, thanks to @bigcat88 @andrey18106! :) https://github.com/nextcloud/appstore/pull/1202