Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Notifications - Sharing current problems & issues #18

Open
dmurph opened this issue Jul 26, 2023 · 11 comments
Open

Notifications - Sharing current problems & issues #18

dmurph opened this issue Jul 26, 2023 · 11 comments
Labels
session Breakout session proposal

Comments

@dmurph
Copy link

dmurph commented Jul 26, 2023

Session description

We have a number of rough areas, and while we might not be ready to figure out a solution yet, we would love to chat about the current issues we are seeting. @b1tr0t and @beverloo have most of the context here (although @beverloo won't be at TPAC this year)

  • Abuse / spam / requiring install for notifications

    • Chromium is seeing a large quantity of abuse across the ecosystem. We don’t believe gating notifications to installed use is the answer for reasons.
    • We are considering rate limiting and other countermeasures
    • Are there opportunities for standards revisions that might help?
  • "important" notifications (VOIP). @beverloo notes:

    • MSFT already working on this:
    • Intent to Prototype on blink-dev, explainer, initial implementation
    • Example hero use-case - empower Skype on the Web.
    • On Android this would require a permission (FOREGROUND_SERVICE_PHONE_CALL) that we probably don’t want to issue to Chrome itself. Limiting this functionality to installed experiences seems good in either case, as otherwise there would be complicated incentives.
  • Notification sounds (ringing?)

    • Related to important notifications, some apps might want a ringing sound
    • Somewhat limited by OS support of custom notification sounds, however, may be possible to create a “Safe” set of standard notification sounds for developer to choose from e.g. “Chime” “Ringing” “Alarm”, and perhaps others
    • @beverloo notes: This was part of a Microsoft proposal that we provided feedback on
      • Explainer
      • Long story short, a (admittedly brief) joint investigation showed that very few sounds would actually be consistent across operating systems, which is hard to explain to developers. It’s important that these are OS-consistent: ideally an e-mail in Apple Mail and one in Gmail alert Apple users in exactly the same way.
      • For Chromium to support arbitrary sounds, the media team advised that the best way to achieve that would be to load a (background) tab with a element in which we play the developer-provided URL. That’s a significant system health cost.
      • On Android such sounds are tied to the notification channel as opposed to individual notifications, and actually cannot be set for individual notifications anymore.
  • Notification channels.

    • Allow sites to register and send to specific channels, similar to capabilities offered on Android and iOS platforms
      • Can be a useful way for users to reduce unwanted notification volume, for example on a messaging app like IG the user could choose to allow DMs but not receive notifications about new posts in the feed
    • beverloo@ note:
      • ChromeOS is also very interested in this, would like to see something like this supported. We might be able to mimic support in Windows through grouping.
        • Nuances to consider on Android: channels are declared once and are then permanent, i.e. updating the importance, sound, vibration etc. of a channel should not happen after it’s been created, even when the channel’s name changes.
  • Reducing notification energy use (currently need to spin up JS)

    • The current web notifications spec was designed with maximum flexibility as the objective. With the current spec, notifications require a Service Worker and when a notification is received, the ServiceWorker wakes and can then take some action.
    • The solution is an amendment to the notification specification that optimizes for the most common notification usage pattern of simply displaying a notification on the user’s device. This change will improve performance and energy usage of notification delivery.
    • @beverloo note: We’ve always been supportive of receiving push messages and showing notifications w/o involving the service worker, this would bring major system health benefits.
      • There has been some resistance from partners to support this as they need the SW / analytics logic to run for monetization.
      • Android would be able to support high priority notifications in a declarative path. This is important because the framework deprioritises notifications for an entire app (i.e. the browser) based on show and interaction rates, which means that currently a single misbehaving site can negatively impact the holistic browser notification experience.
      • Big +1 to doing this if we can get broader ecosystem adoption.

Session goal

Share issues with current notification spec & ecosystem, possibly connect to problem solve in the future.

Additional session chairs (Optional)

No response

IRC channel (Optional)

#webapps

Who can attend

Anyone may attend (Default)

Session duration

60 minutes (Default)

Other sessions where we should avoid scheduling conflicts (Optional)

#40, #56

Estimated number of in-person attendees

Fewer than 20 people

Instructions for meeting planners (Optional)

No response

Agenda, minutes, slides, etc. (Optional)

@dmurph dmurph added the session Breakout session proposal label Jul 26, 2023
@dmurph
Copy link
Author

dmurph commented Jul 26, 2023

@marcoscaceres FYI

@dmurph
Copy link
Author

dmurph commented Jul 26, 2023

@mgiuca FYI

@webmaxru
Copy link

webmaxru commented Jul 27, 2023

Looking forward to joining this session! My tech talk "Web Push Notifications done right" is very popular and I want to learn more about what's coming

@marcoscaceres
Copy link
Member

Definitely interested in participating in this session. Would be great if it was later in the day so folks on the US west coast could join.

@marcoscaceres
Copy link
Member

@webmaxru, would be super interesting to see your session. Is it up somewhere or can you share the slides?

@webmaxru
Copy link

@marcoscaceres: sure!
Slides: https://www.slideshare.net/webmaxru/web-push-notifications-done-right
Video: https://www.youtube.com/watch?v=yAKV8J9HrQI&ab_channel=MaximSalnikov - it's compressed to 25 minutes but I also have a full-scale session (45 min) not published yet.

My demo project to support this session: https://push.foo/

Please, feel free to introduce me to the conferences and meetups that could be interested in having me as a speaker or trainer presenting about Web Push - online or in-person :)

@scheib
Copy link

scheib commented Aug 22, 2023

I'm interested here.

@marcoscaceres
Copy link
Member

@dmurph, do you have any more details on "notification channels"?

@dmurph
Copy link
Author

dmurph commented Sep 6, 2023

I added a lot more details above.

@scheib
Copy link

scheib commented Sep 13, 2023

Notes Document

@b1tr0t
Copy link

b1tr0t commented Oct 11, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
session Breakout session proposal
Projects
Status: No status
Development

No branches or pull requests

5 participants