Page MenuHomePhabricator

Introduce a "hint" that informs people how they can enable the legacy section=new experience
Closed, ResolvedPublic

Description

This task is about designing and implementing a "hint" of some kind within the New Discussion Tool that informs people how they can switch to the legacy &action=edit&section=new experience.

User stories

As someone who is: A) seeing the New Discussion Tool for the first time and B) used to using the &action=edit&section=new experience for starting new talk page discussions:

  • I want to know what I am now seeing and why, so that I am not left wondering why clicking the same affordance I've clicked in the past is showing me something different from what I'm used to
  • I want to know that I have the ability to switch to the legacy &action=edit&section=new experience, so that I can be present trying the New Discussion Tool knowing that – at any point – I have the option to switch back to the experience I'm used to
  • I want to know what to to do to switch back to the legacy &action=edit&section=new experience, so that I can start discussions on talk pages using the tool/interface I'm used to

As an experienced editor who hasn't been active on the wiki in some time:

  • I want to be able to remind myself of what the legacy experience looked like, so that I can decide which experience I prefer to use to start new discussions.

As an experienced editor who wants to continue using the legacy experience to start new discussions:

  • I want to know how to adjust my settings, so that I always see the legacy experience when I click an Add topic or New section affordance.

As an experienced editor who doesn't want to revert back to the legacy experience:

  • I want to know what to do to return to using the New Discussion Tool, so that I can start new discussions with the tool I prefer.

Requirements

Meta

  • Platform: Desktop and Mobile
    • Note: we will consider excluding the "hint" from mobile as part of T282638.
  • The "hint"/UI element being implemented as part of this task should NOT interfere with peoples' ability to draft the topic they opened the New Discussion Tool intended to compose

People impacted

  • The experience we are designing and implementing should only impact people who:
    • Are logged in
    • Are using the New Discussion Tool for the first time
    • Have made >500 cumulative edits to the project they opening the New Discussion Tool on

Note: In T293962#7567570, we decided it is okay for people to see the hint at each wiki they attempt to start a new discussion on (previously, we had said we did not want this to happen).

User experience

  1. Upon opening the New Discussion Tool for the first time, people should see some kind of hint that:
    • Informs people that they are seeing a new experience
    • Offers people the ability to switch back to the legacy new talk page section experience
    • Offers people the ability to dismiss the hint (read: clicking X will cause the "hint" to no longer be visible.)
  1. If someone clicks the link within the New Discussion Tool "hint" to take them to the "legacy experience," then they should be taken to the legacy Add topic / New section experience and the Enable quick topic adding setting should remain enabled
  1. After arriving in the "legacy experience" [by way of clicking the switch back to the legacy experience link within the New Discussion Tool's hint], people will see a second "hint" that:
    • Informs people that they are now seeing the legacy experience
    • Offers them the ability to return to the New Discussion Tool experience
    • Offers people the ability to go to Special:Preferences#mw-prefsection-editing#discussion-pages where they can set the legacy experience as their default by disabling the Enable quick topic adding setting.
    • Offers people the ability to dismiss the hint (read: clicking X will cause the "hint" to no longer be visible.)
  1. If someone clicks the return to the new experience link within the legacy experience "hint," then they should be taken to the New Discussion Tool and the Enable quick topic adding setting should remain enabled
  1. Meta: the "hint" that appears within the New Discussion Tool will continue to only be shown to people who are using the New Discussion Tool for the first time; however, once people have been shown the notice, they will continue seeing it until they have explicitly dismissed it by clicking/tapping the X affordance.
    • Note: in order to reduce the number of permutations/versions of the New Discussion Tool and legacy new Add topic/New section experiences we need to maintain, we will eventually disable the hint entirely. This work will happen in T297760.
  1. Meta: when someone disables the Enable quick topic adding setting within Special:Preferences, the hint ought to disappear from the legacy experience

Mockups + Copy

ExperienceMockupInterface Copy
New Discussion Tool Hint
viewwithcomponent.png (446×3 px, 59 KB)
'''A new way to start topics is here.''' This update enables you to add topics using an inline form and to ping others with a new shortcut. You can also [[Talk...&action=edit&section=new | switch back to the legacy experience]].
Legacy New section/Add topic Experience Hint
Screen Shot 2021-12-14 at 8.42.52 AM.png (216×1 px, 46 KB)
'''You are now viewing the legacy experience.''' You can [[URL | return to the new experience]] or visit preferences [[URL | set the legacy experience as your default]].

Minimum test case

Done

  • Mockups that implement what the ===Requirements section describes are created and posted in the ===Mockups + Copy section above
  • The designs posted in the ===Mockups + Copy section above have been implemented

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Is it possible to have not the switch function, but to have both options? Sometimes new tools are enough, and sometimes complex functionality from the old editor is needed. That is, I do not need to have a choice of only the new/old editor, but only sometimes turn on in the old mode. At first, I turned off the function in the beta settings every time and then turned it back on. When editing in the wikitext editor 2017 (or Discussion Tools), now I just change the url "veaction=editsource" to "action=submit". Is it possible to make "action=submit" available somehow as the visual/wikitext editor switches (it is not even necessary to save the typed text, for example, just like the link "Switch to old look" as in the new vector theme is enough)?

I've made two explorations for placement.

  1. Using the pop-up component

Hint - desktop.png (1×2 px, 208 KB)

Hint - mobile.png (1×744 px, 114 KB)

  1. Using the "message" component

Message - desktop.png (1×2 px, 177 KB)

Message - mobile.png (1×744 px, 97 KB)

I think that the message component is less obtrusive and more effective, thoughts @ppelberg @Esanders ?

Next steps

  • @iamjessklein to explore the following additional directions:
    • How might the "message" component be used to teach people about the Preferences link within the feature's footer
    • How might we "unbundle" the "switch to legacy" moment from the "preferences educational" moment (think: switching editing modes experience @matmarex shared)

I think that the message component is less obtrusive and more effective, thoughts @ppelberg @Esanders ?

I fear it’s less obtrusive to the point that it’s less effective due to banner blindness, especially on desktop. However, that’s just how I imagine it, a patch demo could help seeing it in action. (By the way, I also don’t like the text “No thanks”. I find it too informal language, and would use for example “Turn off” instead.)

Thanks @Tacsipacsi - still exploring the copy (nothing is final) so I appreciate that feedback.

I made a handful of new explorations:

This one moves the message beneath the core UI which is less obtrusive, but possibly more easy to ignore?

Message Below  - desktop.png (1×2 px, 214 KB)

Then, based on a suggestion by @matmarex I explored a few ways to integrate this as a mode change within the UI:

This one has a mode change under the pencil dropdown (would probably require us to name this as a mode)

Dropdown under pencil.png (968×2 px, 88 KB)

This one has a simple quiet button in close proximity to the advanced mode

Simple quiet button near advanced.png (968×2 px, 86 KB)

This one incorporates it into the advanced dropdown:

Advanced Dropdown.png (1×2 px, 56 KB)

cc @ppelberg

Next step

  • Per the conversation @iamjessklein had today (16-Nov), Jess is going to create another iteration of the concept @matmarex suggested wherein the "hint" experience would flow something like this:
    • 1. Someone clicks a New section / Add topic affordance on desktop after the New Discussion Tool is made available by default
    • 2. The New Discussion Tool opens with some kind of noticeable, but not obstructive "hint" that introduces the New Discussion Tool and offers people the option to switch back to the legacy new section workflow in one-click.
    • 3. Upon opting to "switch back to the legacy new section workflow," people would land back in the legacy new section workflow at which point a second "hint" would appear that informs people how they can switch back to the New Discussion Tool experience (read: the experience just navigated away from) should they have a need/desire to do so in the future.

I made a handful of different explorations for the hint which you can see here.

I'm partial to this solution, but would love feedback:

Message - desktop.png (1×2 px, 180 KB)

Message - desktop in default.png (1×2 px, 190 KB)

Seems good to me.

(The other ones are nice too, but I agree that this is probably the best. I also liked the one with a similar banner below the interface, rather than above.)

I'd like the text to more directly refer to turning on/off the new/old interface, or something like that. The banner looks similar to a normal edit notice, which is good for consistency and for subtleness, but I think it also means that a lot of people will automatically skip it without reading. So I think we should make it short and to the point.

Should there be buttons to close the banner and never display it again, or are we assuming that it only shows once by default?

Should there be buttons to close the banner and never display it again, or are we assuming that it only shows once by default?

Maybe there should. As you write, it’s easy to skip, and if it’s shown only once, if someone misses it, they missed it forever. If it needs to manually be dismissed, they always have a second chance. It also helps in “I’m in a hurry right now, I’ll just write my comment with whatever tool comes up, and will read about it later” cases.

Seems good to me.

+1

...The banner looks similar to a normal edit notice, which is good for consistency and for subtleness, but I think it also means that a lot of people will automatically skip it without reading. So I think we should make it short and to the point.

Holding comments about the copy for now, @matmarex mentioning the subtleness of the current implementation is bringing to mind the following questions:

  • @iamjessklein: are you able to show what the hint might look like within the New Discussion Tool and the existing section=new experience on a page that has an edit notice? E.g. Wikipedia talk:Teahouse.

Should there be buttons to close the banner and never display it again, or are we assuming that it only shows once by default?

Maybe there should. As you write, it’s easy to skip, and if it’s shown only once, if someone misses it, they missed it forever. If it needs to manually be dismissed, they always have a second chance. It also helps in “I’m in a hurry right now, I’ll just write my comment with whatever tool comes up, and will read about it later” cases.

+1 to what @matmarex + @Tacsipacsi are raising above.

  • @iamjessklein: are you able to show what the "hint" would look like with a close affordance (e.g. x ) so that the hint can remain visible until people explicitly close/dismiss t?

I made two iterations. I am partial to the primary buttons in A.
Thoughts @ppelberg @matmarex @Tacsipacsi ?

Screen Shot 2021-11-30 at 1.39.10 PM.png (466×1 px, 211 KB)

I made two iterations. I am partial to the primary buttons in A.
Thoughts @ppelberg @matmarex @Tacsipacsi ?

Screen Shot 2021-11-30 at 1.39.10 PM.png (466×1 px, 211 KB)

Next steps

  • Per the conversation @iamjessklein and I had today, she is going to explore an iteration that uses the MWDismissibleMessageWidget component [i] that @matmarex proposed during the team's 29-November planning meeting.

i. Screenshot: F34789759; Additional context: https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/Finding_and_inserting_templates

Here's the iteration with the MWDismissibleMessageWidget component

viewwithcomponent.png (446×3 px, 59 KB)

Here's the iteration with the MWDismissibleMessageWidget component

viewwithcomponent.png (446×3 px, 59 KB)

@iamjessklein: this iteration looks good to me.

Before moving forward with implementation, can you please finalize the copy (I've proposed an edit below) and then move this ticket to Ready to be worked on?

Note: the hint will only be implemented on desktop. We do not currently have plans to introduce this hint on mobile.


Copy edit

"'''A new way to start topics is here.''' This update enables you to add topics using an inline form and to ping others with a new shortcut. You can also [[Talk...&action=edit&section=new | switch back to the legacy experience]]."

This copy looks right to me @ppelberg. 👍

Wonderful. I've added the copy and mockup to the task description.

Change 745921 had a related patch set uploaded (by DLynch; author: DLynch):

[mediawiki/extensions/DiscussionTools@master] Show a hint on the new topic tool to explain that it's new

https://gerrit.wikimedia.org/r/745921

Test wiki created on Patch demo by PPelberg (WMF) using patch(es) linked to this task:

https://patchdemo.wmflabs.org/wikis/e4c7909d9d/w/

Patch does this:

image.png (1×1 px, 188 KB)

@DLynch: can you think of a way for me to try out what you've implemented on Patch Demo? I'm realizing that trying out what you've implemented depends on having access an account that's made >500 edits.

@ppelberg If you open the Javascript console on a page before you've triggered the new topic tool and paste in this snippet it'll make it trigger the note: mw.config.set('wgUserEditCount', 501) (you'll still need to be logged in).

@ppelberg If you open the Javascript console on a page before you've triggered the new topic tool and paste in this snippet it'll make it trigger the note: mw.config.set('wgUserEditCount', 501) (you'll still need to be logged in).

Wonderful. I've got it working; thank you, @DLynch:

Screen Shot 2021-12-10 at 5.44.47 PM.png (1×2 px, 336 KB)

@ppelberg If you open the Javascript console on a page before you've triggered the new topic tool and paste in this snippet it'll make it trigger the note: mw.config.set('wgUserEditCount', 501) (you'll still need to be logged in).

Great idea, I’ve converted this snippet to a default gadget so that one doesn’t have to open the browser console every time (but it’s still possible to opt out in order to test the junior contributor behavior).

Clicking the link correctly brings me to the full-page editing experience, but I find it unexpected that the next time I try to start a new section, DiscussionTools appears again. It’s probably useful to have a way to switch one-off, but I think it’s much more important to have a way to get rid of DT once and for all. I can imagine multiple ways to achieve it apart from making that existing link do perpetual opt-out: a separate perpetual opt-out affordance may be in this edit notice or in another edit notice after switching (you could use the editintro query parameter for the latter), and it may be AJAX-powered or may simply link to the preferences.

For the position, I lean to putting it in a separate edit notice in the legacy form for two reasons: first, it doesn’t clutter the edit notice that many people will see, and instead shows the link only to those who are explicitly interested in switching back; second, users can make a more educated decision, as long-time but recently not that active users may not remember how exactly the legacy form looks like and whether they really like that better.

Yeah, I think we got too distracted by the discussion about the interface, and forgot about the functionality, because the specified requirements and the behavior of the patch are different, and neither of them makes sense.

Let's review:

Requirements

Meta

  • Platform: Desktop

As implemented, the hint appears on mobile as well. Maybe that's actually better?

People impacted

  • The experience we are designing and implementing should only impact people who:
    • Are logged in
    • Using the New Discussion Tool for the first time

This isn't checked. However, I'm not sure if this requirement still makes sense if we're making it dismissible with a button (because the requirement would make it dismiss itself).

    • Have made >500 cumulative edits to the project they opening the New Discussion Tool on
  • People should only experience the "first-run" experience we are designing and implementing in this ticket once, across wikis

This isn't implemented (and would be relatively difficult to implement, since we'd have to integrate with global preferences or something). I am not sure if it's worth it, as long as the message is easily dismissible or only shown once per wiki.

User experience

  • Upon opening the New Discussion Tool for the first time, people should see some kind of hint that is visually related to the Preferences link within the New Discussion Tool

The message says nothing about preferences and doesn't point to the existing link.

  • The "hint"/UI element being implemented as part of this task should NOT interfere with peoples' ability to draft the topic they opened the New Discussion Tool intended to compose

I figured mobile was implied by there being a mobile variant in the approved designs.

This isn't implemented (and would be relatively difficult to implement, since we'd have to integrate with global preferences or something). I am not sure if it's worth it, as long as the message is easily dismissible or only shown once per wiki.

I thought I'd talked about this being implausible-to-do before, but I don't see it on this task's comments so I'm not sure what I'm remembering. Anyway, I entirely agree: it's difficult and not worth it.

Using the New Discussion Tool for the first time

This isn't checked. However, I'm not sure if this requirement still makes sense if we're making it dismissible with a button (because the requirement would make it dismiss itself).

This'd actually be pretty easy since discussiontools-newtopictool-opened is first set just below where this is displayed. I could just use that, then either remove the close button or just let it be something which doesn't store anything.

Below are – what I understand to be – the questions @Tacsipacsi, @matmarex, and @DLynch identified as needing to be answered and the responses I have to them.

If you notice a question that's missing, please comment as much. I am now going to update the ===Requirements in the task description.

1. Should people who have used the New Discussion Tool before see the hint?
Ideally, no.

2. Should the hint be avail. on mobile?
The hint can remain available on mobile for now and we can revisit whether we'd like to remove it as part T282638.

The above assumes that in the short term, the "hint" being available on mobile is moot considering the New Discussion Tool is not yet deployed there.

3. Is it important that people see the "hint" once on all wikis or is it okay that they see it at each wiki they try it on?
It's okay that people see the hint at each wiki they attempt to start a new discussion on.

4. Is it okay that the "hint" makes no reference to Preferences, as the requirements had specified?
Yes, it's fine if the "hint" people see within the New Discussion Tool does not explicitly mention Special:Preferences. See "6." below.

5. Per the point @Tacsipacsi raised in T293962#7564543: How – if at all – should clicking the switch back to the legacy experience link impact the state of peoples' Enable quick topic adding preference?
Clicking the switch back to the legacy experience link within the "hint" that will appear within the New Discussion Tool should set peoples' Enable quick topic adding preference to DISABLED.

Note: this assumes it is possible to implement what "6." describes.

6. Per the point @Tacsipacsi raised in T293962#7564543 and the decision we made in T293962#7508782: How – if at all – should people be able to opt back into the New Discussion Tool after clicking the switch back to the legacy experience link and arriving back in the legacy experience?
There should be a similar "hint" that appears above the legacy experience's Subject field that looks like what @iamjessklein
just mocked up here:

image.png (1×3 px, 177 KB)

Patch is updated to do everything but adding the new hints in the legacy edit forms. I'll have to look into that -- it'll need to cover the 2010 and 2017 variants, and I'd like to get it from within the DT extension rather than having to wedge these into other extensions superfluously.

People impacted

  • The experience we are designing and implementing should only impact people who: […]
    • Are using the New Discussion Tool for the first time

I still think that a notice that needs to be manually dismissed would be more useful. I thought we agreed upon the not automatically dismissed solution:

Should there be buttons to close the banner and never display it again, or are we assuming that it only shows once by default?

Maybe there should. As you write, it’s easy to skip, and if it’s shown only once, if someone misses it, they missed it forever. If it needs to manually be dismissed, they always have a second chance. It also helps in “I’m in a hurry right now, I’ll just write my comment with whatever tool comes up, and will read about it later” cases.

+1 to what @matmarex + @Tacsipacsi are raising above.

  • @iamjessklein: are you able to show what the "hint" would look like with a close affordance (e.g. x ) so that the hint can remain visible until people explicitly close/dismiss t?

Test wiki created on Patch demo by DLynch (WMF) using patch(es) linked to this task:

https://patchdemo.wmflabs.org/wikis/f7623e5968/w/

I updated the patchdemo and made a different version of that gadget to account for the new preference behavior.

Update
Below are the changes we converged on making to the user experience after talking about this as a team over the past 24 hours.

I'v also updated the task description's ===Requirements section to reflect these changes.


Changes to user experience

New Discussion Tool Hint

  • Clicking the switch back to the legacy experience link from within New Discussion Tool hint will no longer adjust the state of peoples' preferences
    • Said another way: the state of the Enable quick topic adding setting should not be impacted by anything people do within the New Discussion Tool hint.

Legacy Experience Hint

  • Clicking the return to the new experience link from within the legacy experience hint will no longer adjust the state of peoples' preferences
    • Said another way: the state of the Enable quick topic adding setting should not be impacted by anything people do within the legacy experience hint.
  • We are going to add a second link within the legacy experience hint that will take people to Special:Preferences#mw-prefsection-editing#discussion-pages

Meta

  • The "hint" that appears within the New Discussion Tool will continue to only be shown to people who are using the New Discussion Tool for the first time; however, once people have been shown the notice, they will continue seeing it until they have explicitly dismissed it.[i]
    • Note: in order to reduce the number of permutations/versions of the New Discussion Tool and legacy new Add topic/New section experiences we need to maintain, we will eventually disable the hint entirely. This work will happen in T297760.

i. Thank you @Tacsipacsi for holding us accountable to explicitly making a decision about whether we would adjust the requirements to include this change you suggested.

ppelberg updated the task description. (Show Details)
ppelberg updated the task description. (Show Details)

One more nitpick about this part:

  1. After arriving in the "legacy experience" [by way of clicking the switch back to the legacy experience link within the New Discussion Tool's hint], people will see a second "hint" that:
    • (…)
    • Offers people the ability to dismiss the hint (read: clicking X will cause the "hint" to no longer be visible.)

I think we actually shouldn't have a dismiss button in the second hint. It would create an experience where you dismiss the notice because you want to keep using the legacy interface, and then the next time you try to add a topic, the new interface shows up again, and without a hint how to disable it.

Instead, turning off the Enable quick topic adding preference should also cause the hint to disappear.

(Alternatively, if we want to have consistent dismiss button, then clicking the dismiss button in the second hint should also turn off the Enable quick topic adding preference.)

Change 747847 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/extensions/DiscussionTools@master] Show a hint on legacy interface when arriving from new topic tool hint

https://gerrit.wikimedia.org/r/747847

Test wiki created on Patch demo by Matma Rex using patch(es) linked to this task:

https://patchdemo.wmflabs.org/wikis/f2fc988871/w/

  1. After arriving in the "legacy experience" [by way of clicking the switch back to the legacy experience link within the New Discussion Tool's hint], people will see a second "hint" that:
    • (…)
    • Offers people the ability to dismiss the hint (read: clicking X will cause the "hint" to no longer be visible.)

I think we actually shouldn't have a dismiss button in the second hint. It would create an experience where you dismiss the notice because you want to keep using the legacy interface, and then the next time you try to add a topic, the new interface shows up again, and without a hint how to disable it.

Instead, turning off the Enable quick topic adding preference should also cause the hint to disappear.

Great spot, @matmarex. I agree with moving forward the UX adjustment you are proposing above.

I've restated the change you are proposing below to be doubly sure we have a shared understanding of what's changing and why.

Please let me know if you see anything unexpected in what I've written.

In the meantime, I've updated the ===Requirements in the task description. See T293962#7576903.


UX Changes

  • REMOVE X from the legacy experience hint (F34884135) so that...
    • ...people who are wanting to continue using the legacy experience to start new discussions, are not led to click/tap the X affordance and in doing so, assume they will see the legacy add topic experience the next time they go to start a new discussion.
  • ADD "wiring" that makes it so when someone disables the Enable quick topic adding setting within Special:Preferences, the hint will disappear from the legacy experience. This way...
    • ...people who are wanting to continue using the legacy experience to start new discussions, are not led to think there is any additional action they need to take to achieve what they thought they already had: electing to use the legacy experience to start new discussions

Change 745921 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Show a hint on the new topic tool to explain that it's new

https://gerrit.wikimedia.org/r/745921

Change 747847 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Show a hint on legacy interface when arriving from new topic tool hint

https://gerrit.wikimedia.org/r/747847

Test wiki created on Patch demo by JKlein (WMF) using patch(es) linked to this task:

https://patchdemo.wmflabs.org/wikis/58de2dcebb/w/

hint3.gif (665×859 px, 1 MB)

I attempted to:
Write a subject and paragraph, go to the legacy view, type something then return to the new experience.

I expected that when I switched back and forth in between views that the text that I input would remain the same. This worked for going from New Experience -> Legacy but not from Legacy -> New Experience AND when I returned back the final time it was a surprise to me that the initial text that I input the very first time I was in the New Experience was there (rather than the edit that I had started to write in legacy mode).

Write a subject and paragraph, go to the legacy view, type something then return to the new experience...

Great spot, @iamjessklein. @DLynch, @matmarex, @VPuffetMichel, and I talked about this on Wednesday and arrived at the following:

  1. We will address the issue of how –if at all – changes drafted in the New Discussion Tool and legacy experience are retained when moving back and forth between the two in T299270
    • Said another way: resolving the issue T299270 now describes does *NOT* need to block this ticket proceeding through QA.
  2. We will consider the broader question of, "In what cases do we show the browser "abandon changes" warning dialog and in what cases do we show the 'native' OOUI abandon changes warning dialog?" in T299271

Test wiki on Patch demo by DLynch (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/f7623e5968/w/

Test wiki on Patch demo by Matma Rex using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/f2fc988871/w/

Test wiki on Patch demo by PPelberg (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/e4c7909d9d/w/

Test wiki on Patch demo by JKlein (WMF) using patch(es) linked to this task was deleted:

https://patchdemo.wmflabs.org/wikis/58de2dcebb/w/