Firefox/Input/Gradient Sentiment

From MozillaWiki
< Firefox‎ | Input
Jump to: navigation, search

Gradient Sentiment

(This is rough sketch. I need a template for doing this better.)


Currently, a feedback response on Input captures a "happy or sad" sentiment, a description, (optional) a related url and (optional) an email address. Thus a feedback response has an indicator of whether the user is happy or sad and what it is they are happy or sad about. The problem with this is that we have no indicator of how happy or sad the user is regarding the thing they're happy or sad about. Are they sort of happy or sad? Are they furious? Is this an issue that is going to cause them to find a new browser? We can't tell.

This project covers experimenting with using a 1-5 gradient instead of the boolean happy/sad sentiment.



  • March 18th, 2014: Initial tracker bug was created and discussions about UX started.
  • May 7th, 2014: Had an Input stakeholders meeting and discussed switching to a 1-5 rating, what it should look like and how it should work. (There are no notes for this meeting. Boo hiss.)
  • September 17th, 2014: Talked with User Advocacy about gradients and clarifying the scope of v1.
  • January 1st, 2015: Put this project in Will's queue to do this quarter.
  • March 10th, 2015: Had a meeting with UA folks and decided we should put this project on hold because Heartbeat solves some aspect of it and it's likely there are better solutions for other aspects of it that are easier to implement and easier to analyze.
  • September 24th, 2015: ON HOLD: Clarification: the requirement here is to have a better idea if the user is "sad" or "extremely sad and will leave". One of the ideas was to have an additional "I'm extremely sad about this" kind of checkbox instead of switching to gradient faces which has a lot of additional complexity.

FIXME: This is missing some history. We had a bunch of meetings with UX and other people to talk about what kind of rating scale to use, how to show it, cultural issues with rating scales, etc.


v1 (on-hold)


  1. Add an additional rating field to the db; will have an integer value
  2. Change the generic form to use a 1-5 smile rating instead of the single happy/sad rating
  3. Add code to infer the happy/sad from a 1-5 rating
  4. Add 1-5 rating to the ES index
  5. Add 1-5 rating to the analyzer's dashboard
  6. Add code to A/B test happy/sad vs. 1-5 rating
  7. Analyze the A/B test results


  1. Don't show a description with the face--we can revisit this after seeing the A/B test results
  2. Don't need to implement this in the Input API right now--we'll do that in the next version
  3. Don't need to implement this in the Firefox OS form (which uses the Input API)--we'll do that in the next version
  4. Don't need to change the public frontpage dashboard to show gradients
  5. Don't need to change the public Input API

UX discussion:

  1. We want the user's sentiment about the feedback they're providing--not a review of the application. Feedback is about something specific, not about the pros and cons for the product.
  2. We looked at different rating symbols and decided to go with smile symbols similar to the pain scale you see in hospitals.
  3. We thought about different scales and decided 1-5 is a good gradation for the granularity of sentiment we want. 1-7 seems like too many choices and it might be harder to lay out on a form. Further, "5 choices" seems most familiar to users as many rating systems use five choices. It's an odd number, so there's a middle-of-the-road option.
  4. We decided against using a 1-5 star rating similar to what you'd use when rating movies, restaurants, etc. We can revisit this after phase 1 depending on the A/B results.
  5. We decided against something "cute" like 1-5 animal faces because we didn't think we could figure out a set of faces that worked across cultures plus some users are really mad when they're leaving feedback and we don't want to further infuriate them with inappropriate cuteness.

See discussion in the the tracker bug.



Full Query
ID Summary Priority Status
987209 add django-waffle for a/b testing infrastructure P2 RESOLVED
1020303 add gradient column to Response model P2 RESOLVED
1020307 create mockups for generic feedback with gradient sentiment P1 RESOLVED
1020313 update Firefox OS feedback form to use gradients P2 RESOLVED
1020331 add gradient to input API P2 RESOLVED
1128702 add gradient faces to generic feedback form -- RESOLVED

6 Total; 0 Open (0%); 6 Resolved (100%); 0 Verified (0%);

v2 (Future)

  • implement this in the Input API
  • implement this in the Firefox OS form (unless that's fallen out of use at this time)
  • change the public frontpage dashboard to show gradients?
  • change the public Input API?