Wouldn't it be possible for Zulip to go this route as well?
Wouldn't it be possible for Zulip to go this route as well?
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.
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-...
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.
Notification and battery performance is on par with google's solution except when an android build does dumb things to prevent the background activity, in which case notification performance gets worse and battery draw gets worse (not sure why exactly, it's just a common issue in these regards).
However, it also isn't a big deal, at least in my experience, at least for ntfy.sh.
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.
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.
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.
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).