5 ms·
Notifications, as you rightly mentioned, are a huge problem with Android. Some manufacturers implement battery saving measures which force kill applications so
by me551ah 8y ago
Notifications, as you rightly mentioned, are a huge problem with Android. Some manufacturers implement battery saving measures which force kill applications so they can no longer process notifications.
I used to work at a team messaging startup Flock and we used to get a lot of complaints from users about missing notifications. We were able to detect impacted users and reduce complaints substantially using duplicate acks from xmpp fcm and app. The details are outlined here in case anyone wants to check out: https://hackernoon.com/notifications-in-android-are-horribly-broken-b8dbec63f48a https://hackernoon.com/notifications-in-android-are-horribly...
- dep_b 8y agoThat's a pretty horrifying story about those push notifications. The biggest use case of my customers for creating native apps around web apps for iOS is push notifications, that's immensely huge for businesses. Losing push notifications means your application loses it's value.
- sgc 8y agoAlthough probably not push itself as a mechanism, this interfering trend is so bad that for a time I could not find a timer or alarm that would actually ring at the right time. I have one now, but there should have been zero instances of failure to notify for a timer.
- Arnt 8y agoOn the other hand, there should also be zero instances of battery-burning apps, and zero instances of unkillable apps. IMO the blame belongs mostly to the thingies that kills apps so hard that Android blacklists them, and won't start them again until the user explicitly does it. That Android has that blacklist is understandable; that "battery savers" get innocent apps added is IMNSHO offensively shoddy.
- sgc 8y agoI had no idea they did that. Does Greenify work that way?
- Arnt 8y agoNever tried Greenify. But the two I've seen close apps in a forcible manner that Android cannot distinguish from a buggy app that crashes repeatedly when restarted. Then Android revokes the app's right to (re)start itself. The user retains that right. But the app cannot e.g. schedule anything to be run next time the phone is on WLAN, or next time the battery is being charged.
- fyfy18 8y agoWhy does push notifications on Android require the app to be running? On iOS, as I understand, you tell Apple to send a notification, which is received by a service on the device, which triggers your app to do a little processing and show the notification - why is Android any different?
- krtkush 8y agoIf you still know people working over there please let them know that the slack wannabe messaging app is a dumpster fire. I struggle with it every day at work. Edit: I realise I came across a bit too aggressive. Apologies for that.
- me551ah 8y agoYou could also use 'Send Feedback' from inside of the app and send in your issues to the devs. I've found that the developers are pretty responsive to feedback and reply back quickly. It has 4.3 rating on the store.
- reaperducer 8y agoI doubt anyone is going to log a trouble ticket for "dumpster fire."
- yen223 8y agoThe current Android app development landscape seems to be where the web was circa 2005, where you have a "standard" Android API (except without an actual standard), implemented a million different ways based on the whims of each individual vendor. Compounded by the problem that Google seems to enjoy replacing parts of the API every single year for no discernable reason. I do not envy the job of an Android developer.
- pjmlp 8y agoThe best part is having Google supporters defend that Android is not as fragmented as J2ME. In a sense they are kind of right just in a wrong way, OEMs got even worse.
- Zenst 8y agoNotifications need teirs. You have notifications, that are not important, so low priority. But equally you have notifications that are important, those should be sent and logged message queue style, so they stay on the send queue until processed and processing acknowledged by the client.
- me551ah 8y agoActually Google does have the concept of priority in Notifications. https://firebase.google.com/docs/cloud-messaging/concept-options https://firebase.google.com/docs/cloud-messaging/concept-opt... . On a Google/Stock Android OS and on some good manufacturers like motorola notifications do work as expected. It's just the custom battery saver stuff that some manufacturers implement on top of Android which causes issues. Google doesn't have much control over the privileged process that manufacturers install on devices.
- dredmorbius 8y agoUser- or sender- determined? One of those never works.
- fprotthetarball 8y agoThe user determines the priority of notifications per-app and per-app-notification type (using notification channels) and configures how the notification is allowed to interrupt them. https://developer.android.com/training/notify-user/channels https://developer.android.com/training/notify-user/channels
- dredmorbius 8y agoThat at least ... stands a chance ... of working. Though in my experience, any notifications is too many.
- paulie_a 8y agoApps developers seem to think their notifications are more important than they really are. Yet somehow the time sensitive notifications don't show up. but it's awesome I was notified and interrupted throughout the day about a new ___. I personally have cancelled paid services and uninstalled apps because of that abuse. And yet useful apps have issues with notifications even without battery saving measures. It's not just a single app, it's been a consistent issue.
- bootlooped 8y agoIt's been possible to turn off notifications on an app-by-app basis for at least 2 years. The settings are pretty granular in the newer versions of Android, you can set it so that an app does not interrupt you in any way, and you'll only see the notification once you unlock your phone. However, if a single app is mixing in, say, 5 frivolous notifications with 2 critical ones, I don't think there is any OS-level way to deal with that. https://www.howtogeek.com/204187/how-to-disable-app-notifications-in-android/ https://www.howtogeek.com/204187/how-to-disable-app-notifica...
- paulie_a 8y agoThe problem is that some notifications for a particular app are useful. It just seems like the creators of the app feel all of their many notifications are equally important. It's granular to the level of "all or nothing" in most cases.
- reaperducer 8y agoAgreed. I deleted the Starbucks app from my iPhone because Starbucks decided to use spam notifications. Same for 9to5 Mac. Ditto for the New York Times, my local media, and even the BBC. I just want an app that will send me notifications about breaking news. Breaking news that is actually important breaking news, and not "See our profile of some celebrity you don't give a crap about in tomorrow's New York Times!" Sadly, the only news app I have left that's permitted to access notifications is Sky News. And even it spams on occasion. But it seems to be only around once or twice a month.
- HillaryBriss 8y ago> force kill applications so they can no longer process notifications I saw your article about push notifications on certain android phone manufacturers and found it interesting -- something I hadn't seen before. Nice! But, if I'm not mistaken, the OP is focusing especially on android notifications raised by the app itself rather than push notifications. I'm not sure, but it seems like the problem he highlights involves compatibility-mode changes to the way apps run code while the app itself is also in the background. Or, it could be that the app developers are not using the officially recommended soup of background processing job scheduling classes the way Android says they should. Or, maybe that soup of classes isn't always as reliable as advertised.
- p2t2p 8y agoFrom what I know, Android app has to run a background service to listen for GSM notifications so if you kill it - no notifications for you. Am I being wrong, has it changed? My last android dev experience is about 5 years old.
- HillaryBriss 8y agoany app can raise a Notification i.e. a message box thingee that appears in the device's Notification Drawer. (this is different from a Push Notification.) and I think what the OP was talking about was this kind of Notification. i think he was saying that various apps that count on reliably running code in the background (e.g. when the app itself is in the stopped state and not visible on screen) are no longer able to reliably run that code in the background because Android decided not to let them do that on demand in a reliable way (in order to save battery). but that backgrounded code is what had been placing notifications in the Notification Drawer (when, say, the app became aware that there was a new email in your inbox or when a Calendar appointment was now one hour away, etc). as for push notifications, nowadays, Firebase Cloud Messaging is recommended. your app derives a service from FirebaseMessagingService and marks that service as "exported" in the manifest. and, you don't have to explicitly start that service. and, though i could be wrong, I think that service does not actually run in the background all the time. i think what happens is that some generic Firebase service invokes your app's service when a push notification has arrived for it. your app's service then processes that message as desired, and, if I understand correctly, it shuts back down. i believe Firebase is basically managing your service so that it does not have to run in the background all the time.
- rando444 8y agoPardon my ignorance, but why do you see this as an Android-only problem? Surely every possible operating system suffers the same problem, no?
- realusername 8y agoNo, only Android suffers of these hacky issues because Google allows manufacturer to customize Android way too much. Android is the modern equivalent of Windows XP themes if you want to compare.
- eyko 8y agoOr Linux distributions.
- dep_b 8y agoiOS notifications are in a separate system and do not need any part of the host app to be started to receive them.
- deleted 8y ago[deleted]
- bunnycorn 8y agoNot me551ah, but the problem with Android is that: 1. iOS is an Apple operating system. Every iOS device has a daemon running a service that connects with Apple's APNS (Apple Push Notification Service), and that service routes the notifications of every App to the user's device. APNS is non-negotiable, every iOS device has it running, and every App that wants to [reliably] deliver notifications must use it. It's part of the OS, so the OS won't kill it, in fact, if it crashes, the OS restarts it. It also means it's "well behaved", meaning it won't mine cryptocurrencies in the background (unless Apple breaks bad and decides that it's $1T value is not worth it anymore). 2. Android is not a strictly Google operating system. Google has it's APNS analogous, GCM (Google Cloud Messaging), but not every Android device has ties with Google, its open source, meaning millions (billions?) of Android devices out there are running without any Google ties. So in turn, many Apps device to have their own background tasks running all the time, with a persistent connection to the server to watch for notifications. Problem with this it's okay when you have 10 Apps with notifications, not when you have 100 Apps with notifications, each one having it's own background service. Some Android OEM's want their users to have great batt life and kill those background services, leaving notifications dead.
- wdr1 8y agoFunny. I never used Flock & would get spammed notifications (via SMS) from them. My 2012 Twitter thread: https://twitter.com/wdr1/status/255454270160244736 https://twitter.com/wdr1/status/255454270160244736 It later which switched to email wherein the justification was "growth strategy."
- reaperducer 8y agoMy 2012 Twitter thread: Nope. This account's Tweets are protected.