3 ms·
But how ntfy does it then? It is one app that allows you to subscribe to multiple different notification endpoints. I have uptime notifications set up this way.
by vitro 8mo ago
But how ntfy does it then? It is one app that allows you to subscribe to multiple different notification endpoints. I have uptime notifications set up this way.
Wouldn't it be possible for Zulip to go this route as well?
- deleted 8mo ago[deleted]
- MrCharismatist 8mo agoBecause ntfy doesn’t, at least not in a way that detaches you from a central authority. On its own notification to your device will happen eventually when the ntfy app on your phone wakes up and polls. Pull, not push. My ntfy server has a config line for an upstream, which is a service that then uses push. Basically it’s self hosted and handing off push.
- prurigro 8mo agoThe difference between ntfy and another type of push is that you don't need a server owned by the group that makes the app forwarding messages through apple or Google. You can have your chat server send messages to your ntfy server, which then arrive on your phone.
- Latty 8mo agoThe default behaviour for self-hosted on Android is to have a foreground service which holds a websocket open, so it does get pushed from the server and doesn't rely on your phone being awake. https://docs.ntfy.sh/subscribe/phone/#instant-delivery https://docs.ntfy.sh/subscribe/phone/#instant-delivery The upstream approach you describe is only necessary for iOS devices that don't permit apps to do that. https://docs.ntfy.sh/config/#ios-instant-notifications https://docs.ntfy.sh/config/#ios-instant-notifications
- thayne 8mo agoOn Android the OS implementation of "push" notifications is pull/poll based as well. At some interval, the OS polls Google's servers to see if there are any messages available. Firebase essential acts as a message broker, so that it only has to poll a single server, instead of a separate server for every service that wants to send notifications, and there is only a single service polling. But I really wish Android supported specifying additional servers to poll (and/or replace the default server), so you could use a self-hosted service in addition to or instead of Google's service.
- belthesar 8mo agoThe same way that Element does - they host a service for you that relays push notifications their Firebase Cloud Messaging endpoint for Android or iOS Instant Notifications for Apple. I believe ntfy's hosted option is the way they offset the costs of hosting this, even if self-hosted options can take advantage of those servers free of charge. I think it's reasonable for Zulip to ask for compensation for access to these gateways, since Apple and Google do not make them available to end users free of charge, and the burden of responsibility to ensure that these systems aren't abused is on them. Also, the fact that they offer mobile push notifications for any self hosted server of up to 10 users is pretty generous, and there seems to be a Community plan option for larger servers that includes "groups of friends" as a qualifier. It really seems they're offering quite a bit.
- Latty 8mo agoThis isn't true, self-hosted Android push notifications in ntfy are provided using a "foreground service" by default (i.e: the app keeps a websocket open and listens), unless you set up firebase for yourself and build a custom version of the app with the cert baked in. https://docs.ntfy.sh/subscribe/phone/#instant-delivery https://docs.ntfy.sh/subscribe/phone/#instant-delivery
- deleted 8mo ago[deleted]
- gf000 8mo agoSo it either drains battery and gets significant delays (as per ntfy's own docs), or it still uses Google's solution. There is no free lunch.
- Latty 8mo agoI think you misread, the delays are if you don't use instant delivery. I use it and it's extremely consistently delivered instantly, which makes sense, it's a websocket. As to battery drain, I'm sure it technically does consume more, but according to my phone it's an insignificant amount: <1% of usage which is the lowest stat it gives you. Their docs suggest the same thing: > the app has to maintain a constant connection to the server, which consumes about 0-1% of battery in 17h of use (on my phone). There has been a ton of testing and improvement around this. I think it's pretty decent now. https://docs.ntfy.sh/faq/#how-much-battery-does-the-android-app-use https://docs.ntfy.sh/faq/#how-much-battery-does-the-android-... Honestly it's a good solution that works well with few downsides, the only real one is that iOS doesn't support doing it, but personally I don't have any apple phones so I do get an essentially free lunch.
- miki123211 8mo agoIt does. Ntfy pays Apple/Google for the ability to deliver notifications to you. They use the free plan as a "gateway drug." It's just a cost of business to them, a marketing tactic to acquire paid users, no different in principle than plastering ads on billboards. You can't set up your own Ntfy server (at least not without also having a private copy of the Ntfy app). (Things may be different on the fDroid side, but many custom notification servers are a batterly life and privacy concern nevertheless).
- deleted 8mo ago[deleted]
- vitro 8mo agoYou can self-host their notification server, and in their app you provide this server's url.