Page MenuHomePhabricator

Newcomer tasks: Provide more granular/advanced topic filtering for people with specific topics
Open, Needs TriagePublic

Description

Background

There has recently been feedback/request by GLAM pilot partners for Growth for the ability to use "AND" logic in the suggested edits topic selector, rather than it's currently using "OR". For instance, they want to be able to filter the feed to articles that have high scores on both "History" and "South America".

Related explorations in the CX tool: T113257: Allow users to control the criteria for suggestions (categories, location, etc.)

Problem

Extrapolating from the feedback, this is a request for more granular topic results (for which changing the logic from AND to OR may or may not be a solution).
The resulting solution may also mitigate T242476: Newcomer tasks: when selecting multiple topics, one topic should not dominate over the others

User job stories for topic filtering

Newcomer without an edit in mind (Personas: Joiner-Inner, Reactive Corrector, Box Checker)

As a newcomer who wants to get started editing with no specific interests in mind...
When Isee that I can select topic interests,(situation)
I want tobe able to choose general interest topics that provide a number of results,(motivation)
so thatI can browse and choose from a good selection of articles to start making contributions and learn how to edit in general.(expected outcome)

GLAM/Special interest newcomers (Personas: Knowledge Sharer, Social Changer)

As a newcomer who wants to get started editing with no specific interests in mind...Newcomer without an edit in mind
When Isee that I can select topic interests,(situation)
I want toto be able to narrow down the results to specific topics particular to my interest/expertise,(motivation)
so thatI can more engaged and confident in editing on a subject in which I am familiar.(expected outcome)
Notes from @kostajh's task (T297092)

Several months ago a volunteer filed a feature request to narrow tasks with the topic selector:

Currently the filtering options only add new groups of articles, and don't find articles that meet certain criteria. It would be valuable to have the ability to filter to only Transportation articles in Asia for example.

Our team discussed it in chat, and some concerns are:

  • A major downside to changing filters to use OR logic instead of AND is that there will be far fewer articles in the filtering process, so if we were to introduce this i'd imagine it would as a more advanced filtering option rather than replacing the default OR logic in use right now.
  • a tricky concept UX concept, esp as people come to expect smarter filtering/searches (to just know when they mean AND vs OR)

An alternative to AND'ing the topics together is to add a freetext form field so people can find tasks matching arbitrary searches (which could include topic filters). Users might end up not finding articles in the topics they care about because they have wrong keyword, but maybe freeform search that provides auto-completion for topics (but allows arbitrary strings too)... so, if the user types "train" that would be a freetext search, but if they start typing "tra" and select the autocompletion for "Transportation (Topic)" that becomes a hastopic:transportation search, and as more topics are added in the search, they are ANDed together.

Proposed designs

TBC - work-in-progress figma is here
Proposal A
Add an ability for users to enter free-text in an input field to search for whatever topics they like, as one topic search term.

  • If the free-text input matches an existing topic within our filter set, it instantiates as a tag/chip.
  • If the input doesn't match an existing topic within our filter set, it becomes a free text search.

Proposal B from T301028

  • Addition of separate advanced filtering functionality that is accessed as a separate tab, where Campaigns or other filter sets can be saved in the "saved filters" dropdown
  • Ability to chain AND and OR filters
  • This proposal could work in parallel with the Campaigns filter group in the main topics tab in T301028
  • Nice to have: If a particular campaign filter tag is selected when the user switches to the advanced “AND” filtering tab view, then the specific query is shown on the screen already.
  • Potential to re-use Recent changes filter tag functionality

image.png (3×3 px, 605 KB)

Event Timeline

@RHo do you want to merge T297092: Support narrowing task search with topic selections with this one, or keep T297092: Support narrowing task search with topic selections separate as it also talks about a free text search as an option?

Thanks @kostajh - I was looking for the filter tasks and missed this one! I think it makes sense to merge and add as a potential solution to this problem (it is in fact one of the potential solutions I was going to mock up)

From a backend perspective, we can easily include anything that can be turned into a search query filter - intersection of multiple topics, articles tagged with certain templates or categories, articles geotagged into a certain geographic area, hand-curated page lists as long as they aren't longer than 1-200 items (we could probably figure out something for longer ones too).

It's a bit complicated to handle things that can be used to rank search queries, ie. free-text searches and morelike: (which we used once as a not-so-successful topic filter but maybe it would work better for narrow topics). The difficulty here is that we randomize the search results (to avoid collisions) and so discard rankings; and while these can be used as boolean filters, they will probably give poor results. But with enough effort we could come up with a way to selectively not randomize things.

One option might be a global toggle at the top of the topic filter; with some styling and wording it might be more obvious to users about what it does? I also wonder if users might expect the narrower search to be the default, and widening the search pool to be the non-default choice.

image.png (856×1 px, 133 KB)

Adding a free-text search option also seems like a good idea, but will function in a different way from ANDing the topic filters; ideally we could let users have both somehow.

One option might be a global toggle at the top of the topic filter; with some styling and wording it might be more obvious to users about what it does? I also wonder if users might expect the narrower search to be the default, and widening the search pool to be the non-default choice.

image.png (856×1 px, 133 KB)

Adding a free-text search option also seems like a good idea, but will function in a different way from ANDing the topic filters; ideally we could let users have both somehow.

Returning to the user intent and per our team discussion in the task description, I think providing the ability for people to enter in their narrowed topic combinations freely in a single field will obviate the need to create a separate control for "AND" to what are still quite broad categories. I would propose this first as having both would introduce more ambiguity about what filter method to use and whether the toggle affects the free search.

One option might be a global toggle at the top of the topic filter; with some styling and wording it might be more obvious to users about what it does? I also wonder if users might expect the narrower search to be the default, and widening the search pool to be the non-default choice.

image.png (856×1 px, 133 KB)

Adding a free-text search option also seems like a good idea, but will function in a different way from ANDing the topic filters; ideally we could let users have both somehow.

Returning to the user intent and per our team discussion in the task description, I think providing the ability for people to enter in their narrowed topic combinations freely in a single field will obviate the need to create a separate control for "AND" to what are still quite broad categories. I would propose this first as having both would introduce more ambiguity about what filter method to use and whether the toggle affects the free search.

Ah, I think I misunderstood, because it sounds like there are three proposals then:

  1. A new interface element, using something like TextInputWidget that allows entering any arbitrary text, e.g. "cats" or "dogs" or whatever. The input would be sent along with the topic/task filters to search.
  2. A new interface element, using something like MenuTagMultiSelectWidget that allows the user to choose from existing topics, and these are AND'ed together.
  3. A new interface element, using something like ToggleButtonWidget that changes how searches using the existing Topic pills work

So to clarify, you are proposing something like option 2, the MenuTagMultiSelectWidget as a new field?

Ah, I think I misunderstood, because it sounds like there are three proposals then:

  1. A new interface element, using something like TextInputWidget that allows entering any arbitrary text, e.g. "cats" or "dogs" or whatever. The input would be sent along with the topic/task filters to search.
  2. A new interface element, using something like MenuTagMultiSelectWidget that allows the user to choose from existing topics, and these are AND'ed together.
  3. A new interface element, using something like ToggleButtonWidget that changes how searches using the existing Topic pills work

So to clarify, you are proposing something like option 2, the MenuTagMultiSelectWidget as a new field?

I was thinking about something that is like option 2 but with the flexibility to include free-text input (option 1). An example would be the following:

  1. A user starts typing Fash and there is an autocomplete suggestion for topic:Fashion which they selected and it gets added as [topic icon]:Fashion
  2. User then types Gucci for which there is no topic filter, so they enter it as is and it gets added as free-text search input Gucci
  3. The filter that is set will find all task articles which are have the topic:Fashion AND contain the word Gucci

Ah, I think I misunderstood, because it sounds like there are three proposals then:

  1. A new interface element, using something like TextInputWidget that allows entering any arbitrary text, e.g. "cats" or "dogs" or whatever. The input would be sent along with the topic/task filters to search.
  2. A new interface element, using something like MenuTagMultiSelectWidget that allows the user to choose from existing topics, and these are AND'ed together.
  3. A new interface element, using something like ToggleButtonWidget that changes how searches using the existing Topic pills work

So to clarify, you are proposing something like option 2, the MenuTagMultiSelectWidget as a new field?

I was thinking about something that is like option 2 but with the flexibility to include free-text input (option 1). An example would be the following:

  1. A user starts typing Fash and there is an autocomplete suggestion for topic:Fashion which they selected and it gets added as [topic icon]:Fashion
  2. User then types Gucci for which there is no topic filter, so they enter it as is and it gets added as free-text search input Gucci
  3. The filter that is set will find all task articles which are have the topic:Fashion AND contain the word Gucci

Got it, thanks for clarifying! So that sounds like MenuTagMultiselectWidget with allowArbitrary enabled.

Got it, thanks for clarifying! So that sounds like MenuTagMultiselectWidget with allowArbitrary enabled.

hi @kostajh - I ended up created an "everything option" as part of my explorations for T301028 which I'd be interested to hear your thoughts on both feasibility (chaining several AND/OR statements) vs performance (how performant is the results), as well as how you consider the visual complexity now that you see it shown. I think it could be intimidating/convoluted for most people, so could do a simpler version where it's just the AND option in advanced.

image.png (3×3 px, 605 KB)

RHo removed RHo as the assignee of this task.Mon, Apr 15, 5:30 PM
RHo added a project: Growth Design.
RHo moved this task from 📗Backlog (Current sprint) to 🔮Future sprint on the Growth Design board.