this post was submitted on 13 Dec 2023
274 points (94.5% liked)
Technology
60133 readers
3022 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Imagine you have 20 apps that can send receive notifications from remote (messaging apps, offers, updates...). That would require each app to be active in the background and pulling updates. That's a massive battery drain.
Instead, the apps send the notifications to Apple/Google, and the OS checks for all of the apps. The apps don't need to be awake (the OS could show the notification or wake the app) and there's only one service checking for the ml notifications.
It's a massive oversimplifying and probably I made some mistakes, but that's my understanding. Hopefully somebody can correct me.
Apparently that's how it works.
I'd imagine a notification service on the phone that can receive or pull from all the various sources on behalf of the apps installed. That way the app servers don't need to hand the data to Apple/Google servers. It just seems like an extra step.
On Apple, there’s only one notification service. All notifications get pushed through https://en.m.wikipedia.org/wiki/Apple_Push_Notification_service which go through Apple’s servers
By doing it that way, you are all the sudden generating tens, if not hundreds of requests per minute to grab notifications for every platform and service, rather than just the one. With a unified approach, the phone can wake up in the background every 5 minutes and ping Google to ask for notifications. If everyone did it individually, your phone would never be able to go to sleep, and would CONSTANTLY be sending out requests to random servers. That also brings up security concerns, since you can get a vague idea of location data from a request, any app that can send notifs can soft track users. They would also open the door for one to be compromised, and send malicious info much easier than it would be to do thru Google. All around, its just a worse solution to the problem with one very small benefit.
Well, the problem is that every would need to have their own server with notifications waiting to be pulled (imagine your phone goes offline) and they need to be beefy enough to answer potentially thousands of requests per second. Almost impossible for small devs.
There's also additional battery need, as it's many calls and payloads, and if a server is slow it can affect all the other notifications. Plus more area of attack.
Not impossible, but I don't think it's the direction things will go.