3 ms·
This is really the chance for a great open source project. So many open source apps (Signal, Mastodon clients, riot.im, telegram-foss and more) have to do hacks
by Findus23 8y ago
This is really the chance for a great open source project. So many open source apps (Signal, Mastodon clients, riot.im, telegram-foss and more) have to do hacks to be able to deliver push notifications without GCM/FCM
What if there was an open source software one could setup on a server that would provide push services for all these apps and would interact with one open source client running on android.
That way one would have the energy saving benefits of only handling one server connection, but the privacy benefits of a private server for oneself/friends/people one trusts.
This is definitely not easy and would require coordination between many open source projects and also additions in Android to run on a system level (maybe in lineageos and similar), but I really think it would be worth it.
- enitihas 8y agoAFAIK, signal doesn't work without GCM.
- Findus23 8y agoIt does, but again via an own implementation of web sockets (I think) which creates an additional connection that drains power.
- topkeks 8y agoCorrect. https://github.com/signalapp/Signal-Android/commit/1669731329bcc32c84e33035a67a2fc22444c24b https://github.com/signalapp/Signal-Android/commit/166973132...
- vetinari 8y agoOne of the keys to low-power push system is the ability to manage the radio. It is obviously much easier, if you have a single connection that you manage, know when it is possible to drop it, or when to send the heartbeat. Once multiple processes start doing it, without cooperating together, your battery is going to be shot. Apps also should never send anything private over push notification. It should be only a ping to the app, to check it's event source.
- subway 8y agoI wish there were an open standard for push notifications with some sort of mux/proxy support. Let me run a daemon (or use a service provider) that collects all my notifications in a data-center, then send a datagram, sms, or even pocsag message to let me know notifications are available for pickup.
- ebikelaw 8y agoIt's not an open standard, but this was the one of the interesting pieces of RIM's software stack. Their push system worked reasonably well, used little power on the handset, and organizations were able to run their own on-site push proxy supporting their own in-house applications.
- zielmicha 8y agoThere is an open standard - it's called Web Push (https://www.w3.org/TR/push-api/ https://www.w3.org/TR/push-api/). It's already used by Firefox and Chrome to implement push notifications for web pages (via service workers). The notifications are proxied via Mozilla/Google server respectively, but there is no reason you could not run your own server.
- amaccuish 8y agoBlackBerry cracked push like this years ago, though it wasn't open. The phones used to connect over the carrier's network to a private APN (over VPN or leased line with to the carrier), so they always knew your BlackBerry's IP address. If you were out of range they'd do the whole storing it all up and when your device came back into coverage they'd send it all down. No hanging connections, the device was directly exposed into the BlackBerry network.