4 ms·
I don't think it'll fly, here is why: Our product is a XMPP client, which can't work if it is not actively running in the background, so we were working with m
by Andrew_nenakhov 7y ago
I don't think it'll fly, here is why:
Our product is a XMPP client, which can't work if it is not actively running in the background, so we were working with making apps run in background on Android for over 10 years, since version 2.0.
The trend is clear: with every update, we get more restrictions. Not only bg services are killed off from memory by aggressive memory managers of crappy phone vendors, Google themselves push developers to rely on proprietary FCM services. The writing is on the wall, and one day background services in Android will simply cease to work, all in the name of better battery life and customer care. So this OpenPush service will be short lived, it'll likely be disallowed to work in this form in Android 12 or 13.
The only proper long-term solution here is an anti-monopoly legislation, that would make Google allow Android users to subscribe to a third-party push notification service. Such service is, actually, a relatively simple: current FCM is just a modified XMPP connection that a phone keeps, and it will be easy to replicate and deploy.
Apple is guilty of this, too. A proper anti-monopoly legislations should target them as well, and not only make them allow third-party app stores, but third party push notifications as well.
This control of push notification services and restriction creep that occurs on both platforms makes Google's and Apple's grip on their respective OSs much tighter than Microsoft's grip on Windows ever was. This tyranny must be stopped, and I don't believe it can be done without legal action, by technical means only.
- est31 7y ago> one day background services in Android will simply cease to work, all in the name of better battery life and customer care. In that instance, having an app which centralizes the push service needs of other apps would be highly useful, as it could then be installed as a system app with the same kind of access as the FCM service. For many phones, custom ROMs are available. Average people probably won't have the skills to install custom ROMs. But the goal of OpenPush is not to replace FCM from all phones everywhere. It's to meet the needs of the subcommunity of people who want to use degooglified Android, maybe also later on integrate with non-Android mobile OSs. In that subcommunity, people likely already use custom ROMs, and among those who don't, the readiness is higher to install one.
- Andrew_nenakhov 7y agoYou see, unless this app is built in a custom ROM, it will cease to work, too! Because it needs to be running in the background and maintain connection to push server.
- anderspitman 7y agoThe filesystem APIs are moving in a similar direction if I'm not mistaken? Less and less control for developers. It makes me sad, but also gives me hope that there might be a legitimate opening for a 3rd mobile OS to enter the market, built around OSS and privacy. Sometimes it's hard to keep the dream alive though. So many attempts have been made.
- greatjack613 7y ago100%, I was one of the many vocal devs on the android bug report who complained about the change of scoped storage. They caved in for the current release, but they are going to force it in android 11. On the bright side I think this will cause android engineers to become more of a specialty as the platform migrates more and more from just another java implementation to a whole new world of apis!
- anderspitman 7y agoThat's a heck of a bright side
- Andrew_nenakhov 7y agoExactly. Ten years ago, Android was a GNU/Linux computer, you could do a lot with it. Now Android is a set of APIs.
- snarf21 7y agoThe problem is that every app thinks that they must run in the background. Every app must have millisecond push updates for their social media network that another Like was just received. Worse yet, most of them don't know how to do so in a symbiotic way. It makes complete sense that OS manufacturers have taken a stand to protect users from bad developers. They don't want the blame and they want to keep selling devices. It is a tough spot. How do you have open app stores and not have them filled with malware? Android hasn't figured this out yet. Users are dumb and will just click on anything. They need to be protected from themselves sometimes.
- Andrew_nenakhov 7y agoWell, it's understandable that many apps want to run as a regular process. Good old UNUX was and it's GNU/Linux descendants are quite OK with it. The users have control and can choose which apps to run and which not. If some app misbehaved, it was up to a user to identify it and remove a problem. But Google decided that it will be our nanny and will guard all users against misbehaving apps, whether the users asked about it, or not, and you can't refuse this care. That is tyranny and should be fought against. Now, I don't think that push notifications are bad. They are rather good idea and let them be. It is the monopoly on push notifications which is bad. > How do you have open app stores and not have them filled with malware? Long before the 'app store' term was coined, Linux had software repositories, which worked like magic, and without issues: sudo aptitude install libreoffice Boom, you now have libreoffice on your PC! If repositories had massive problems with malware, I'm not aware of them. So it was done decades ago and can be done again.
- jaywalk 7y agoComparing Unix/Linux running on a PC and a iOS/Android running on a smartphone is insanity. And comparing software repos with app stores is just as bad. I'm not even quite sure how to address what you're saying, because it's just so completely out of touch with how smartphones are used.
- cutemonster 7y ago
- jayd16 7y agoI'm conflicted. Its not like I want the same situation of many background services and tray icons you see in Windows on my mobile device.
- jml7c5 7y agoI think it's alright to have the _option_ to keep a background service running, as long as the user is kept informed of the power impact (preferably with hard numbers). There are some use cases where it's the most reasonable option.
- swiley 7y agoI really like the web push notification architecture: you register with the service you want to be notified from (like a chat server or an IRC not) and give them an ID from the push notification server your device listens to. There’s no extra control outside of the user and the services they want to talk to (I think you can even host your own on Firefox), no vendor lockin, and the power and bandwidth usage are all great. There’s too much money to be made breaking useful push notifications and charging for ads though so I’ll be shocked if it ever gets done right on popular consumer devices.
- yencabulator 7y ago> so I’ll be shocked if it ever gets done right on popular consumer devices. Seems to work nicely on my Android. Which would imply it's already done. (I'm sure greed will ruin it at some point, somehow.)