Closed Bug 965377 Opened 10 years ago Closed 10 years ago

Add android:summary text to settings

Categories

(Firefox for Android Graveyard :: General, enhancement)

All
Android
enhancement
Not set
normal

Tracking

(firefox35 verified, fennec35+)

VERIFIED FIXED
Firefox 35
Tracking Status
firefox35 --- verified
fennec 35+ ---

People

(Reporter: aaronmt, Assigned: Margaret)

References

Details

(Whiteboard: [has mockup])

Attachments

(5 files, 3 obsolete files)

http://developer.android.com/reference/android/preference/Preference.html#attr_android:summary


See Chrome's settings which has descriptive preferences. We should do the same to explain things like 'Text Reflow' and 'Home Panels' amongst others.
Blocks: 970743
Depends on: 978825
We discussed in the Frontend meeting today that we could do better at differentiating the top-level settings.

For example, many people (from input.mozilla.org) seem to be having trouble finding how to clear history (which is two menu levels down), and it's not difficult to see why finding this might be difficult. What submenu is it under: Customize? Display? Privacy?

We might consider including some common actions people take in the android:summary field.

Any suggestions on strings?
Flags: needinfo?(ibarlow)
Taking a step back for a moment: we also need trivial telemetry recording for which menu entries people are pressing, what the hierarchy is when they do, and how often they give up (hitting back to go up to the next level, or abandoning Settings altogether).

At present we don't really know which tasks users are trying to accomplish or what their completion rate is, and having those stats is a prerequisite both for knowing if this description change helps, and for guiding any future reorganization.

Could you please file a dependency for this and make sure it gets done before this ships?
Flags: needinfo?(liuche)
Depends on: 996753
Flags: needinfo?(liuche)
(In reply to Richard Newman [:rnewman] from comment #2)
> Taking a step back for a moment: we also need trivial telemetry recording
> for which menu entries people are pressing, what the hierarchy is when they
> do, and how often they give up (hitting back to go up to the next level, or
> abandoning Settings altogether).
> 
> At present we don't really know which tasks users are trying to accomplish
> or what their completion rate is, and having those stats is a prerequisite
> both for knowing if this description change helps, and for guiding any
> future reorganization.
> 
> Could you please file a dependency for this and make sure it gets done
> before this ships?

While I don't disagree with the need for telemetry to help guide our decisions, this one is a fairly low bar. We provide zero context for people about what these setting categories mean. I think we can provide some decent starting point without blocking on telemetry.

We could uplift telemetry, as long as it's lightweight, to an earlier version so we get some before/after. We will also monitor feedback, looking for a reduction in "I am confused" issues.
(In reply to Mark Finkle (:mfinkle) from comment #3)

> While I don't disagree with the need for telemetry to help guide our
> decisions, this one is a fairly low bar. We provide zero context for people
> about what these setting categories mean. I think we can provide some decent
> starting point without blocking on telemetry.

I agree that we shouldn't block; my wording in Comment 2 appears too strong. But I do want us to have some context for measuring improvements, and getting rudimentary UI telemetry should be very little work, so it's worth getting it out no later than this change, I think.
I'm going to throw some strings together and tickle ibarlow into critiquing them :)
Assignee: nobody → rnewman
Status: NEW → ASSIGNED
Hardware: ARM → All
N.B., the Android guidelines:

http://developer.android.com/design/patterns/settings.html

don't really discuss descriptions for non-leaf settings entries, and Chrome doesn't use descriptors. But we have more settings than they do.

Probably the eventual right thing to do is to go full-Android, using smart summaries where we can (self-explanatory), and less nesting to make things more discoverable:

   Sync
     Syncing foo@bar.com

   -----
   CUSTOMIZE
   Homepage
   Search providers
   Tabs
     Always restore after quitting Fennec
   Import bookmarks and history from Android
   Updates
     Download over wi-fi
   ---

   Display
     How Fennec displays text, the title bar, and plugins

   -----
   PRIVACY
   Tracking
   Cookies
     Enabled
   Remember passwords
   Use master password
   Clear private data
   ---

   Language
     System default
   Mozilla
   Developer tools


In this bug I'll make some of these strings clearer and add a couple of summaries (even if we'll throw them away later), so we can get something out sooner.
Blocks: 998494
Blocks: 998497
Attached image Ian, shoot it down. v1
For discussion. Add, remove, scream that it's all nonsense.
Attachment #8409236 - Flags: feedback?(ibarlow)
Thanks for taking this idea and running with it, Richard!

Before we get into the specifics of the android:summary wording, I wanted to take this opportunity to step back and look at what else we could make easier to find for users. Our "customize" and "display" sections are rather nebulous, and actually hide some of our most useful browser options. Meanwhile, we surface things like "developer tools" as top level settings items, which arguably have less utility to the general public.

I'm still working through this, but wanted to share a sketch of what I imagine could be a better starting point for our users. The attached screenshot shows an updated top level page for settings. As you can see, Home and Search customization are now instantly available, a new "General" category has been created for content settings and basic browser tweaks, and "developer tools" has been deprioritized. 

Still lots of room to iterate here, but wanted to set at least an initial direction.
Flags: needinfo?(ibarlow)
(In reply to Ian Barlow (:ibarlow) from comment #8)

> Thanks for taking this idea and running with it, Richard!

Aha, my evil plan to prod you into action worked :D

*steeples fingers*

> Before we get into the specifics of the android:summary wording, I wanted to
> take this opportunity to step back and look at what else we could make
> easier to find for users. Our "customize" and "display" sections are rather
> nebulous, and actually hide some of our most useful browser options.

Yeah, see a straw man with more flattening in Comment 6.

I definitely want us to do both (and with more reorg than my straw man!), but it's worth noting that we have a very limited number of days before 31 leaves the station, so if we can add some strings to ease pain in 31, and then do a proper reorg in 32, we should do that, rather than miss the boat.


> I'm still working through this, but wanted to share a sketch of what I
> imagine could be a better starting point for our users. The attached
> screenshot shows an updated top level page for settings. As you can see,
> Home and Search customization are now instantly available, a new "General"
> category has been created for content settings and basic browser tweaks, and
> "developer tools" has been deprioritized. 

This looks like an excellent start to me.

Comments, with apologies for early shift from ideation to critique mode:

* We should be using adaptive text when we can. E.g., instead of "Customize your Sync settings", have "Syncing ibarlow@foo.com" or a call to action: "Sync your bookmarks, ...". This is mas Androidy, though I don't know if it'll be happiness for us. Thoughts?

* Wording-wise: maybe more of an emphasis on what each lets you do, rather than describing the category? I worry that either the user won't know what the terminology is ("search providers?"), or won't know that that category is the place to find what they're looking for ("privacy settings").

E.g., instead of "Customize your search providers", "Change which search engines Firefox uses"? Or with the adaptive text approach, "Searching Google, Bing, Wikipedia, and Amazon"? (Implication being you can tap this to change that list.)

And for Privacy, instead of "Customize your Firefox privacy settings", a verbose list: "Clear private data, control cookies, and choose how passwords are saved"?

* Where would you put language settings? And are you on board with my tentative idea to put browser locale and web content language in the same place, rather than splitting the latter into "Content"?
Flags: needinfo?(ibarlow)
Let's do this!
tracking-fennec: --- → ?
Depends on: 1009376
tracking-fennec: ? → 32+
Depends on: 982612
Thanks for the feedback, Richard. Have a look at this updated sketch. 

(In reply to Richard Newman [:rnewman] from comment #9)

> Comments, with apologies for early shift from ideation to critique mode:
> 
> * We should be using adaptive text when we can. E.g., instead of "Customize
> your Sync settings", have "Syncing ibarlow@foo.com" or a call to action:
> "Sync your bookmarks, ...". This is mas Androidy, though I don't know if
> it'll be happiness for us. Thoughts?

Yep, makes sense. See mockup.

> * Wording-wise: maybe more of an emphasis on what each lets you do, rather
> than describing the category? I worry that either the user won't know what
> the terminology is ("search providers?"), or won't know that that category
> is the place to find what they're looking for ("privacy settings").

I've taken a stab at this with the updated wording. Feels like an improvement to me. 

> E.g., instead of "Customize your search providers", "Change which search
> engines Firefox uses"? Or with the adaptive text approach, "Searching
> Google, Bing, Wikipedia, and Amazon"? (Implication being you can tap this to
> change that list.)

I can see your point here, though we do use the term "search provider" elsewhere in Firefox too, so I feel like we should be consistent here. 

> And for Privacy, instead of "Customize your Firefox privacy settings", a
> verbose list: "Clear private data, control cookies, and choose how passwords
> are saved"?

Yep, tried something like that in this sketch as well :)
 
> * Where would you put language settings? And are you on board with my
> tentative idea to put browser locale and web content language in the same
> place, rather than splitting the latter into "Content"?

Here is my controversial idea: in this new "General" section which replaces our previously nebulous "Customize + Display" sections, I have stuff split apart based on whether it affects the browser, or web content. So for Language, I actually split this in half to reflect that as well. Does that make sense? Or seem crazy?
Attachment #8409664 - Attachment is obsolete: true
Flags: needinfo?(ibarlow)
Comment on attachment 8409236 [details]
Ian, shoot it down. v1

Just clearing this flag, since we're a little further along in the discussion now :)
Attachment #8409236 - Flags: feedback?(ibarlow) → feedback-
Friendly ping -- any feedback, or do we feel like this is ready to proceed to implementation?
Sorry, I've been focusing on the 31 home provider thing and distributions. Will take a look today.
This looks really good to me. It is a big jump in scope from this bug, so I'm going to do the following:

* Morph this bug to be "settings screen rework". There will be string, code, XML, and disablement changes here.
* Bump this to 33.
* File bugs for the minor string changes for existing elements. We can get those done immediately.
* File a follow-up to get Sync status to be live, because that's uncharted water.

Sound good?
Assignee: rnewman → nobody
Status: ASSIGNED → NEW
tracking-fennec: 32+ → 33+
Summary: Settings should make use of android:summary for better descriptive text for preferences → Reorganize and rework Settings, making use of android:summary
Whiteboard: [has mockup]
Version: Firefox 29 → Trunk
Oh, and to comment on this bit:

> Here is my controversial idea: in this new "General" section which replaces
> our previously nebulous "Customize + Display" sections, I have stuff split
> apart based on whether it affects the browser, or web content. So for
> Language, I actually split this in half to reflect that as well. Does that
> make sense? Or seem crazy?

Not crazy at all. The previous approach would have had browser language and web content language together (group by "Language"), but the split between "this thing" and "web things" is pervasive, and worth surfacing as the primary, IMO.

And we can change it if it feels confusing!
tracking-fennec: 33+ → 34+
Yuan and/or Robin, can you take a look at the mock-ups in this bug and make sure they match what you would like to see for our settings organization?

I'd like to work on this bug, but I want to make sure the designs are up to date. Thanks!
Assignee: nobody → margaret.leibovic
Flags: needinfo?(ywang)
Flags: needinfo?(randersen)
Attached image Settings-Round-1.png
I've attached my shot at it. I had some issues with "General" being too...general, so I've consolidated Homepage and Display into Customize since that's essentially what you're doing. I also moved "Download updates" and "Import" into the main list since they don't fall into any other category and are typically actions/choices that are done once. 

I also tweaked what Ian had for Syncing states a wee bit. Let me know what's feasible for going from a single headline to a headline/subhead in the same cell in a different state.
Flags: needinfo?(ywang)
Flags: needinfo?(randersen)
Flags: needinfo?(margaret.leibovic)
Thanks for an updated mock-up! Here's my feedback:

I think we should split off the sync account details into a separate bug, since it may be tricky to get that to work right, and I don't want us to block this bug on that.

I don't like the idea of putting more things inside a "Customize" category, since that keeps home page and search settings multiple clicks away. I think we should try to bring those higher in the hierarchy, since they are two customization features that we really do try to promote. The "General" section in ibarlow's mock-up was really just the current "Display" page, plus tabs and language, so mybe there's another word we can use to sum those things up? On the other hand, desktop does have a "General" section, so maybe it's not so bad. Chrome has a "Basics" section, although it's just a header on a sub-list, rather than a separate page.

What will go in "Advanced" besides developer tools? Perhaps the "Advanced" options that are currently in the "Display" page? I feel like "Import from Android" could also go in the Advanced section, or at least in some other sub-section, since that's not something users will be hitting very often.

The "Download updates automatically" option could also go in "Advanced". I think it's actually a bug that we even show that in release/beta, since those updates happen through the Play store, not through something we control. I can file a separate bug for this.

I like how you kept "Privacy" near the top of the main list. That's also an important feature we try to promote, so I think it's good to make that very visible.

I started working on bug 996753 to hopefully give us some data to help inform these decisions, but we'll have to take telemetry data with a grain of salt, since it's only enabled by default on Nightly/Aurora.
Flags: needinfo?(margaret.leibovic)
tracking-fennec: 34+ → ?
Let's keep this bug just about making use of android:summary, and I'll file a separate bug for reorganizing things.
tracking-fennec: ? → 35+
Summary: Reorganize and rework Settings, making use of android:summary → Add android:summary text to settings
Blocks: 1062979
Blocks: 1063114
Status: NEW → ASSIGNED
Attached image Add summaries to existing settings (obsolete) —
Robin, what do you think of this? I tried to update the summary strings from your mock to match the current settings hierarchy.

I filed bug 1069027 about showing sync account details, since that will be trickier than these simple string additions.
Attachment #8491139 - Flags: feedback?(randersen)
Note: for the vendor settings, we dynamically create the name of the product from the branding strings, so that's why it says "Fennec". It will say "Firefox" in release Firefox.
Feedback for myself: I don't think there should be periods at the end of these summary strings. We don't use periods in the summaries we already have, and it feels a bit heavy/unnecessary.
(In reply to :Margaret Leibovic from comment #23)
> Feedback for myself: I don't think there should be periods at the end of
> these summary strings. We don't use periods in the summaries we already
> have, and it feels a bit heavy/unnecessary.

Agreed. I looked at other apps, and periods are not used in their setting summaries either.
Comment on attachment 8491139 [details]
Add summaries to existing settings

Remove periods.

Remove the 'and' from Sync so it will read: "Sync your tabs, bookmarks, passwords, history" - hoping this will decrease the character count to one line.

if that works...
Remove the subsequent 'and's from other cells. Use a comma for "Fennec specific settings, FAQs" "Paint flashing, remote debugging"
(In reply to Robin Andersen [:tecgirl] from comment #25)

> Remove the 'and' from Sync so it will read: "Sync your tabs, bookmarks,
> passwords, history" - hoping this will decrease the character count to one
> line.

Unfortunately it will be hard to guarantee that this is one line for all devices and all locales. But we can still try to make it shorter.
Attached image Add summaries to existing settings (v2) (obsolete) —
Here's a new screenshot. I like the bare minimum lists like this, I think it makes it easier to scan for what you want.
Attachment #8491139 - Attachment is obsolete: true
Attachment #8491139 - Flags: feedback?(randersen)
Oops, wrong image.
Attachment #8491810 - Attachment is obsolete: true
Attachment #8491815 - Flags: review?(liuche)
Comment on attachment 8491815 [details] [diff] [review]
Add summaries to existing settings

Review of attachment 8491815 [details] [diff] [review]:
-----------------------------------------------------------------

Be sure to update the xml-v11/preferences_customize_tablet file too! I want to needinfo Robin for the "Mozilla" section, but this seems way better than what we had before :) r+ with tablet prefs included, and whatever Robin says about the strings.

::: mobile/android/base/locales/en-US/android_strings.dtd
@@ +124,2 @@
>  <!ENTITY pref_category_vendor "&vendorShortName;">
> +<!ENTITY pref_category_vendor_summary "&brandShortName; specific settings, FAQs">

Nit: Add a dash so it's "Firefox-specific"? I don't super like this as a string, because all these settings should be "Firefox" settings, and this seems to be more a how-you-interact-with-Mozilla settings. I'll needinfo Robin on this.

@@ +136,5 @@
>       The &formatI; in the string will be replaced by a small image of the icon described, and can be moved to wherever
>       it is applicable. -->
>  <!ENTITY pref_search_hint "TIP: Add any website to your list of search providers by long-pressing on its search field and then tapping the &formatI; icon.">
>  <!ENTITY pref_category_devtools "Developer tools">
> +<!ENTITY pref_category_devtools_summary "Paint flashing, remote debugging">

I have a slight preference for "remote debugging" to be first, because it's probably way more useful than paint flashing, but we might also want to switch their order in the Dev Tools list.

::: mobile/android/base/resources/xml-v11/preferences_customize.xml
@@ +36,5 @@
>                    gecko:entryValues="@array/pref_import_android_values"
>                    gecko:initialValues="@array/pref_import_android_defaults"
>                    gecko:entryKeys="@array/pref_import_android_keys"
>                    android:title="@string/pref_import_android"
> +                  android:summary="@string/pref_import_android_summary"

Will you file a follow-up for hierarchy changes?
Attachment #8491815 - Flags: review?(liuche) → review+
Robin, a couple of quick questions: I think the Mozilla summary as it stands should have a dash, so it's "Firefox-specific" - what do you think? Also, that being said, the Mozilla section is more how-you-interact-with-Mozilla settings, so the summary seems off but I don't have a suggestion for a better string (it seems like all our settings should be "Firefox" settings). If you think of something better, great, if not, I think this is probably fine.
Flags: needinfo?(randersen)
(In reply to Chenxia Liu [:liuche] from comment #30)
> Comment on attachment 8491815 [details] [diff] [review]
> Add summaries to existing settings
> 
> Review of attachment 8491815 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> Be sure to update the xml-v11/preferences_customize_tablet file too! I want
> to needinfo Robin for the "Mozilla" section, but this seems way better than
> what we had before :) r+ with tablet prefs included, and whatever Robin says
> about the strings.
> 
> ::: mobile/android/base/locales/en-US/android_strings.dtd
> @@ +124,2 @@
> >  <!ENTITY pref_category_vendor "&vendorShortName;">
> > +<!ENTITY pref_category_vendor_summary "&brandShortName; specific settings, FAQs">
> 
> Nit: Add a dash so it's "Firefox-specific"? I don't super like this as a
> string, because all these settings should be "Firefox" settings, and this
> seems to be more a how-you-interact-with-Mozilla settings. I'll needinfo
> Robin on this.

Thinking about this more, aren't all your Firefox prefs specific to Firefox? So maybe something better here would be something like "About Firefox, FAQs, data choices".

Chenxia and Robin, what do you think of that?

> @@ +136,5 @@
> >       The &formatI; in the string will be replaced by a small image of the icon described, and can be moved to wherever
> >       it is applicable. -->
> >  <!ENTITY pref_search_hint "TIP: Add any website to your list of search providers by long-pressing on its search field and then tapping the &formatI; icon.">
> >  <!ENTITY pref_category_devtools "Developer tools">
> > +<!ENTITY pref_category_devtools_summary "Paint flashing, remote debugging">
> 
> I have a slight preference for "remote debugging" to be first, because it's
> probably way more useful than paint flashing, but we might also want to
> switch their order in the Dev Tools list.

+1, I think that's a good idea.

> ::: mobile/android/base/resources/xml-v11/preferences_customize.xml
> @@ +36,5 @@
> >                    gecko:entryValues="@array/pref_import_android_values"
> >                    gecko:initialValues="@array/pref_import_android_defaults"
> >                    gecko:entryKeys="@array/pref_import_android_keys"
> >                    android:title="@string/pref_import_android"
> > +                  android:summary="@string/pref_import_android_summary"
> 
> Will you file a follow-up for hierarchy changes?

Yup, bug 1062979 is filed about reorganizing the hierarchy.
I agree, I think all the preferences are FF specific and I like Margaret's suggestion of "About Firefox, FAQs, data choices".
Flags: needinfo?(randersen)
https://hg.mozilla.org/mozilla-central/rev/d28652214737
https://hg.mozilla.org/mozilla-central/rev/5f70b4331982
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 35
No longer blocks: 998497
Depends on: 1074204
Verified as fixed in build 35.0a1 (2014-10-03);
Device: Nexus 7 (Android 4.4.4).
Status: RESOLVED → VERIFIED
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: