[Epic] Show what features are included in Beta
Open, NormalPublic

Description

Background

As a user, it would be cool if I could navigate to settings, enable Beta features, and immediately see and interact with the individual beta features.

Right now:
The user taps the menu and selects Settings, enables Beta features and must now tap save. At this point, the user can return to settings and interact with the beta features.

Proposal

https://phabricator.wikimedia.org/T182362

Current features that are in beta

Product plan

The prototype above has 6 of our experimental features

Namehas control?promote to stable?
Font changerYesYes
Expand sectionYesYes
Lazy load referencesNoYes
Jump to topNoNo
Wikidata descNoNo
Categories buttonNoNo

Order of tasks

  1. Change the way we offer font size choices - T169369 (in sign off)

  1. Change the Checkboxes to ToggleSwitches in Settings - T169807 (in progress)

  1. Promote font size choice to stable - T109364 (trivial)

  1. Promote expand section setting to stable - T169257 (trivial)

  1. Create Beta ToggleSwitch and show the beta features with states (T182362)

Details

Reference
bz65079

Related Objects

StatusAssignedTask
OpenNone
DeclinedNone
ResolvedJhernandez
DeclinedNone
Openovasileva
DeclinedNone
DuplicateNone
DuplicateJdlrobson
OpenNone
OpenNone
ResolvedNirzar
OpenNone
OpenNone
OpenNone
Resolvedaude
ResolvedNirzar
DuplicateNone
OpenNone
ResolvedNirzar
ResolvedJdlrobson
DuplicateNone
ResolvedNirzar
OpenNone
Resolvedovasileva
OpenABorbaWMF
OpenNone
OpenJdlrobson
ResolvedNirzar
ResolvedNirzar
OpenNone
ResolvedNirzar
There are a very large number of changes, so older changes are hidden. Show Older Changes

@Jdlrobson - let me make sure I understand this. We can display which features are currently in beta, but users will still only be able to opt-in to all of them (vs selecting specific ones)?

@Jdlrobson - let me make sure I understand this. We can display which features are currently in beta, but users will still only be able to opt-in to all of them (vs selecting specific ones)?

This is correct. For example we could do this:

I think that's worth doing. Needs input from @Nirzar though, tagging with design

ovasileva triaged this task as Normal priority.Jun 21 2017, 5:56 PM

@Nirzar - the menu will need to change as well. If we're removing images, "settings" will only contain beta features for now. I made T168885: Redesign settings menu option after removing images functionality as a proposed workflow that would be something like:

  1. From menu, select "Beta"
  2. Beta page displays list of beta features, feature name and definition/introduction
  3. Checkbox to enable/disable

Thoughts?

Note in beta it's not just enabling beta features, there are also options for changing font size and expanding all sections (both could be migrated to stable btw if we wanted):

kaldari removed a subscriber: kaldari.Jun 27 2017, 7:44 PM

@ovasileva

Two options I put together quickly

Option A

  1. Keep Beta under settings
  2. Move fontsize, expand sections out of beta with some work on it
  3. below the 2 settings, provide opportunity to opt into Beta.
  4. Beta enabled > you get more settings

Click-through prototype
https://wikimedia.invisionapp.com/share/BMCCQ3OYQ#/241120753_Home

Option B

  1. Separate Beta program and settings
  2. Keep settings as a Cog in Navdrawer
  3. Show users, what will they get with Beta program,
  4. Encourage more participation
  5. Provide beta settings in Wikipedia Beta, and nonbuggy shipped settings in Settings Cog

Click-through prototype
https://wikimedia.invisionapp.com/share/BMCCQ3OYQ#/241121309_Home

We can flesh out either directions based on what product thinks is better direction

@Nirzar - I'm a fan of both, especially option B. My only worry here is that the settings cog might be a bit difficult to find. Perhaps this is something we can test?

@ovasileva @Nirzar For what is worth (I'm a terrible user), I did go through both prototypes, and in the second one I 100% missed the settings cog, and thought we were getting rid of it, and asked myself where would we put the settings like the font size stuff if we got rid of it once things came to stable, and them moved on.

@Nirzar I also prefer option B. In the Option A the only thing that looks a bit strange to me is that "Beta Features" description is hidden when you enable it and we show all options as regular options. At first, it was confusing, and I had to think - what just happened. Additionally, the Option B gives us much more flexibility what to show.
IMHO it is worth to A/B test both options and pick the best one.

This is great feedback! I will post second iteration based on this feedback

Nirzar added a comment.EditedJun 29 2017, 12:28 AM

https://wikimedia.invisionapp.com/share/BMCCQ3OYQ#/241120753_Home

Updated flow for Settings + Beta (option A)

In the Option A the only thing that looks a bit strange to me is that "Beta Features" description is hidden when you enable it and we show all options as regular options.

Fixed this issue

NEW: added a feature that doesn't have a control related to it (offline experience) it is listed under beta just to make sure user knows what features are being applied

Looks good. My only comment was that it took me a second to realize that the things under "beta" were the beta mode features, but it could just be me.

Nice, consistent and clear.

@Nirzar Do you think we should indent a bit to the right the items inside "beta" to hint the hierarchical relation?

@Jhernandez

Do you think we should indent a bit to the right the items inside "beta" to hint the hierarchical relation?

Haha I did that try that exact thing but I didn't want to reduce the space given to the item.

but it's still a problem so I tried a better separators here >>

new section separators go all the way to the edge. inside section, the separators will be indented.

@Nirzar - yes, I think the separators make it look a lot clearer. It looks good to me.

Jdlrobson updated the task description. (Show Details)Jun 29 2017, 6:17 PM
Jdlrobson updated the task description. (Show Details)Jun 29 2017, 6:19 PM
Nirzar added a comment.EditedJun 29 2017, 10:18 PM

https://wikimedia.invisionapp.com/share/BMCCQ3OYQ#/241120752_Drawer

Updated the prototype with even better separation and a feedback link so we can collect feedback around Beta features.

kaldari removed a subscriber: MobileFrontend.
kaldari removed a subscriber: kaldari.

@Jhernandez @Jdlrobson

how difficult would it be to save a preference by the control itself. i.e. avoiding an explicit "Save" button. if i change the font size, it changes the font size without user needing to press save. if it is a significant change, I'm willing to add "Save changes" action

For non-js users we can have a Save button on bottom.

Nirzar updated the task description. (Show Details)Jun 30 2017, 9:59 PM

nzr: should be relatively easy since we only show the font changer if JS is enabled.
The save button is needed only for the beta mode which works without JS (although not sure whether it has to). Now we only have one option however this could be done via making the opt into beta control a submit button without JS.

For bonus points it would be great to remove the need for this page altogether and make it some kind of JS overlay :)

For bonus points it would be great to remove the need for this page altogether and make it some kind of JS overlay :)

didn't understand this part

Nirzar updated the task description. (Show Details)Jun 30 2017, 10:44 PM
Nirzar updated the task description. (Show Details)Jun 30 2017, 10:53 PM

For bonus points it would be great to remove the need for this page altogether and make it some kind of JS overlay :)

I meant, if all the settings are reliant on JS it doesn't need to live in its own url e.g. https://en.m.wikipedia.org/wiki/Special:MobileOptions - instead it could be an overlay like the editor/search etc.. but carry on :)

Looks like we can move this into needs analysis? Or even triaged but future?

phuedx added a subscriber: phuedx.

@ovasileva: In my head Triaged But Future means that a task has been specified by the PO/TL to the best of their ability and is ready to be looked at by the devs in the grooming/estimation meeting(s). I'm usually wrong though…

I think this is the case so I'm going to be bold.

ovasileva updated the task description. (Show Details)Jul 4 2017, 11:04 AM
Jdlrobson moved this task from Backlog to Epics on the MobileFrontend board.
Jdlrobson renamed this task from Show what features are included in Beta to [Epic] Show what features are included in Beta.

I'll work out how best to go about working on this epic and will write a separate card for the changes to the special page when we are ready to work on this. We may want to start by improving/promoting the beta features first.

@Jdlrobson - we discussed with Nirzar and I think it makes more sense to take a bit more time with the individual features. Let's apply the visual changes first and then promote individual ones afterwards.

Quiddity removed a subscriber: Quiddity.Jul 12 2017, 6:13 PM

@ovasileva to add card for making visual changes to settings menu

Restricted Application added a subscriber: PokestarFan. · View Herald TranscriptAug 2 2017, 8:46 PM

Potential goal for next quarter...?

Potential goal for next quarter...?

Based on conversations at Wikimania and talking to bunch of other people, I think next goal should be around article notes
T143535: [EPIC] Improve article notes

It was our quarterly goal few quarters back which we moved out of our goals.

Article notes, especially page issues are currently on the roadmap - we have them as prototyping/testing during Q2 and development during Q3. Depending on where we get with our current goals, we might shift things a bit forward, but I think this still sounds reasonable.

In terms of this project, if we can split it up enough, we could potentially squeeze it into either Q2 or Q3.

In terms of this project, if we can split it up enough, we could potentially squeeze it into either Q2 or Q3.

isn't it split up already? I think the subtasks are granular enough @Jdlrobson ?

Nirzar updated the task description. (Show Details)Oct 30 2017, 8:42 PM
Nirzar updated the task description. (Show Details)

When beta mode is enabled, do new beta features always default to on?

@Niedzielski yup

@Nirzar although this task seems to explain well what to do with the features that are being promoted, it's not clear how we show the other features that are in beta e.g. back to top, categories, lazy loaded references, wikidata descriptions. What is the plan with these?

How do we plan to inform the user those are also in beta?

Nirzar updated the task description. (Show Details)Dec 5 2017, 8:59 AM
Nirzar updated the task description. (Show Details)
Nirzar added a comment.Dec 5 2017, 9:01 AM

t's not clear how we show the other features that are in beta e.g. back to top, categories, lazy loaded references, wikidata descriptions. What is the plan with these?

there was a link to the prototype in the description. I added the mocks to description along with that invision link to make it easier.
Here's the invision link just in case
https://wikimedia.invisionapp.com/share/BMCCQ3OYQ#/screens/241120755

Tbayer added a subscriber: Tbayer.Dec 6 2017, 5:08 AM

@Nirzar asked whether we have a baseline for the current number of beta users. I don't think the number is systematically tracked or exposed anywhere (does anyone else know?), but it can be determined per wiki with a database query. Right now it seems we have 71k users opted in on enwiki. Let me know if there's interest in examining this more thoroughly, also across all wikis (we should make that into a task then).

BTW there is a schema tracking user preference changes in general, but it seems to omit mobile preference changes like the opt-in to Mobile Beta.

mysql:research@analytics-store.eqiad.wmnet [(none)]> SELECT COUNT(DISTINCT up_user) FROM enwiki.user_properties WHERE up_property = 'mfMode' AND up_value = 'beta';
+-------------------------+
| COUNT(DISTINCT up_user) |
+-------------------------+
|                   71327 |
+-------------------------+
1 row in set (3 min 42.78 sec)
Jdlrobson added a comment.EditedDec 6 2017, 5:16 PM

@Tbayer you raise some interesting details.
I completely forgot about it but we have Schema:MobileOptionsTracking. Not sure if that's still working but that would be the place to look. This tracks activity.

The current implementation of the new form will break this as it introduces asynchronous saving (which we can fix if necessary.. but we'll need a task)

Right now beta is stored as a preference if user is logged in so that's why you are seeing stuff in schema tracking user preference changes. It will continue to be stored with the new version.

I have broken out the tracking conversation into T182235.

Jdlrobson updated the task description. (Show Details)Dec 7 2017, 10:35 PM
Jdlrobson updated the task description. (Show Details)Dec 7 2017, 10:39 PM

Projects should not normally be subscribers to a task as it can cause people to erroneously receive email notifications (like I have for the past few months), so I removed Readers-Web-Backlog as a subscriber here. This task is still tagged with the Readers-Web-Backlog project, so this change is not disruptive to people subscribed to the project. Sorry for the intrusion.

Deskana removed a subscriber: Deskana.Wed, Jan 10, 11:44 AM