Android forces apps to include proprietary code for push notifications
27 replies, posted
FOSS messaging apps such as Telegram-FOSS, riot.im, and other free software apps that need push notifications, are facing a wall.
Google started leveraging its de-facto monopoly on Android distributions by forcing all apps to use its proprietary service Firebase for push notifications. Problem: The Firebase Android client library is proprietary, meaning FOSS apps can not use it. Apps that do not comply are reported to the user as "using too much battery".
The Telegram-FOSS team writes
"Despite Google's misleading warnings, there is no difference in battery usage [...]". The warning is sure to frighten most users, though, effectively making Android a less open platform.
Since one can't use Google's push messaging in a FOSS app, Telegram-FOSS has to show you a notification to keep the background service running. Otherwise, you wouldn't be notified about new messages.
Google, you made Android for the express purpose of being open source and free to everyone. What the fuck is this?
It's not just the fact that the functionality for push notifications isn't there anymore, it's the fact that it actively lies by stasting it uses more battery.
objectively it does
FCM is bundled into the heartbeats that GMS already makes anyway
it's free from a battery perspective, third party listeners are not
Saying that those apps use more battery isn't false, though, it's accurate.
So much of the android features are in google play services that the whole "android is open source" is a huge joke. Most of the apps would not be able to do such basic tasks as GPS location retrieving without play services.
This is only tangentially related, but it's another fun story about google and firebase:
We use Firebase for push notifications in one of our apps.
About 8 months ago, Google removed our app from the play store.
Apparently we were violating Google's rules about using an advertising identifier (you can find a lot of other similar stories around the same time).
This troubled me, because we don't touch anything like that.
What I learned was that Firebase, by default, was using the advertising identifier for no good reason.
It was an easy fix, I just had to add a flag to a build variable or something and then our app was back on the store,
but I still find it amusing/troubling that Google removed our app from their store because their own library was misbehaving.
Never really been their long term goal, AOSP has always been separate from the core Android business project, and each year it furthers more and more apart
Google doesn't give two shits about open source. They only care about getting the advantage through any means possible. In many cases open source support just happened to be in their best interest. Now that they feel it no longer is, they will pull every dirty move they think they can get away with to force people to bow to them.
Since one can't use Google's push messaging in a FOSS app, Telegram-FOSS has to show you a notification to keep the background service running. Otherwise, you wouldn't be notified about new messages
This would 100% increase battery usage. This is known as a wakelock and fucking destroys battery life.
It has to show it because there's no other way, not because they want to.
Right, and by showing it they use up a large amount of battery life.
Which causes Android's warning about battery life to appear.
Because the app is, in fact using more battery life.
They state that "Despite Google's misleading warnings, there is no difference in battery usage between v4.6 in "true background" and v4.9+ with notification." "
I'm sure they've done testing on how much of a battery impact their service has.
I use Blokada ad blocker, which requires an always on notification otherwise it won't work (thanks Google!).
https://a.uguu.se/AWPENIUOK6zz.png
oh wow look it's using 0.8% compared to Google's 9.5%
one app vs a service that's used by many
not a fair comparison
I think they say "app X uses more battery without FCM" because the battery use from FCM isn't included in the app's statistics, but on Google services, so that's a false statement.
Telegram is the only app with propper notifications. I get them within a few seconds. Meanwhile things like Yahoo mail and others sometimes take hours or until I unlocky phone screen. But this sounds like googles typical bullshit.
I'm so sick and tired of Google's bullshit in all areas. I wish another OS would gain traction on phones, specifically one that is actually properly open-source - not just halfway.
I wish people had given windows phones a better chance. The hardware was there. The os was fucking amazing. It just didn't have any apps.
I had several windows phones and fucking LOVED all of them.
Yeah, I used to own one. The OS was great but... app support was abysmal, and that's in part because of Microsoft putting really dumb limits on the API. You couldn't even track your data usage.
Microsoft didn't give it the care it deserved.
I mean, android sucks, but at least the core is open, and generally in most phones you can change the OS, I think this has only recently been possible in windows phones.
Sailfish OS is probably the closest thing we have to that, but it's still pretty early and only really ported to run on a handful of devices. Other than that, maybe if Samsung was crazy enough to abandon Android and go full Tizen.
Honestly, I don't think there's room for another OS to enter the smartphone market at least commercially. Apple has the premium sector covered, while Android dominates everything else. Whatever OS comes out would have to have pretty much every big player in terms of apps on board from launch with a big name OEM backing them up, otherwise, nobody will give a fuck.
Not to mention familiarity. Even if you make the device super cheap, why would your average consumer pick up this device for, say $100, when they can get an Android experience they're familiar with for the same price?
They've been doing this for a while now with system apps.
For example, the open source media player was replaced with Play Music, and it was deprecated.
Messages was replaced with Hangouts and now Google Messages. Old app deprecated.
Internet browser was replaced with Chrome. Old one was deprecated like the rest.
It's the first time they've been doing it to system features however.
I don't have google play services on my phone. You just have to disable the battery usage notification, yes it uses more battery than firebase but it's such an insignificant amount that you will not notice.
It's definitely an ethical issue, but if you're using FOSS applications you're likely technologically-savvy enough to fix this.
Not necessarily, what this does is make adoption of foss applications harder, you don't need to be tech savvy to use one.
Are you using microG?
No I am not.
Sorry, you need to Log In to post a reply to this thread.