Firefox/Input/Trigger suggester: Difference between revisions

Jump to navigation Jump to search
overhaul phase 1 details
(→‎Summary: add notes about templating the url)
(overhaul phase 1 details)
Line 31: Line 31:
* June 16th, 2015: Wrote up bug 1175123 and over the course of the next week discussed it with User Advocacy and other folks
* June 16th, 2015: Wrote up bug 1175123 and over the course of the next week discussed it with User Advocacy and other folks
* June 30th, 2015: Turned it into a project.
* June 30th, 2015: Turned it into a project.
* August 12th, 2015: Fleshed out Phase 1 after talking with stakeholders and mulling over requirements.


== Phase 1 ==
== Phase 1 ==


=== Summary ===
=== Architecture ===
 
==== A suggestion is ====


This phase will focus on showing suggestions that have:
This phase will focus on showing suggestions that have:
Line 41: Line 44:
* summary
* summary
* link url
* link url
Future phases can deal with different suggestion shapes.
==== Templated links ====


The link url will allow for templating with the following values:
The link url will allow for templating with the following values:
Line 47: Line 54:
* {PRODUCT}
* {PRODUCT}
* {VERSION}
* {VERSION}
These values will be populated from the feedback response. If values are missing (e.g. the response has no version), then they will be empty strings.
==== Trigger criteria ====


Suggestion trigger criteria will have:
Suggestion trigger criteria will have:
Line 52: Line 63:
* one or more locales
* one or more locales
* one or more products
* one or more products
* one or more product versions
* one or more key words/phrases
* one or more key words/phrases
* have, don't have, don't care about url
* have, don't have, don't care about url


These will be ORd inside a group (i.e. this locale OR that locale OR ...) and ANDd between groups (meets locales criteria AND meets products criteria AND ...).
These will be ORd inside a group (i.e. this locale OR that locale OR ...) and ANDd between groups (meets locales criteria AND meets products criteria AND ...).
Here are some examples of how I think it would work:
Example rule 1:
  locales=en-US
  products=Firefox
  keywords=rc4
This would match all feedback where the locale was "en-US" AND the product was "Firefox" AND the word "rc4" appeared in the description.
Example rule 2:
  locales=
  products=Firefox OS
  keywords=whatsapp
This would match all feedback from any locale AND the product was "Firefox OS" AND the word "whatsapp" appeared in the description.
Example rule 3:
  locales=es,pt
  products=Firefox,Firefox for Android
  keywords=word1,word2,word3,"this is a phrase"
This would match all feedback where the locale was "es" OR "pt" AND the product was "Firefox" OR "Firefox for Android" AND the word "word1", "word2", "word3" OR phrase "this is a phrase" appeared in the description.
Versions might be tricky since we don't always get version information. For now, we'll treat them like locales and products and when you write up the trigger, you'll need to specify all permutations of the version. In a later phase, we can do prefix matching (e.g. something like "40*" would match "40", "40.0", "40.0.1", ...).
URL checking will be pretty basic for now and have three modes:
* don't care
* must have url
* must *NOT* have url
In a later phase, we can add domain-name matching or something like that.
==== Form to create/edit triggers ====


We'll build a form allowing analyzers to add, edit and disable triggers.
We'll build a form allowing analyzers to add, edit and disable triggers.
==== Tracking trigger usage ====


Further, we need to track:
Further, we need to track:
Line 64: Line 115:
* for a given trigger suggestion, how many people saw it and clicked on the link?
* for a given trigger suggestion, how many people saw it and clicked on the link?


Anti-goals:
FIXME: Flesh this out.


* suggestions that don't fit the title/link/description shape
=== Anti-goals ===
* more complicated trigger criteria
* trigger criteria involving other fields or tables (email address, remote troubleshooting, etc.)
* translated text -- If we want to create a trigger that has text to show in French, English and Spanish, we'll have to do three separate triggers with the appropriately translated text in the title/description slots; anything more than that requires a lot of stuff we don't have right now.


Nice-to-haves:
# suggestions that don't fit the title/link/description shape
# more complicated trigger criteria
# trigger criteria involving other fields or tables (email address, remote troubleshooting, etc.)
# translated text: If we want to create a trigger that has text to show in French, English and Spanish, we'll have to do three separate triggers with the appropriately translated text in the title/description slots; anything more than that requires a lot of stuff we don't have right now.


* suggestion tester: Shows last x feedback that meet the trigger criteria. This would make it easier to build new triggers.
 
=== Nice-to-have ===
 
# suggestion tester: Shows last x feedback that meet the trigger criteria. This would make it easier to build new triggers.


=== Requirements ===
=== Requirements ===
Line 97: Line 151:
     }
     }
</bugzilla>
</bugzilla>


== Phase 2 ==
== Phase 2 ==
Confirmed users
539

edits

Navigation menu