4 ms·
The thing is, though, that Firebase push notifications are deeply integrated with mobile networks. They get special treatment to ensure energy-efficient operati
by namibj 6y ago
The thing is, though, that Firebase push notifications are deeply integrated with mobile networks. They get special treatment to ensure energy-efficient operation, at the cost of more idle connections hanging in the network infrastructure. Yes, with IPv6 that should/could become much less relevant, but then you loose the traffic-flood-DoS protections you get from CG-NAT.
- dannyw 6y agoOK, Google may charge for Firebase push notifications. Including making a profit from it of course. They may not perform anticompetitive behaviour like bundling (as they have already been fined for in the EU over Android and Play Services).
- namibj 6y agoHuh? FCM is free: https://firebase.google.com/products/cloud-messaging https://firebase.google.com/products/cloud-messaging I don't see the anti-competitive part there. There are good reasons around consolidating resident daemons and only using a single TCP connection with a special keep-alive configuration. And from experience, it's perfectly possible to not use FCM, at the cost of a persistent notification that alerts the user about this, so they can get rid of abusive apps.
- dannyw 6y agoCan you use FCM for non-Play-Store apps? I was under the impression you couldn't from the grand-grand-parent.
- namibj 6y agoI found no evidence for either side, but I can't easily test it right now.
- neurostimulant 6y agoI think you can but you still have to link to Google play services, which is not possible for open source apps in f-droid since they need to be able to run on de-googled android which lacks Google services.
- namibj 6y agoIt looks like FCM is supported by the open replacement I linked in a close-by comment, here: https://news.ycombinator.com/item?id=23571663 https://news.ycombinator.com/item?id=23571663
- neurostimulant 6y agoAren't microg supposed to get installed first on the device? Which mean if the user doesn't have it, then your app won't run? Or can you embed the FCM support into the app itself so it doesn't depend on google play service or microg availability?
- namibj 6y agoYou're asking the wrong person. I'd have to research just as much as you'd, and judging by upvotes and age, (almost) no one else would care. Sorry :(
- solarkraft 6y ago> I don't see the anti-competitive part there. Maybe not exactly anti-competitive (but maybe): It requires you to have hundreds of megabytes of Google blobs with root permissions on your device, which some people don't like. If course this pales in contrast to Apples actions.
- namibj 6y agohttps://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation-Status https://github.com/microg/android_packages_apps_GmsCore/wiki... claims to support this without blobs. I haven't tested it myself, but some friends seem to have no problems with their de-googled Androids.
- posguy 6y agoPlease provide evidence of this "deep integration" with mobile networks. Moxie has cited this previously with no proof, despite protocols like xmpp performing similarly on mobile networks.
- namibj 6y agoThe second page, on the right, the last bullet point, suggests such deep integration: https://web.archive.org/web/20170708204409/www2015.wwwconference.org/documents/proceedings/proceedings/p355.pdf https://web.archive.org/web/20170708204409/www2015.wwwconfer... Whether FCM uses these technologies, I don't know. I lack the hardware to easily inspect the mobile radio traffic on the necessary level (the best would be a DIY stingray based on one or two OsmocomBB-capable GSM phones, maybe combined with a Faraday cage to place one of them into, together with the smartphone.
- Andrew_nenakhov 6y agoThe irony is, FCM is a modified XMPP
- thu2111 6y agoThere is integration. I don't know what it is these days but it used to be mostly carriers adjusting TCP timeouts on their NAT boxes. The issue is that a long lived TCP connection consumes some valuable RAM and a port number on a valuable IP address. It costs carriers something for push notifications to work, so, they tend to aggressively close long lived TCP connections that aren't going to recognised push datacenters. For that to work you need business relationships with the carriers of course, stable IP addresses, and enough users of your push service for it to be worthwhile. IPv6 would fix it by eliminating IP scarcity and CGNAT, but most mobile networks aren't provisioning handsets with IPv6 addresses.
- Andrew_nenakhov 6y agoOh come on. Push notifications is just a modified XMPP connection that exists in the background. Actually, both FCM and APNS use XMPP to transport notification to devices. The only 'special treatment' that happens is on Google/Apple servers which determine the priority of some of notifications. How do I know? We're very involved with the XMPP protocol. The irony is that it is insanely hard to maintain an XMPP connection to a client on both Android / iOS, despite devices under both these OSs being an always connected XMPP clients.
- namibj 6y agoWell, in your sibling I have linked a paper that talks about the negative effects of un-coordinated persistent TCP connections on the network's stability. I read a god chunk of it, and it seems to explain quite well why these push services get special treatment. Hint: it's connected to them running a keep-alive delay in the "hours" range for the mobile radio link, without imposing that on the cloud server.