Live data from Hacker News

Android now forces apps to include proprietary code for push notifications

reddit.com

91–100 of 284 posts

Re: Android now forces apps to include proprietary code for push notifications

#91
post #51

So to summarize, to save battery all notifications on Android (since two versions ago) have to go through a single notification service (rather than each app having the option of continuously running in the background and maintaining a connection with its own notification service). Recently Google killed their GCM notifications service in favor of Firebase Cloud Messaging, which (unlike GCM) unfortunately doesn't hav…

The phrase "running continuously" makes it sound like they are doing something... but they aren't: they are blocked reading on a socket. The only time they would run is if they receive information, which is exactly when they would run anyway (as they got a notification). The difference in battery usage would essentially be down to subtle effects caused by the private memory of that process (which might be negligible) not being able to be used as a cache to make some other process more effective. The only reason this would matter is if the processes are forced to wake up occasionally to actively send some kind of keepalive on the socket (which would be an arbitrary requirement caused by the network), which still frankly would not necessarily use much battery if the OS does intelligent gathering of wakeups from multiple processes (like, it would exist and be measurable, but seems strange to me to be something to care about as the phone is probably already waking up every now and then to do other stuff Google wants). I mean, if the notification comes in and the app wouldn't have to wake up to process it normally (which might prevent paging some executable code in from flash) and the notification itself could be delayed into some kind of batch, then maybe? Apple actually does do some of this kind of stuff on iOS: I would bet Google doesn't.

Re: Android now forces apps to include proprietary code for push notifications

#92

Earlier quoted context omitted.

In my experience, Firefox with the Bitwarden addon installed syncs well without requiring you to install any Google services. The obvious downside being that you need to open Firefox to copy your password, but that can probably be worked around by adding a shortcut to the Bitwarden addon page to the home screen. I don't know what you mean with "one tap away from losing all your tabs" though, perhaps you have an issue…

I forgot to mention that I keep Firefox just for Bitwarden extension. Though I usually just copy the password on my PC, and KDE Connect syncs the clipboard. I also try to be logged into as few services as possible on my phone, in case someone steals it while the phone is unlocked. Since the phone is rooted, determined thief would have many opportunities. By "one tap", I meant the "Close all tabs" options next to "New…

> By "one tap", I meant the "Close all tabs" options next to "New incognito tab".

Don't use the menu -- it feels like the less obvious option anyway. Use the mask icon to switch to private tabs and open one from there.

Re: Android now forces apps to include proprietary code for push notifications

#93

Earlier quoted context omitted.

In my experience, Firefox with the Bitwarden addon installed syncs well without requiring you to install any Google services. The obvious downside being that you need to open Firefox to copy your password, but that can probably be worked around by adding a shortcut to the Bitwarden addon page to the home screen. I don't know what you mean with "one tap away from losing all your tabs" though, perhaps you have an issue…

I forgot to mention that I keep Firefox just for Bitwarden extension. Though I usually just copy the password on my PC, and KDE Connect syncs the clipboard. I also try to be logged into as few services as possible on my phone, in case someone steals it while the phone is unlocked. Since the phone is rooted, determined thief would have many opportunities. By "one tap", I meant the "Close all tabs" options next to "New…

Maybe it's because I'm using Firefox on Linux, but I couldn't find a Close all tabs button or menu entry. There is even an extension for that [1]. Closing all tabs wouldn't be the same as closing the window they belong to?

[1] https://addons.mozilla.org/en-US/firefox/addon/close-all-tab...

Re: Android now forces apps to include proprietary code for push notifications

#94
And through this, the FBI/GCHQ will get their much-wanted "targeted" malicious updates vector for which they've been asking for a while.

If Signal has to implement it, I assume the FBI will ask Google for the ability to insert itself in the proprietary code in some updates from day 2.

Re: Android now forces apps to include proprietary code for push notifications

#95

Earlier quoted context omitted.

Thought experiment: write an application that automatically downloads and combines code with all sorts of legally incompatible licenses to create an application and installs it on an Android device. If personally doing it is legal (and basically unenforceable), what about making it easy for others to? Besides, unless you're a "radical Stallmanist" (for lack of better term), chances are you have a mix of proprietary a…

IANAL, but I think that would be regarded as a circumvention device by a court. I hope you're not basing your opinion regarding laws entirely on this contrived case :)

which 'effective' access control prevention would this circumvent?

Re: Android now forces apps to include proprietary code for push notifications

#97
post #91
post #51

So to summarize, to save battery all notifications on Android (since two versions ago) have to go through a single notification service (rather than each app having the option of continuously running in the background and maintaining a connection with its own notification service). Recently Google killed their GCM notifications service in favor of Firebase Cloud Messaging, which (unlike GCM) unfortunately doesn't hav…

The phrase "running continuously" makes it sound like they are doing something... but they aren't: they are blocked reading on a socket. The only time they would run is if they receive information, which is exactly when they would run anyway (as they got a notification). The difference in battery usage would essentially be down to subtle effects caused by the private memory of that process (which might be negligible)…

The main issue with what you're mentioning is usually the fact that only Apple and Google servers tend to be whitelisted on telco routers for long polling connections. Trying to keep long-running HTTP connections for everyone else tends to be extremely hard on battery life since telcos can kill of connections even as often as 2 - 5 minutes. Powering up the main core and radio so often will make your phone hardly last 12 hours.

Re: Android now forces apps to include proprietary code for push notifications

#98

Earlier quoted context omitted.

Thought experiment: write an application that automatically downloads and combines code with all sorts of legally incompatible licenses to create an application and installs it on an Android device. If personally doing it is legal (and basically unenforceable), what about making it easy for others to? Besides, unless you're a "radical Stallmanist" (for lack of better term), chances are you have a mix of proprietary a…

My understanding is that what you describe is completely legal. ZFS on Linux is a good example of this. ZFS and the Linux kernel are both open source, but their licenses are incompatible with one another—ie, you can't combine the code. A common workaround for this problem is to compile the source on the user's machine. When you install ZFS in Debian, apt will automatically download the ZFS and Linux source code, reco…

Note - Debian only compiles and installs a kernel module for ZFS, which isn't quite as extreme as compiling the entire kernel.

Re: Android now forces apps to include proprietary code for push notifications

#99
post #26

> 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". This is a standard on the industry. From 1999: https://www.theregister.co.uk/1999/11/05/how_ms_played_the_i... It doesn't matter how much money Google is going to have to pay in the future as a fine for this practice. The amount of money that th…

It should also be added that the whole backend is proprietary (and was for GCM as well) and is being maintained and paid for by Google.

Having said that, making firebase-messaging GPL-compatible library seems to be something that should make a lot of sense for Google to allow GPL apps to be released on the platform.

Post reply on HN