Page MenuHomePhabricator

[Intervention] Introduce New Topic Notifications (desktop)
Open, Needs TriagePublic

Description

This task represents the work involved with enabling people to elect to receive notifications when new topics are posted on talk pages they are interested in.

Objective and theory of change

Objective
This work is intended to increase the likelihood Junior and Senior Contributors know when someone is talking about something they are interested in.

Theory of change
We think that:

  • If people can decide to receive notifications when new topics are posted on talk pages they are interested in...
  • Then they will be able to more easily and quickly identify conversations they can share their expertise/support/guidance/etc. in
  • ...and be more likely to respond to those comments in a timely manner.

Requirements

For people who

  • 1) Have the Enable topic subscription setting within Special:Preferences#mw-prefsection-editing enabled and
  • 2) Are logged in
  • 3) Are accessing Wikipedia using any of the following skins: Vector (2010), Vector (2022), MonoBook, and Timeless

...the following should be true:

  • 3) When visiting a talk page, a link should appear within the skin's existing Tools menu called Subscribe
  • 4). When people click this Subscribe link a toast should appear that reads: You have subscribed! You will receive notifications when new topics are started on this page.
  • 5) The link that read Subscribe in step 3), should now read Unsubscribe
  • 6) Whenever a new topic is published on the page they took "Step 3)" on by someone other than them, they should receive a notification, via Echo, that reads: New topic "TOPIC NAME" started on PAGE TOPIC WAS STARTED ON by USERNAME OF PERSON WHO STARTED TOPIC"
  • 7) When someone clicks an Unsubscribe link a toast should appear that reads: You have subscribed! You will receive notifications when new topics are started on this page.You have unsubscribed. You will no longer receive notifications when new topics are started on this page.`
  • 8) Whenever a new topic is published on the page they took "Step 7)" on by someone other than them, they should NOT receive a notification via Echo
NOTE: the state of the Subscribe link this task introduces should NOT have any impact on whether people receive notifications about new comments in topics they are subscribed to manually or automatically.

Approaches

  • Approach #1: Implement a new button on each talk page that enables people to decide whether they would like to be notified when new topics are published to it
  • Approach #2: Present people with the option to be notified about new topics when published to a talk page after commenting or starting a discussion
    • This approach would build upon what was implemented in T262103. Note: this approach is likely too limiting in so far as it would inhibit people who have not yet participated on a page from electing to be made aware of future conversations they may want to participate in/
  • Approach #3: Present people with the option to be notified about new topics that are published if/when they tap the ⭐️ to add the page to their Watchlist
  • Approach #4: TBD

Open questions

  • What needs to be true for the software to consider someone to be "interested in" a talk page? E.g. they explicitly decided to "Watch" the talk page? They participated on the talk page before? They started a topic on the talk page?
  • How – if at all – should people watching talk pages affect whether they are notified when a new topic is added?
    • Note: some people watch talk pages indirectly, by way of watching its corresponding article page. In this case, people might be confused/surprised about receiving a notification about a talk page which they may have never directly seen and/or interacted with.

References

Event Timeline

ppelberg renamed this task from Ensure people are aware when someone starts a conversation about a topic they are interested in to Use case #3: Ensure people are aware when someone starts a conversation about a topic they are interested in.Oct 2 2020, 7:25 PM
iamjessklein renamed this task from Use case #3: Ensure people are aware when someone starts a conversation about a topic they are interested in to Experiment: Ensure people are aware when someone starts a conversation about a topic they are interested in.Feb 4 2021, 7:38 PM
iamjessklein renamed this task from Experiment: Ensure people are aware when someone starts a conversation about a topic they are interested in to [Experiment]Ensure people are aware when someone starts a conversation about a topic they are interested in.
iamjessklein updated the task description. (Show Details)
ppelberg renamed this task from [Experiment]Ensure people are aware when someone starts a conversation about a topic they are interested in to [Intervention] New topic notifications.Feb 8 2021, 9:07 PM
ppelberg updated the task description. (Show Details)

Regarding the first open question. I imagine this would be a manual opt-in. I wouldn't want to be signed up somewhere unless I specifically asked. For me, there might be 5-10 such pages on Swedish Wikipedia (and possibly similar on other wikis), but once set, I don't think it will ever change. With an exception perhaps for Meta, where these kinds of pages pop up regularly.

ppelberg renamed this task from [Intervention] New topic notifications to [Intervention] Introduce New Topic Notifications.Nov 10 2021, 12:46 AM

(Comment moved from T284795)
In terms of re-using the backend, we could store these subscriptions in discussiontools_subscription. Example row for a topic subscription:

image.png (46×1 px, 7 KB)

sub_item is the item ID which starts h- for topics (and c- for individual comments, but currently we don't support subscribing to sub-threads). This could be set to p for the whole page (or p-nt for "new topics" to allow for new-topics-and-comments in the future). sub-section would be left blank. We would need to make a small update Special:TopicSubscriptions to handle these new subscription types.

Generating the notifications would be fairly trivial - we already have "removed topic" notifications, so it would be mostly copy-and-paste work.

Quoting my comment from T284795 as to why I think we should focus on this type of notification, rather than auto-subscribing to new topics, or some other variant of this feature:

In a perfect world we could create every variant of this feature to please every user. In practice we will only get around to deploying something like this if we can keep the initial version as simple as possible, both on the backend and frontend.

To that end I would suggest that a single button that subscribed you to notifications about new threads would be a great improvement and be the best balance for all users, and if we can re-use most of the infrastructure we set up for per-topic subscriptions there's a small chance someone might have time to do it.

(Also, someone could probably write a gadget to auto-subscribe you to a topic whenever you click on one of these "new topic notifications")

Change 886134 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/DiscussionTools@master] New topic notifications

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

Test wiki created on Patch demo by ESanders (WMF) using patch(es) linked to this task:
https://patchdemo.wmflabs.org/wikis/b2cf82aaf0/w

ppelberg updated the task description. (Show Details)

Our proposed first placement (not necessarily the most discoverable, but the least disruptive) is in the action tools menu:

Vector 2022:

image.png (386×851 px, 95 KB)

Vector 2010:

image.png (353×963 px, 77 KB)

Mobile:
{F36859295}

The label is just "Subscribe" (or "Unsubscribe") while the details of what the subscription means is left to the tooltip and success notification:

image.png (106×274 px, 7 KB)

Change 890089 had a related patch set uploaded (by Esanders; author: Esanders):

[mediawiki/extensions/DiscussionTools@master] Add new topic subscription button to page actions

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

Minerva doesn't use the normal hooks for their overflow menu, so fixing mobile will have to be a separate job.

Test wiki created on Patch demo by ESanders (WMF) using patch(es) linked to this task:
https://patchdemo.wmflabs.org/wikis/95876c0041/w

@Jdlrobson is there a way to extend the overflow menu in Minerva as shown in T263821#8626270 ?

I can't see your image but you should try the SkinTemplateNavigation hook. We've been slowly trying to get that working. If not we should see if we can fix that up.

Test wiki created on Patch demo by ESanders (WMF) using patch(es) linked to this task:
https://patchdemo.wmflabs.org/wikis/95876c0041/w

This is looking great; what do you think of making these little revisions the language? cc @nayoub

CTAToast
Current (Subscribe)SubscribeYou have subscribed! You will receive notifications about new topics on this page.
Current (Unsubscribe)UnsubscribeYou have unsubscribed. You will no longer receive notifications about new topics on this page.
Proposed (Subscribe)SubscribeYou are subscribed! You will receive notifications when new topics are started on this page.
Proposed (Unsubscribe)UnsubscribeYou are unsubscribed. You will no longer receive notifications when new topics are started on this page.

This is looking great; what do you think of making these little revisions the language? cc @nayoub

LGTM. Done.

ppelberg updated the task description. (Show Details)

Change 886134 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] New topic notifications

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

Change 890089 merged by jenkins-bot:

[mediawiki/extensions/DiscussionTools@master] Add new topic subscription button to page actions

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

Test wiki created on Patch demo by PPelberg (WMF) using patch(es) linked to this task:
https://patchdemo.wmflabs.org/wikis/92e48d7152/w

ppelberg renamed this task from [Intervention] Introduce New Topic Notifications to [Intervention] Introduce New Topic Notifications (desktop).Tue, Mar 21, 5:48 PM
ppelberg updated the task description. (Show Details)

Tech/News Proposed Copy
People accessing talk pages using a desktop skin will gain the ability to subscribe to entire talk pages. Once "subscribed," people will receive an Echo notification whenever a new topic is started on a talk page they have "subscribed" to.

Tech/News Proposed Copy
People accessing talk pages using a desktop skin will gain the ability to subscribe to entire talk pages. Once "subscribed," people will receive an Echo notification whenever a new topic is started on a talk page they have "subscribed" to.

Should we mention where the feature is (under "Tools"), and/or provide screenshots, given how hard it is to find?

Proposed iteration:

People accessing talk pages on desktop will gain the ability to subscribe to entire talk pages. This can be done by clicking on Subscribe under the Tools menu (see screenshots). Once you have subscribed to an entire talk page, you will receive a notification whenever a new topic is started.

Since this was merged on Monday, it made into this week’s train, so it should be in past tense in Tech News. I’ve rephrased it to

Desktop users are now able to subscribe to talk pages by clicking on the Subscribe link in the Tools menu. If you subscribe to a talk page, you receive notifications when new topics are started on that talk page. This is separate from putting the page on your watchlist or subscribing to a single discussion.


Should we mention where the feature is (under "Tools"), and/or provide screenshots, given how hard it is to find?

It’s now mentioned where it is, but adding some screenshots to the description of this task (e.g. those that are in T263821#8626270) wouldn’t hurt. (BTW the mobile screenshot is not public, could you please attach it to this task?)