After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 759527 - Add support for reviews
Add support for reviews
Status: RESOLVED FIXED
Product: gnome-software
Classification: Applications
Component: General
unspecified
Other Linux
: Normal normal
: ---
Assigned To: GNOME Software maintainer(s)
GNOME Software maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2015-12-16 07:04 UTC by Robert Ancell
Modified: 2016-02-18 17:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Prototype reviews system (39.48 KB, patch)
2015-12-16 07:13 UTC, Robert Ancell
none Details | Review
Screenshot of reviews in GNOME Software (90.41 KB, image/png)
2015-12-16 07:24 UTC, Robert Ancell
  Details
Add support for reviews (97.14 KB, patch)
2016-01-27 20:27 UTC, Robert Ancell
none Details | Review
Add support for reviews (55.54 KB, patch)
2016-01-28 08:57 UTC, Robert Ancell
none Details | Review
Add an Ubuntu review plugin (41.57 KB, patch)
2016-01-28 08:57 UTC, Robert Ancell
none Details | Review
Add support for reviews (56.16 KB, patch)
2016-01-28 09:20 UTC, Robert Ancell
none Details | Review
Add support for reviews (55.97 KB, patch)
2016-02-04 21:17 UTC, Robert Ancell
none Details | Review
Screenshot of reviews in GNOME Software (95.27 KB, image/png)
2016-02-04 21:20 UTC, Robert Ancell
  Details
Add an Ubuntu review plugin (41.59 KB, patch)
2016-02-04 21:22 UTC, Robert Ancell
none Details | Review
Add support for reviews (55.67 KB, patch)
2016-02-08 22:09 UTC, Robert Ancell
committed Details | Review
Add an Ubuntu review plugin (41.52 KB, patch)
2016-02-08 22:10 UTC, Robert Ancell
none Details | Review
Show a histogram showing reviews per rating and the total reviews (38.53 KB, patch)
2016-02-09 04:20 UTC, Robert Ancell
committed Details | Review
Add an Ubuntu review plugin (82.47 KB, patch)
2016-02-10 01:02 UTC, Robert Ancell
none Details | Review
Add an Ubuntu review plugin (81.57 KB, patch)
2016-02-10 01:49 UTC, Robert Ancell
none Details | Review

Description Robert Ancell 2015-12-16 07:04:18 UTC
User reviews are a common and useful method for grading applications. Users are able to give a star rating to an application and write a short amount of text to let other know what is good/bad about it. A central server is required to store the review information so it can be shared.

I think it would be useful for GNOME Software to support reviews.
Comment 1 Robert Ancell 2015-12-16 07:13:00 UTC
Created attachment 317473 [details] [review]
Prototype reviews system

This is a prototype patch showing basic review support in GNOME Software 3.18. It uses the Ubuntu reviews server [1] to access review information.

This patch adds the following:
- A new GsAppReview object that can be added to GsApp
- UI to show these reviews on the details page
- An Ubuntu reviews plugin that downloads reviews from reviews.ubuntu.com

Review information that is shown:
- Rating
- Author
- Date
- Review summary, text

[1] http://launchpad.net/rnr-server
Comment 2 Robert Ancell 2015-12-16 07:16:11 UTC
Work that would be required for feature parity with the existing review support in Ubuntu Software Center:
- Posting of reviews (requires Ubuntu One account)
- Review usefulness rating (i.e. "6/8 people found this review useful" - this can be used to sort reviews).
- Language filters (to only show reviews in your language)
- Flagging of reviews is inappropriate / offensive
Comment 3 Robert Ancell 2015-12-16 07:20:16 UTC
Elaborating on the Ubuntu One account support:
- This would have to be added to GNOME Online Account as it is not a currently supported account type (UI support could be added into GNOME Software but this doesn't seem desirable).
- However, Ubuntu (and other OSs) use libaccounts, not GOA (but Ubuntu GNOME does use GOA). So it is highly desirable to support both systems so it can work on multiple places. Is an (optional) dependency on libaccounts seen as an issue?
Comment 4 Robert Ancell 2015-12-16 07:23:19 UTC
Also worth considering - the interaction with the simple rating for each application. With a full review system this is calculated from the review information. I think there'd be some advantages in refactoring / enhancing the simple rating into review stats that are more tightly coupled with the review system. For example - it is worth showing a histogram of reviews (i.e. how many one star, two star reviews etc) as this gives more information than a simple average. Any opposition to this?
Comment 5 Robert Ancell 2015-12-16 07:24:36 UTC
Created attachment 317475 [details]
Screenshot of reviews in GNOME Software
Comment 6 Matthias Clasen 2015-12-17 19:32:56 UTC
Before we can bring in stars for user ratings, we need to complete the removal of the current stars in the ui.

Since this other distros don't have server infrastructure for reviews, this would have to be somewhat optional - can all the review functionality be provided by a plugin ? I guess the UI parts will just remain hidden if there are no reviews attached to a GsApp ?
Comment 7 Robert Ancell 2015-12-17 20:54:26 UTC
Yes, I think all the review functionality can be provided in a plugin. All the current UI elements seem to exist and are just optionally populated with data from the plugins. If there's a desire to have installs that have no ratings at all, we'd need a new system for the plugin to indicate that it provides rating data and those elements should be shown.
Comment 8 Robert Ancell 2015-12-17 20:56:00 UTC
Note that rnr-server is open source and could be run by other distributions. There's also an 'origin' field in the reviews that could potentially be used by other distributions using the Ubuntu server. I was told that was considered when it was first designed.
Comment 9 Robert Ancell 2016-01-15 07:38:54 UTC
I'm developing this feature on the wip/rancell/ubuntu-reviews-3.18 git branch.
Comment 10 Robert Ancell 2016-01-27 20:27:27 UTC
Created attachment 319878 [details] [review]
Add support for reviews

This is a (mostly) working patch that allows you to see and post reviews on an Ubuntu system.

It's ready for review for UI and that the structure matches what is expected in GNOME Software.
Comment 11 Robert Ancell 2016-01-28 08:57:26 UTC
Created attachment 319899 [details] [review]
Add support for reviews

Split previous patch into two - the review UI / API and the Ubuntu plugin.
Comment 12 Robert Ancell 2016-01-28 08:57:57 UTC
Created attachment 319900 [details] [review]
Add an Ubuntu review plugin
Comment 13 Robert Ancell 2016-01-28 09:20:03 UTC
Created attachment 319903 [details] [review]
Add support for reviews

Fixed hack that posted reviews using the rating stars - add a button instead so this doesn't conflict.
Comment 14 Robert Ancell 2016-02-04 21:17:51 UTC
Created attachment 320469 [details] [review]
Add support for reviews

Updated with fixes as requested by Richard.

You said "*.css: i don't think we specify fonts in px values; i think it needs to be as a percentage to make scaling work correctly". I haven't changed these as these are copied from the other titles, i.e.

.application-details-title {
        font-weight: bold;
        font-size: 14px;
}

...

.application-reviews-title {
        font-weight: bold;
        font-size: 14px;
}

So I thought the title for the reviews should be the same as the details which is why it's specified in pixels.
Comment 15 Robert Ancell 2016-02-04 21:20:29 UTC
Created attachment 320470 [details]
Screenshot of reviews in GNOME Software

Updated for master
Comment 16 Robert Ancell 2016-02-04 21:22:05 UTC
Created attachment 320471 [details] [review]
Add an Ubuntu review plugin
Comment 17 Allan Day 2016-02-05 18:58:33 UTC
I was asked to provide some design guidance on this. I've come up with some mockups which provide some guidance on what would be desirable in terms of UI:

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/software/version%203/app-page.png

Every aspect of these mockups isn't absolutely necessary for the feature to land, of course: the bars for the ratings aren't essential, for example.

Some things that it might be nice to have improved though:

 * The placement of the reviewer name isn't very neat in the screenshots provided above. It would be nicer to have it consistently aligned, possibly below the star ratings.

 * The post review dialog could be better (at least judging from the screenshot I've seen): it should have a cancel button in the header bar, and no close button. The action button should be labelled "Post" (or possibly "Submit"), not "Post Review". The review box seems to be missing a border.

 * It would be nice to have some more vertical padding between the write review button and the first review below.
Comment 18 Robert Ancell 2016-02-08 22:09:42 UTC
Created attachment 320667 [details] [review]
Add support for reviews

Updated to match design and class renames as requested by Richard.
Comment 19 Robert Ancell 2016-02-08 22:10:52 UTC
Created attachment 320669 [details] [review]
Add an Ubuntu review plugin

Updated to work with API changes.
Comment 20 Robert Ancell 2016-02-08 22:16:52 UTC
Awesome work Allan, thanks!

One question on the design:

If you have already written a review, does the "Write a Review" button still show? Does it show the review dialog with your existing review?

It feels a bit odd to me, what I suggest instead is:
- If you made a review then hide the "Write a Review" button.
- Show an "Edit Review" button below your own review.
- Either have a second button to delete (could just use a rubbish bin icon to save space) or put it inside the edit review dialog. I think deleting reviews is probably not a common use-case. If someone has made a mistake then they probably want to correct it rather than delete.
Comment 21 Robert Ancell 2016-02-08 22:36:30 UTC
Another design question:

In Ubuntu some applications have a huge number of reviews (e.g. 229 for simple-scan). In Ubuntu Software Center, we only show the first page of reviews (10) and then have a "Show more" button that appends more reviews to the list. The intention is the reviews are ordered in terms of usefulness. Any further thoughts on this design?
Comment 22 Robert Ancell 2016-02-08 22:38:56 UTC
And for interest - the most rated package is vlc with 2048 reviews.
Comment 23 Robert Ancell 2016-02-09 00:52:36 UTC
Also worth considering for design - reviews have a language they are associated with. By default, it's probably appropriate to only show reviews in the language your system is configured for. There may be cases where it's appropriate to show all reviews (Ubuntu Software Center had this feature). For example, if your language currently has no reviews or the the reviews don't look like the average rating then you might want to see what languages are rating it highly / lowly. You may also speak more than one language.
Comment 24 Robert Ancell 2016-02-09 03:59:57 UTC
I have the histogram and review totals working on the wip/rancell/reviews branch but will wait for the first patch to get in.
Comment 25 Robert Ancell 2016-02-09 04:20:06 UTC
Created attachment 320681 [details] [review]
Show a histogram showing reviews per rating and the total reviews
Comment 26 Robert Ancell 2016-02-10 01:02:23 UTC
Created attachment 320760 [details] [review]
Add an Ubuntu review plugin

Updated Ubuntu plugin now review support is in master.
Comment 27 Robert Ancell 2016-02-10 01:49:23 UTC
Created attachment 320761 [details] [review]
Add an Ubuntu review plugin

Last one missed a commit.
Comment 28 Robert Ancell 2016-02-11 02:10:13 UTC
Let's call this done - I've opened bug 761845 for the Ubuntu plugin work.
Comment 29 Allan Day 2016-02-11 17:23:48 UTC
(In reply to Robert Ancell from comment #20)
...
> It feels a bit odd to me, what I suggest instead is:
> - If you made a review then hide the "Write a Review" button.
> - Show an "Edit Review" button below your own review.
> - Either have a second button to delete (could just use a rubbish bin icon
> to save space) or put it inside the edit review dialog. I think deleting
> reviews is probably not a common use-case. If someone has made a mistake
> then they probably want to correct it rather than delete.

Sounds good to me. The only change I'd make is to show the edit button next to the review itself, rather than turning "write a review" into "edit review".

(In reply to Robert Ancell from comment #21)
> Another design question:
> 
> In Ubuntu some applications have a huge number of reviews (e.g. 229 for
> simple-scan). In Ubuntu Software Center, we only show the first page of
> reviews (10) and then have a "Show more" button that appends more reviews to
> the list. The intention is the reviews are ordered in terms of usefulness.
> Any further thoughts on this design?

Also sounds good - I had that behaviour in mind too.

I've updated the mockups with these changes.
Comment 30 Allan Day 2016-02-11 17:25:50 UTC
(In reply to Robert Ancell from comment #23)
> Also worth considering for design - reviews have a language they are
> associated with. By default, it's probably appropriate to only show reviews
> in the language your system is configured for. There may be cases where it's
> appropriate to show all reviews (Ubuntu Software Center had this feature).
> For example, if your language currently has no reviews or the the reviews
> don't look like the average rating then you might want to see what languages
> are rating it highly / lowly. You may also speak more than one language.

I'm not so sure about this. How is it helpful to see reviews in languages you don't understand? If you speak more than one language, you'd have to dig through all of them to find the ones that are relevant to you - not a great experience.
Comment 31 Robert Ancell 2016-02-11 21:03:31 UTC
(In reply to Allan Day from comment #30)
> (In reply to Robert Ancell from comment #23)
> > Also worth considering for design - reviews have a language they are
> > associated with. By default, it's probably appropriate to only show reviews
> > in the language your system is configured for. There may be cases where it's
> > appropriate to show all reviews (Ubuntu Software Center had this feature).
> > For example, if your language currently has no reviews or the the reviews
> > don't look like the average rating then you might want to see what languages
> > are rating it highly / lowly. You may also speak more than one language.
> 
> I'm not so sure about this. How is it helpful to see reviews in languages
> you don't understand? If you speak more than one language, you'd have to dig
> through all of them to find the ones that are relevant to you - not a great
> experience.

I think the important thing is to resolve the disconnect between the total review count and the number of reviews you can see.

e.g. If I look at simple-scan and it says "***** (229)" and the histogram shows 229 reviews but I only see 1 (because I speak an obscure language) then I'm going to be confused.

A solution could be a label at the bottom that says something like:
"228 more reviews in other languages"

Which could potentially expand to show those reviews if clicked on.
Comment 32 Allan Day 2016-02-18 17:04:35 UTC
(In reply to Robert Ancell from comment #31)
...
> I think the important thing is to resolve the disconnect between the total
> review count and the number of reviews you can see.
> 
> e.g. If I look at simple-scan and it says "***** (229)" and the histogram
> shows 229 reviews but I only see 1 (because I speak an obscure language)
> then I'm going to be confused.
> 
> A solution could be a label at the bottom that says something like:
> "228 more reviews in other languages"

I'd be fine with that.

> Which could potentially expand to show those reviews if clicked on.

This is the part I'm less sure about (for the reasons stated previously)...