News for hackers. Stuff that matters.
Re:Why I won't recommend Signal anymore by clumsysmurf on Saturday November 05, 2016 @01:28PM (#12880773)
Unfortunately, Google has made it (almost) impossible to wake up the phone via some external event without using its proprietary GCM. Even though GCM is not part of AOSP, it has unique status on the platform that can't easily be replicated (without recompiling the kernel, etc like the article mentions).

Before the days of doze mode & other battery optimizations, you could just listen & block on a socket, then let the phone go to sleep. Incoming 3G packets would wake up the phone, you grab a wakelock, then start doing things. From what I remember, at least a while ago Facebook Messenger did this using MQTT. But this is not possible any more.

Re:Why I won't recommend Signal anymore by lima on Saturday November 05, 2016 @04:35PM (#12881747)
It works quite well for me with the Conversations Jabber client with no discernible battery usage impact.

Did something change in recent Android versions?

Edit: Apparently Nougat's Doze is the issue. Conversations bug report, you can apparently put it on a whitelist:

https://github.com/siacs/Conversations/issues/1624

Re:Why I won't recommend Signal anymore by Mathnerd314 on Saturday November 05, 2016 @01:49PM (#12880869)
Kind of tangential, but GCM is deprecated and you're supposed to use Firebase Cloud Messaging now: https://firebase.google.com/docs/cloud-messaging/

It's still just a JAR (no native components), so AFAICT there's no technical reason someone else couldn't do a similar thing with their own servers.

Re:Why I won't recommend Signal anymore by kuschku on Saturday November 05, 2016 @01:53PM (#12880900)
> It's just a JAR (no native components)

I’ve reversed it, and rebuilt an alternative

The jar you include actually opens just an IPC channel to the Google Play Services framework, which runs with system permissions, and handles the actual stuff.

You can’t implement your own FCM without having root access on EVERY Android phone out there.

Re:Why I won't recommend Signal anymore by Mathnerd314 on Saturday November 05, 2016 @02:21PM (#12881074)
Maybe not. Although there's this guy: https://eladnava.com/pushy-a-new-alternative-to-google-cloud..., it seems like his library doesn't work very well after Nougat.
Re:Why I won't recommend Signal anymore by kuschku on Saturday November 05, 2016 @02:55PM (#12881279)
From Android 6 on, Doze just terminates apps running in background after a while. The only network access that is allowed is GCM.

Which causes the entire issue.

I wrote a complaint to the EU privacy official responsible for them and the EU antitrust committee.

Re:Why I won't recommend Signal anymore by codethief on Saturday November 05, 2016 @07:40PM (#12882528)
That's an excellent idea! Do you have a blog or something where you're going to post when (if) you get a response?
Re:Why I won't recommend Signal anymore by chimeracoder on Saturday November 05, 2016 @01:39PM (#12880816)
> Before the days of doze mode & other battery optimizations, you could just listen & block on a socket, then let the phone go to sleep. Incoming 3G packets would wake up the phone, you grab a wakelock, then start doing things. From what I remember, at least a while ago Facebook Messenger did this using MQTT. But this is not possible any more.

It's not a coincidence that the Facebook app was known for being an absolute battery killer. Go to any android forum post about battery life from a year or more ago and you'll see that the first suggestion is always "have you tried removing Facebook?"

Re:Why I won't recommend Signal anymore by ditn on Saturday November 05, 2016 @01:44PM (#12880845)
That's still the case now, just for different reasons.
Re:Why I won't recommend Signal anymore by funkyy on Saturday November 05, 2016 @01:46PM (#12880853)
That's why Facebook Lite is great way to get rid of battery draining Facebook app.
Re:Why I won't recommend Signal anymore by ucy on Saturday November 05, 2016 @07:04PM (#12882401)
That's very easy to manage. Every random 15-60 minutes a gcm/firebase message containing an encrypted payload with "you got this mail/no mail for you sir". So google cant get your frequency of use.
Re:Why I won't recommend Signal anymore by caf on Saturday November 05, 2016 @07:19PM (#12882453)
It's my impression that most people use Signal as an SMS app replacement, and in that environment people would not find a random 15-60 minute delay until their phone tells them about an incoming message to be tenable. I certainly wouldn't.
Re:Why I won't recommend Signal anymore by bitmapbrother on Saturday November 05, 2016 @10:30PM (#12883130)
>Unfortunately, Google has made it (almost) impossible to wake up the phone via some external event without using its proprietary GCM

No, fortunately Google has made it impossible for apps to abuse waking up the phone.

Re:Why I won't recommend Signal anymore by Drdrdrq on Sunday November 06, 2016 @04:32AM (#12884282)
No. Apps can abuse waking up the phone all they want (and as much as user lets them), as long as they do it via Google's servers. What they can't do is bypass GCM/FCM. Nothing to do with UX.
Re:Why I won't recommend Signal anymore by bitmapbrother on Monday November 07, 2016 @05:51PM (#12895985)
Any apps that try to abuse it will quickly be flagged by Google for analysis.