Closed Bug 1862483 Opened 2 years ago Closed 1 year ago

Add message action to block a message group

Categories

(Firefox :: Messaging System, task)

task

Tracking

()

RESOLVED WONTFIX

People

(Reporter: aminomancer, Assigned: aminomancer)

References

(Blocks 1 open bug)

Details

(Whiteboard: [omc])

Attachments

(1 obsolete file)

User Story

As a PM, I want to be able to let a user choice choose “I do not want this message again” and we do not show they anymore message in that group.

For example, if they selected that on a VPN callout message, we should not be showing them VPN Spotlight or VPN moments pages.

Requirements:

  • A message might have two or message groups; we will only block one (i.e. Callout - to control frequency and VPN)
  • User will not see the message is that group (i.e. VPN)

Open Questions

Would a user ever want to reset and start seeing the messages again? (I doubt it)

Requirement is bit ambiguous. How will a user know difference between Don't Show this message again or Don't show message from this group again (probably same as turn off all messages). Are there any designs to help clarify this usecase?

Flags: needinfo?(vtay)
Flags: needinfo?(shughes)

We should block something narrower than a message group. Right now I've written the patch to block a message group, but I think it makes more sense to add a new category property that messages can have. We agreed that blocking the cfr group is too drastic and has far-reaching consequences. Also, blocking a group/category will be irreversible, unlike toggling the CFR user pref. So we need to be more delicate.

The user is already able to block CFRs by changing the CFR user pref, and there will be an option to control that pref in the split dismiss button dropdown. So instead of blocking ALL messages in cfr group, user could block a narrower subset of messages specific to a domain — for example, a VPN feature callout could have an affordance to block future VPN messages. That's not a message group and may never be, but instead a message could look like this

groups: ["cfr"],
categories: ["vpn"],
dismiss_button: {
  action: { dismiss: true },
  label: ...,
  menu: [
    {
      label: ...,
      action: {
        type: "BLOCK_CATEGORY",
        data: ["vpn"],
      },
    },
    ...
  ]
}

We also considered that these smaller "categories" would contain a smaller amount of messages, like 3 messages for example. They could represent "series" in some cases, like a Fox Guide campaign run from Jan 2024 to Mar 2024, and the category ID would then be retired when the series is finished. So while we only have 6 message groups, we could in the future have dozens or hundreds of categories/series.

The reason to do this in general is that we don't necessarily know when we launch part 1 of a series what all the message IDs in that series will be. Right now, if you wanted to have an affordance to block a series, you'd need to plan everything out from the start so that your very first message gave an affordance to block part 2 and part 3 by ID. But in many cases things don't go according to plan, and ad hoc decisions are made, so it would be great if we only needed to plan what category ID we're going to use. And then allow all messages in the series to block the whole category at any time.

Flags: needinfo?(shughes)

We can add an action item for next week to discuss modifying the copy from e.g. "Don't show this again" to "Don't show messages like this"

Attachment #9361469 - Attachment description: Bug 1862483 - Allow FxMS to block message groups. r=#omc-reviewers → Bug 1862483 - Allow FxMS to block message categories. r=#omc-reviewers

I've highlight that as a challenge in the spec and we're working it out with our content team/Ux team

Flags: needinfo?(vtay)

If what should be blocked is a per-message decision, could this be done with SET_PREF and adding targeting? E.g., !"messaging-system-action.block.vpn"|preferenceValue to check if a user clicked don't show that set block.vpn?

Sure, that would be possible without landing any changes. Aesthetically I'd prefer if we didn't swell up the targeting expressions with more pref getters, but I guess in the long run we will be using the forthcoming CMS, which can configure the actual targeting expression in the background with individual toggles like Experimenter does.

+1 on simplicity of the fix using prefs to show/hide messages in a category via targeting. This approach is similar to hiding all feature recommendations using pref browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features and if needed can be made a user setting on about:preferences.

For VPN might be worth looking into existing prefs to disable/enable VPN Promo to turn off all VPN promo messages

Closing bug based off last few comments on direction of fix, please feel free to reopen if there is work needed for this ask. Thanks

Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → WONTFIX
Attachment #9361469 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: