this post was submitted on 11 Dec 2023
365 points (87.9% liked)
Technology
59559 readers
3618 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 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The general design is a single system component wakes up the device when it’s sleeping (such as during screen off) and checks in with Apple/Google servers to see if there are any notifications.
Why?
Imagine if every app needed to wake up your device and make network requests to check for notifications etc. The more apps, the faster your battery drain as a queue of apps grows, constantly waking up your device to call home and check for notifications.
Hence Push Notification Services. Instead, developers send a notification to Apple/Google who then pool those notifications with notifications from other apps/developers. Then the single notification service on your device periodically wakes up the device and checks for notifications.
Additionally, push notification systems by OSs are designed with efficiency and minimal networks requests and bandwidth utilisation so an app can’t chew up user’s data quotas due to being poorly written.
TL;DR: It saves battery and network data, enabling users to use more apps.
I'm curious why "push notifications" really act like "pull notifications." Your phone has to request updates from Google/Apple's server. You're still just polling a server frequently. Why is it not the other way around? Why is your phone not the server, and Google/Apple make the "request" to your phone?
Phones are very dynamic devices constantly migrating between unknown networks, they suck as a server.
Plus the whole point is to control device wakeups. The opposite is true for a server.
The term “push notification” comes from how it enables developers to “push” users, even when they’re not active.
An app developer can (potentially) vibrate a device, make it emit noise, flash a light, appear on the screen, and exist in a set of notifications pinned to the tops of the screens.
Check out Three Minute Games’ mobile game series Lifeline. I think that it beautifully illustrates “pushing”. How the game pushes you to help someone survive in real time, through messages that appear alongside your real notifications.
The game tells you when you’re playing, not the other way round. Buzz buzz, come and play with me.