Hacker News new | past | comments | ask | show | jobs | submit login

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.




The 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.


Well, 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.


Comparing 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.


> Comparing 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.

Strange idea. How is comparing two types of consumer-market computers and ecosystems is "insane"?

The parent comment is pretty legit IMHO.


Calling Unix/Linux a "consumer-market" OS is quite a stretch.


You should update your knowledge of modern operating systems.

My mom and my wife parents are extremely happy with Ubuntu computers. They do browsing, email, Skype, print stuff and whatever else they need just fine. That are way more happy with Ubuntu than they were with Windows, and I am, too, cause in the last three years I have spent exactly zero minutes maintaining their computers. If that's not a consumer-market OS, I don't know, what is? Windows? When mom used it, she always had one problem after another with it. I'm truly sorry for anyone who has to deal with it every day.


I like the idea of being able to connect my phone to different software repos.

Play Store would be one among many.

I think then there would soon be curated repos for well behaved apps that don't abuse push notifications and background abilities.


That is basically what f-droid allows you to do, add different repos. Though google play doesn't provide a repo that fdroid, obviously.


Alternative app stores are not a problem on Android. There are lots of them. Alternative way to deliver push notifications is a problem. Currently, to solve it in a satisfactory fashion you need an alternative ROM to connect to a different push service.


> Well, 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.

On the other hand, we invented inetd so that we didn't have to keep server processes running all the time when they are only lightly/sparsely used.


Not really -- on Linux, I can (and I do) disable the daemons. Moreover, most apps are sane, and work well without background daemons (KDE/Gnome being the exception, but they offer no unique functionality not available anywhere else)

This is not the case on Android. Looks like every app wants to run in the background and drain my battery. Even seemingly foreground-only things like maps apps install background services.

Ideally, I'd prefer to have an explicit list of apps which are allowed in background.. but missing that, I guess I will have to settle on automatic guarding.


The reason you don't have a way to disable a background app on Android is because you don't have means to do so. Google could have made controls easily, but they give you automatic guarding instead, which you can't refuse.

What are Google's motives? Do they really care about their users, or do they simply want more control over user devices?


The battery usage reports on Samsung phones are pretty well done, with graphs and all.

Users will also be prompted to kill an app if it's detected running in the background a lot. That's perfect because there are many cases where only the user knows whether the app updating in the background is important to them or not.


I 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.


> 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.)


The 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.


100%, 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!


Exactly. Ten years ago, Android was a GNU/Linux computer, you could do a lot with it. Now Android is a set of APIs.


That's a heck of a bright side


> 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.


You 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.


I'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.


I 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: