8 ms·
Not to mention that Android also lacks a lot of restrictions that iOS has, JIT code = no problem, mono for android has many more features than the iOS one for t
by problems 10y ago
Not to mention that Android also lacks a lot of restrictions that iOS has, JIT code = no problem, mono for android has many more features than the iOS one for that reason. You also don't have to use Google Cloud Messaging, you can do your own push notifications via IMAP, XMPP, etc. (Assuming you and your users are okay with pushing an 'okay I'm willing to sacrifice some battery life for this' button). Mapping components that use OSM are freely available, etc.
Heck, you don't even have to use their phone app, you can install a SIP client. It's perfectly possible to use Android as it exists in AOSP without Google stuff at all. Some 3rd party apps may want to use things like Google Maps embedded, but there are projects that replace those and an Xposed module to fake the signatures to match. The Google-less Android system is really a decent experience if you're willing to put the work in to it.
- kuschku 10y ago> (Assuming you and your users are okay with pushing an 'okay I'm willing to sacrifice some battery life for this' button) That doesn’t work in Marshmallow, due to a bug, even if the user opts out, it will still disable the app during Doze. The bug has been fixed in later versions, but you as a dev obviously can’t just leave a huge share of your users without working push notifications.
- problems 10y agoI'm running marshmallow and I use SIP constantly - is this fixed in CM? Because as far as I know I haven't had any issue here, could just be that my phone doesn't Doze for another reason though.
- kuschku 10y agoSIP works, but excepting a native app from Doze doesn’t. For example, if an app has its own push notification system, even if it is whitelisted, it will be terminated during doze.
- problems 10y agoI'm unable to find any reference to this issue on Google. Is it device or ROM specific perhaps? Surely another constant connection like SIP would also be terminated, no? I don't see how that would differ from another push notification system. edit: to be clear I'm using a 3rd party SIP client (Bria), which I have indeed excepted via this method.
- kuschku 10y agoNo, but this is a bug, confirmed by Dianne Hackborn on G+
- problems 10y agoAre you referring to https://code.google.com/p/android/issues/detail?id=193802 https://code.google.com/p/android/issues/detail?id=193802 perhaps? This was fixed at https://android-review.googlesource.com/#/c/221708/ https://android-review.googlesource.com/#/c/221708/ and probably merged into many custom roms generated since. It also only occurred under fairly specific circumstances. EDIT: Yup, https://romhut.com/versions/cm-13-0-20160508-v8-0 https://romhut.com/versions/cm-13-0-20160508-v8-0 indicates it's been in CM for a while, which is probably why I haven't experienced it. Dianne Hackborn fixed this as far back as November 2015, it might have made it into 6.0.1 on some devices too, though I could be misreading.
- kuschku 10y agoYup, it got fixed on some devices, but the Nexus 5, for example, never got the fix. This leads to the problem that you, as a dev, either have to leave a huge amount of users without working push notifications, or use GCM anyway.
- madeofpalk 10y ago> Assuming you and your users are okay with pushing an 'okay I'm willing to sacrifice some battery life for this' button This is the fundamental difference in philosophies behind Android and iOS. Apple likes to build their software (most of the time) like Python - its an opinionated platform that strives to make that best decisions for users. They've determined there's very little user benefit from having multiple push notification services, and they don't want to give users a way to shoot themselves in the foot by enabling such a setting that would impact battery life like that. Many of Apple's decisions can be viewed through that lense.
- problems 10y ago> They've determined there's very little user benefit from having multiple push notification services, and they don't want to give users a way to shoot themselves in the foot by enabling such a setting that would impact battery life like that. Well, I'm the user and I've determined that I'd rather not send private data through their servers, that I'd rather be able to do things like run a proper IMAP, XMPP, SSH or SIP client on my device without disconnections, etc. Those seem like pretty major use cases to me, ones which Apple shouldn't be making decisions for the user about. If I ran an Apple device I couldn't use SIP and I'd be required to pay 4x as much for a phone plan rather than using a cheap data-only tablet plan for example. That seems prohibitive to say the least...
- madeofpalk 10y agoYup. That's fine. Apple's made an opinionated decision (which IMHO probably suits the masses). If you want to make a different decision and don't want Apple to handle your notifications you can disable push notifications system wide, or switch to another platform. This is of course ignoring that the user doesn't get much of a say in what push notification delivery mechanism is used - that's up to the developer. But, to be honest, if you don't trust Apple to handle your push notifications then I doubt you would trust them to do much else, and you should choose another platform.
- problems 10y ago
- lucb1e 10y ago> You also don't have to use Google Cloud Messaging Unless you want Signal, which everyone (rightly) recommends. Finally off of almost every Google service, wanna install the latest and greatest encrypted chat app... too bad. But I recently heard Signal is finally working on it (after they closed my Github Issue as wontfix/by-design a year or two ago).