@daniel Do you know if there is a XEP to send web push notifications from an XMPP server?
-
@daniel OK, good to know.
I personally learned it at the end of 2023, after marvin added it to their gist: https://gist.github.com/mar-v-in/2a054e3a4c0a508656549fc7d0aaeb74/revisions
At this time, and yet today, it was widely assumed that a gateway to FCM was required
@S1m yes. Marvin was in the room. We knew it should work in theory but hadn't conducted an end to end test yet.
-
@S1m yes. Marvin was in the room. We knew it should work in theory but hadn't conducted an end to end test yet.
@daniel OK, interesting. So it wasn't made on a wrong assumption then
-
@S1m yes. Marvin was in the room. We knew it should work in theory but hadn't conducted an end to end test yet.
@S1m I will make my case for WebPush again if the topic comes up again (Maybe at the 2026 summit in 2 weeks).
-
@daniel On Linux, the need is clearly the other way around, mobile distributions will likely come with their default service
-
Using a dedicated service has many advantages:
- it is a service, and can be managed by service managers
- it provides a push service without any authentication/registration
- it is a single-purpose service for push notification
- the current service we have is extremely lightweight
On the other side:
- XMPP requires a user account: everybody doesn't have one, and it requires additional user setup (e.g. login) *
- it isn't a single-purpose service, so it cannot be pre-installed just for push notifications. It may be pre-installed for other reasons but not push alone
- People who don't want/need to use XMPP may prefer to not get an XMPP client always on
* Theoretically, we could have a transparent auto-registration. I don't know if some servers are open to do that
But, as everything is done to allow the user to use the service they want, if your XMPP client can provide push notifications, nothing stops you from using it, and stopping the default service :)
-
Using a dedicated service has many advantages:
- it is a service, and can be managed by service managers
- it provides a push service without any authentication/registration
- it is a single-purpose service for push notification
- the current service we have is extremely lightweight
On the other side:
- XMPP requires a user account: everybody doesn't have one, and it requires additional user setup (e.g. login) *
- it isn't a single-purpose service, so it cannot be pre-installed just for push notifications. It may be pre-installed for other reasons but not push alone
- People who don't want/need to use XMPP may prefer to not get an XMPP client always on
* Theoretically, we could have a transparent auto-registration. I don't know if some servers are open to do that
But, as everything is done to allow the user to use the service they want, if your XMPP client can provide push notifications, nothing stops you from using it, and stopping the default service :)
-
@fluttersh @daniel @dino It uses dbus under the hood: https://unifiedpush.org/developers/spec/dbus/
-
@fluttersh @daniel @dino It uses dbus under the hood: https://unifiedpush.org/developers/spec/dbus/
-
Using a dedicated service has many advantages:
- it is a service, and can be managed by service managers
- it provides a push service without any authentication/registration
- it is a single-purpose service for push notification
- the current service we have is extremely lightweight
On the other side:
- XMPP requires a user account: everybody doesn't have one, and it requires additional user setup (e.g. login) *
- it isn't a single-purpose service, so it cannot be pre-installed just for push notifications. It may be pre-installed for other reasons but not push alone
- People who don't want/need to use XMPP may prefer to not get an XMPP client always on
* Theoretically, we could have a transparent auto-registration. I don't know if some servers are open to do that
But, as everything is done to allow the user to use the service they want, if your XMPP client can provide push notifications, nothing stops you from using it, and stopping the default service :)
@S1m @dino Anonymous XMPP login aka without registration is an entirely solved problem. This could be used before the user configures their own account or for users that don't have XMPP.
I mean obviously let's have all the distributors but the XMPP as a distributor angle is the one I'm personally most interested in.
-
@S1m @dino Anonymous XMPP login aka without registration is an entirely solved problem. This could be used before the user configures their own account or for users that don't have XMPP.
I mean obviously let's have all the distributors but the XMPP as a distributor angle is the one I'm personally most interested in.
@daniel @dino I understand. One idea I like is having many applications distributor & connector.
As every user have many apps installed on their phone, many users have UnifiedPush support without installing anything else.
The user pick one random app once to get push notifications, and all the apps use this app as a distributor.
If the distrib app is uninstalled, all the apps migrate to another distributor.
If the distrib app's server is down, all the apps fallback to another app until the server is up again (cf. TEMP_UNAVAILABLE)
So we have a resilient push notification system :)
-
@S1m @dino Anonymous XMPP login aka without registration is an entirely solved problem. This could be used before the user configures their own account or for users that don't have XMPP.
I mean obviously let's have all the distributors but the XMPP as a distributor angle is the one I'm personally most interested in.
-
-
@fluttersh @S1m @dino there would be some default 'rewrite proxy' (like up.conversations.im in #Conversations_im for example). And then you would also have some default XMPP server that allows anonymous login but can only connect to said rewrite proxy. I guess one could also allow list certain extensions. But for the domain allow list we already have the building blocks in place. I guess technically the login server and the rewrite proxy could be the same domain even. That's just boring details.