Page MenuHomePhabricator

Introduce a way to view and manage all of the topics you are subscribed to
Open, Needs TriagePublic

Description

This task is about designing and implementing a dedicated space for people to view and manage all of the topics they have subscribed to, manually and/or automatically.

User Stories

Unsubscribing from conversations

  • As someone who is receiving many new comment notifications, I want to be able to see all of the topics I am currently subscribed to and have the ability to unsubscribe from topics of my choosing, so that I can bring the number of new comments I am being notified about down to a number I consider to be more reasonable.

Revisiting conversations

  • As someone who is wanting to revisit a conversation I am interested in, I want to be able to see all of the conversations I have previously subscribed to in one place, so that I can: A) easily identify the specific conversation I am interested in and B) visit that conversation to re-read what's been said, add a new comment, etc.

Requirements

⚠️The scope of this first implementation is intentionally "sparse" and "generic." Rationale: I think we still have a lot to learn about how people use topic subscriptions and what supporting functionality they will need to get the most out of them. As such, to start, I think it is important we implement this part of the experience in a way that allows its purpose to emerge organically.

Meta

  • I am thinking of this page as more of a "snapshot" than a "log." Tactically, this means that once you unsubscribe from a topic, that topic should be removed from the list of conversations that appears on this page rather than stored as an "entry" in a "log.: More on this in "Page contents" below.

Page name/location

  • Ideally, this page can named/located at Special:TopicSubscriptions

Discovery/Navigation

  • To arrive at Special:TopicSubscriptions you will need to do one of the following three things:
    • 1. Manually enter the special page's URL
    • 2. Explicitly click a link to Special:TopicSubscriptions that someone else has created
    • 3. Visit Special:SpecialPages

We will consider how to make this page more discoverable in T289906.

Page contents
In service of the page's two initial functions – seeing all of your subscriptions and unsubscribing from individual topics – the page should contain the following:

  • All of the topics you are currently subscribed to
    • Note: whether you subscribed to a topic manually or automatically should NOT impact the topics that are shown on this page or how they are shown.
  • Each topic you are subscribed to should include:
    • The name of, and link to, said topic (read: the contents of the == H2 ==)
      • This "link" when clicked, should take you to the precise part of the page where the topic exists.
    • The name of, and link to, the page on which said topic exists
    • The ability to Unsubscribe from said topic
      • Once you Unsubscribe from a topic, that topic should be removed from the page.

Done

  • ===Requirements are implemented in ways that fulfill the === User stories above

Volunteer feedback

Related Objects

Event Timeline

Change 668779 had a related patch set uploaded (by Bartosz Dziewoński; owner: Bartosz Dziewoński):
[mediawiki/extensions/DiscussionTools@master] [WIP] Special:EditSubscriptions

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

I think this will also be a useful tool for ourselves during development, to see what data we're actually storing in the database in a pretty format.

I think this will also be a useful tool for ourselves during development, to see what data we're actually storing in the database in a pretty format.

This also strikes me as a helpful way for us to:

  1. Monitor how people are using topic subscriptions and
  2. Verify the accuracy of the assumptions we've made [i] around assigning topics unique identifiers

This is all to say: excellent spot, @matmarex.


i. Documented in T264885#6884966

Monitor how people are using topic subscriptions

The special page only lets you see subscriptions made from your own account.

Monitor how people are using topic subscriptions

The special page only lets you see subscriptions made from your own account.

Ah.

A resulting question: can you share how what is currently being built will help us, "...see what data we're actually storing in the database in a pretty format." ? [i] cc @matmarex


i. T273342#6887770

I meant for local testing, or Patchdemo, where you can just log in with another account.

ppelberg renamed this task from Introduce a way to view all of the topics you are subscribed to to Introduce a way to view and manage all of the topics you are subscribed to.May 7 2021, 5:26 PM

I would like us to release this together with automatic topic subscriptions. I think keeping track of your subscriptions will become necessary for the most active users when subscriptions are added automatically.

I've built the interface already, at first for my own testing while building topic subscriptions and then automatic topic subscriptions, but I spent a few hours cleaning it up.

image.png (2×3 px, 547 KB)

It's not exactly pretty but it's functional, and it uses established MediaWiki conventions (inspired by pagers like Special:ProtectedPages and the watchlist management interface at Special:EditWatchlist).

I'd like to add links to the new interface in preferences and in the notifications:

image.png (2×3 px, 365 KB)
image.png (2×3 px, 546 KB)
image.png (629×3 px, 78 KB)
ppelberg added a subscriber: matmarex.

Action items

  • Finalize user stories
  • Decide whether this ticket should block T282636

Action items

  • Finalize user stories

===User stories are posted and so too are the ===Requirements.

  • Decide whether this ticket should block T282636

Implementing what this ticket is asking for will block T282636.


👏 kudos to you @matmarex for taking a first pass and pushing this work forward.

ppelberg updated the task description. (Show Details)

I'd like to add links to the new interface in preferences and in the notifications...

@matmarex: I've added these ideas to the newly-created T289906.

ppelberg added a subscriber: Tacsipacsi.

Task description

  • ADDED: requirement that people be able to find a link to Special:TopicSubscriptions on Special:SpecialPages per the suggestion @Tacsipacsi made in T289906#7316171.

It will be listed there (this happens automatically, unless the special page is marked as "unlisted").

It will be listed there (this happens automatically, unless the special page is marked as "unlisted").

Noted. Okay. Thank you for clarifying, @matmarex.

I am thinking of this page as more of a "snapshot" than a "log." Tactically, this means that once you unsubscribe from a topic, that topic should be removed from the list of conversations that appears on this page rather than stored as an "entry" in a "log.: More on this in "Page contents" below.

Yeah, I agree that it's a snapshot. In my initial prototype, the page shows your unsubscribed topics too, because we store them in the database and I wanted it to display everything we store.

(We store them because: at first it just seemed like it could be useful in the future, and now it turned out to actually be useful so that we know not to auto-subscribe you again when you unsubscribed, per the requirements in T284836.)

I think I'd like to keep the ability to show them, for transparency, but they should probably be hidden when you view the page.

I am thinking of this page as more of a "snapshot" than a "log." Tactically, this means that once you unsubscribe from a topic, that topic should be removed from the list of conversations that appears on this page rather than stored as an "entry" in a "log.: More on this in "Page contents" below.

Yeah, I agree that it's a snapshot. In my initial prototype, the page shows your unsubscribed topics too, because we store them in the database and I wanted it to display everything we store.

Mmm, got it. I hadn't considered the original use case for this page even existing. I'm glad you re-stated it here.

(We store them because: at first it just seemed like it could be useful in the future, and now it turned out to actually be useful so that we know not to auto-subscribe you again when you unsubscribed, per the requirements in T284836.)

Ah, I see.

I think I'd like to keep the ability to show them, for transparency, but they should probably be hidden when you view the page.

+1. To be doubly sure we're on the same page, I'm thinking:

  • We'll retain the ability to, at some yet-to-be-defined future point, introduce a way for people to show the topics they've unsubscribed from
  • Before that "yet-to-be-defined future point," there will not be a way for people to show the topics they've unsubscribed from

...@matmarex: does the above match up with what you had in mind?

Updated the patch to match your description @ppelberg.

On a closer reading, there's one thing I disagree on – I think it's important to include the manual/automatic status, and the dates, to help users dealing with too many notifications to figure out why they are subscribed and whether they're still interested. So I kept those in the patch even though they're missing from your version (and you also wrote "whether you subscribed to a topic manually or automatically should NOT impact … how they are shown").

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

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

I've seen multiple requests for this sort of functionality recently (examples: Polish Wikipedia, Russian Wikipedia). I haven't seen details about what people want to do, beyond being able to see the list and remove items from it.

I've seen multiple requests for this sort of functionality recently...

Great spot, @Whatamidoing-WMF. I've added links to these conversations to the task description.

Updated the patch to match your description @ppelberg.

...I think it's important to include the manual/automatic status, and the dates, to help users dealing with too many notifications to figure out why they are subscribed and whether they're still interested.

While I agree with you in thinking that it's important for people to be equipped with the information necessary to decide whether they would like to be remain subscribed to a topic, I am not sure the subscription method – automatic vs. manual – is "necessary information" in this context.

It may turn out to be; however, I would rather exclude this piece of information until we're able to validate its usefulness.

Reason: I'd rather not complicate peoples' perceptions of topic subscriptions unnecessarily.[i]


i. E.g. I think people will have an easier time understanding, and in turn, leveraging topic subscriptions when they consider it as "one tool" that happens to have different ways of being "activated."

Follow ups

  • Remove subscription method from table
  • Add copy to top of page that leads people to understand what this page contains
  • Add prospect of exposing this page within the first-run experience to T289906

Follow ups

  • Remove subscription method from table

Done (bleh)

  • Add copy to top of page that leads people to understand what this page contains

Done (I'm not sure what you mean exactly, I'll replace the text if you prepare the desired version)

  • Add copy to top of page that leads people to understand what this page contains

Done (I'm not sure what you mean exactly, I'll replace the text if you prepare the desired version)

Sounds good; @iamjessklein, as part of the design review you will be doing for this task, can you please draft some copy that will go above the table that contains the topics people are subscribed to and leads them to understand what they can use this page?

Note: I've removed the "Taking bulk actions" story from the ===User Stories section; we'll handle this case separately in T290786.

ppelberg updated the task description. (Show Details)

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

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