RatingsAndReviews

Revision 4 as of 2010-11-15 15:36:40

Clear message

This is a living specification for ratings and reviews in Ubuntu Software Center.

Rating and reviewing software involves three software components:

  1. Ubuntu Software Center itself
  2. the Ubuntu Single Sign-On service
  3. an Internet server that receives, stores, and publishes reviews.

A branch implementing this feature should not be merged to trunk until the server side is implemented and reliably maintained.

Use cases not specified yet

  • Submitting a review
    • when there is no Internet connection
    • in another language
    • containing no text
    • containing too much text
    • containing a very long word
    • containing thousands of blank lines
    • for many programs in quick succession
    • for the same software a second time
  • Correcting your review
  • Displaying reviews
    • when there is no Internet connection
    • in different languages
    • when an item has more than 10 reviews
    • when the connection is interrupted while downloading reviews
    • on an Ubuntu Web site
    • on the software vendor’s Web site
  • Removing a review
    • because of its content
    • because of its age

Use cases currently specified

Submitting a review

This process begins when you activate the “Review…” button on an “Installed Software” item screen.

If the sign-on details have not been remembered from a previous review or purchase, the Center should open an alert for the Ubuntu Single Sign-On authentication/registration process, using the summary text “To review software, you need an Ubuntu Single Sign-On account.”.

This alert should eventually be specified and implemented as a separate library. Compare with the Ubuntu One control panel specification.


Erratum: “Remember password” should be “Sign on automatically next time”

The “Password:” field should be insensitive whenever “I have an Ubuntu Single Sign-On account” is not selected. The “Continue” button should be insensitive whenever the “E-mail address:” field does not contain a valid e-mail address, or when “I have an Ubuntu Single Sign-On account” is selected and the “Password:” field is empty. In addition, whenever there is not Internet connection, the “Continue” button should be insensitive and the bottom leading corner of the alert should feature a mini error icon and the text “Not connected to the Internet.”. (The appearance or disappearance of the error message should not resize the alert; it should always have been large enough to show the whole message.)

Test case: In a session where you have not signed in, choose “Write a review”; the sign-in dialog should appear. Disconnect from the Internet; the “Not connected to the Internet” error message should appear, and “Continue” should become insensitive. Reconnect to the Internet; the error message should disappear, and “Continue” should become sensitive.

When you activate “Continue”, the “Continue” button should become insensitive, and:

  • If you chose “I want to register for an account now” or “I’ve forgotten my password”, USC should launch your preferred Web browser to the appropriate Web page, while a spinner and the text “Opening browser…” appears in the bottom leading corner of the alert for five seconds (providing feedback at least until the browser appears). Once the five seconds are up, the spinner and text should disappear, and the alert should reselect “I have an Ubuntu Single Sign-On account”, ready for you to enter your details once you have closed the browser window.
  • If you chose “I have an Ubuntu Single Sign-On account”, a spinner and the text “Signing in…” should appear at the bottom leading corner, and the “Cancel” button should become “Stop”. (The change in label should not change the size of the button; it should always have been large enough for either label.)



    If the sign-in process stops unsuccessfully, either because you activated “Stop” or because of an error, the spinner and progress text should disappear, “Stop” should change back to “Cancel”, and “Continue” should become sensitive (unless there is no Internet connection). Then:

    • If you activated “Stop”, “Cancel” should also become insensitive for one second (in case you double-clicked on “Stop” by mistake).
    • If the e-mail address or password was incorrect, the error sound (if any) should play, the primary text of the alert should change to “Your Ubuntu Single Sign-On details were incorrect. Try entering them again.”, the “Stop” button should change back to “Cancel”, the “Continue” button should become sensitive, and the “E-mail address:” field should be focused.
    • If there was any HTTP error while signing in, the error sound (if any) should play, and a mini error icon and the text “Couldn’t connect to the sign-on service.” should appear in the bottom leading corner of the alert.

Once you are signed in, the alert should close, and a dialog without a parent window should appear for submitting the review.

This dialog should be resizable; resizing it should resize only the review text field. That field should be focused by default.

The dialog’s title should be of the form “Review {Item Title}”.

Within the dialog, first should be displayed the icon, title, and version number of the software.

Next should be a “Review by:” item showing your name as registered with the Single Sign-On service (as a subtle hint that you are accountable for your words).

The review text field should accept multiple paragraphs, and should use automatic spell-checking. It should be unlabelled, but have the accessible name “Review text”, and the visible caption: “Be brief and informative. Don’t post bug reports.”

The “Summary:” field should accept a single line of text.

The “Rating:” field should consist of five stars plus a caption. By default, no stars should be filled. Whenever the field is focused, the Left and Right keys should increase or decrease the rating in one-star increments, and the 1 through 5 keys should change the rating to that many stars. The caption should reflect the star you are mousing over, if you are, or otherwise the rating you have currently set: “” (no rating yet), “Awful” (1), “Poor” (2), “Adequate” (3), “Good” (4), or “Excellent” (5). Setting a rating level, whether using a pointing device or a key equivalent, should highlight the new rating in a similar visual style as when clicking a checkbox or radio button.

The “Cancel” button should have Esc as its keyboard equivalent.

The “Publish” button should have Enter as its keyboard equivalent. It should be sensitive only if you have entered text in both the review field and the Summary field and set a rating. Activating “Publish” should submit the review.

Whenever there is no Internet connection, this should be shown with an error message and an insensitive “Publish” button, exactly as for the sign-on dialog.

When you activate the “Publish” button, progress should be shown using a spinner and the text “Submitting review…” in the bottom leading corner, exactly as for the sign-on dialog.

review-submit-progress.jpg

Stopping and errors should similarly be handled exactly as for the sign-on dialog, but with the text “Couldn’t connect to the review service.” for HTTP errors.

review-submit-error.jpg

Submitting a review should send this information to the review server:

  • via URL, the name of the repository, package, and version number
  • your Single Sign-On credentials
  • the language of your locale.

Review service

  • What should we do if you’ve already reviewed this version of this item?

  • What should the length limit be for reviews? And for summaries?

Presenting reviews

The median rating, and the number of reviews, for all items in a software source should be updated and cached whenever the Center updates the list of software in that source. The median rating, and the five most recent reviews, for an individual item should be updated and cached whenever you visit the screen for a software item and there is an Internet connection.

Throughout the “Get Software” section, a list view item should have at its trailing end a hyperlink consisting of stars for the median rating for the item, plus text of the form “17 reviews”. Activating the hyperlink should navigate to the software item screen and scroll to its “Reviews” section. In addition, text of the form “ (X stars from Y reviews)” should be present at the end of the item’s accessible description — for example, “An application for managing botanical collections (4 stars from 3 reviews)”.

item-row-available-unselected.jpg

When an item is being installed or removed, the progress bar in the list view should replace any rating/reviews link.

Similarly a software item screen should have in its top trailing corner a hyperlink of exactly the same form, which does the same thing. In the “Installed Software” section, this area should instead have a “Rate & Review…” button that begins the review process.

The software item screen in the “Get Software” section should also contain a “Reviews” section.

  • If there is no Internet connection and no cached number of reviews, it should consist of a single paragraph: “Not available while offline.”.
  • Otherwise, if there are no reviews for the item, it should consist of a single paragraph with the sentence “None yet.” If you have installed the current version of the software now or in the past, this should be followed by the link “Be the first to review it.”

  • Otherwise, it should consist of the five most relevant reviews for the item, followed by a “Write a review” link. “Most relevant” in this sense means the most recent reviews for the current version, with any remainder being the most recent reviews of the next most recent version, then the next most recent, and so on.

get-software-item-reviews.jpg

(Omitting reviews in the “Installed Software” section should discourage, without preventing, people from biasing their ratings and reviews based on the ratings and reviews already submitted. They can still refer to the same item in the “Get Software” section if they want to see the current ratings and reviews.)

In the “Get Software” section, an item that has any reviews in a software list view should have a link consisting of (a) stars representing the average rating and (b) light text of the form “7 reviews”. Activating the link should navigate to the software item screen and scroll to its Reviews section.

Flagging reviews as inappropriate

Below each review should be a “Flag” link. Activating the link should invoke the Ubuntu Single Sign-On authentication/registration process, if necessary, using the summary text “To flag a review as inappropriate, you need an Ubuntu Single Sign-On account.”. The dialog should also feature a “Just Hide It” button; activating this button should cancel the process, but Ubuntu Software Center should then also immediately hide the review and remember indefinitely that you do not want to see that review again.

review-report-sign-on.jpg review-report.jpg

Once you are signed in, a parent-less dialog should appear for flagging the review.

It should have a “Why is this review inappropriate?” menu with choices “Unspecified”, “Offensive language”, “Infringes copyright”, “Not about this software”, and “Other”.

The “Cancel” button should have Esc as its keyboard equivalent.

The “Flag” button should have Enter as its keyboard equivalent. It should be sensitive only if the reason is not “Unspecified” and you have entered text in the details field.

This dialog should handle progress and HTTP errors in the same way as the review dialog.