appstore icon indicating copy to clipboard operation
appstore copied to clipboard

Rating visualization

Open BernhardPosselt opened this issue 7 years ago β€’ 15 comments

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

BernhardPosselt avatar Sep 04 '16 14:09 BernhardPosselt

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.

oparoz avatar Sep 04 '16 15:09 oparoz

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

BernhardPosselt avatar Sep 04 '16 15:09 BernhardPosselt

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:

oparoz avatar Sep 04 '16 22:09 oparoz

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.

jancborchardt avatar Sep 05 '16 14:09 jancborchardt

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

oparoz avatar Sep 05 '16 14:09 oparoz

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.

BernhardPosselt avatar Sep 05 '16 14:09 BernhardPosselt

Personally I see no harm in killing the stars system (we're throwing away the old store anyways)

BernhardPosselt avatar Sep 05 '16 14:09 BernhardPosselt

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

BernhardPosselt avatar Sep 05 '16 15:09 BernhardPosselt

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.

jancborchardt avatar Sep 05 '16 16:09 jancborchardt

Bikeshedding incoming :)

@jancborchardt the model exists on Steam and YouTube and works spectacularely well

BernhardPosselt avatar Sep 05 '16 16:09 BernhardPosselt

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/

janikarki avatar Sep 05 '16 17:09 janikarki

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.

juliushaertl avatar Sep 05 '16 18:09 juliushaertl

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?

BernhardPosselt avatar Jul 29 '17 08:07 BernhardPosselt

πŸ‘ or πŸ‘Ž - everywhere - just that simple πŸ™ˆ

MariusBluem avatar Jul 29 '17 09:07 MariusBluem

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" ;)

jancborchardt avatar Aug 03 '17 17:08 jancborchardt

We now use stars since the design update, thanks to @bigcat88 @andrey18106! :) https://github.com/nextcloud/appstore/pull/1202

jancborchardt avatar Jan 02 '24 11:01 jancborchardt