In bug 1524619 <https://bugzilla.mozilla.org/show_bug.cgi?id=1524619> I
plan to implement support for requiring a user gesture when calling
Notification.requestPermission() [0] and PushManager.subscribe() [1].

The rationale is the increasing amount of unsolicited, out-of-context
notification permission prompts users are receiving on a regular basis. Our
telemetry shows that there is an extremely large gap between Notification
prompt acceptance rate and, say, WebRTC prompts [2].

This will land disabled by default. However, we are planning to run
experiments with this feature in Nightly 68, enabling it for a few weeks to
gauge the resulting breakage and overall user experience changes (see bug
1534456 <https://bugzilla.mozilla.org/show_bug.cgi?id=1534456>).

As a result of these changes, we expect to see a lot less prompting for
notifications. This is what we want. However, in some cases there could be
real breakage on sites that need to show notifications as part of their
core user experience (e.g., chat apps). We have set up bug 1536413
<https://bugzilla.mozilla.org/show_bug.cgi?id=1536413> to track this
breakage. Please keep an eye out and file bugs liberally, blocking that
meta-bug.

To reach the goal of better, more natural user interaction with
Notification permission prompts, requiring a user gesture may not be
sufficient (or too much). In another experiment, we are planning to further
research the nature of user engagement with permission prompts to come up
with good heuristics that we can ship on release.

Both experiments will be further discussed in an upcoming blog post.

As we ramp up automatic denial of permission prompts, in bug 1508961
<https://bugzilla.mozilla.org/show_bug.cgi?id=1508961>, we will also
experiment with a post-prompt UI that will enable users to revert the
automatic rejection by the browser.

Note that because PushManager.subscribe() requires a
ServiceWorkerRegistration, as part of this change, we will carry
user-interaction flags through Promises that return
ServiceWorkerRegistration objects. This enables popular examples such as
this one [3] to continue to work when called from an event handler.

Let me know if you have any thoughts.

Thanks,

Johann

[0]
https://developer.mozilla.org/en-US/docs/Web/API/Notification/requestPermission

[1] https://developer.mozilla.org/en-US/docs/Web/API/PushManager/subscribe

[2] https://mzl.la/2UAAaUd

[3]
https://developer.mozilla.org/en-US/docs/Web/API/PushManager/subscribe#Example
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to