This strikes me as HN’s own unique style of toxic positivity.
They’re using push notifications. That’s not amazing engineering work. It’s literally a built-in, supported, documented feature:
“Pushing background updates to your App — Deliver notifications that wake your app and update it in the background.”
https://developer.apple.com/documentation/usernotifications/...
The payload supports custom keys that may contain arbitrary application data.
It’s also the trivial, obvious approach to anyone who asks the question “how can I push data to the application when it’s not running.”
It’s also the trivial, obvious approach to anyone who asks the question “how can I push data to the application when it’s not running.”
No other app has updated its app state based on the content of notifications. Slack/Discord/Teams et al (the ones that aren't allowed on free messaging plans) will show you previously cached messages and then an infinite spinner when you open it. Fastmail/Gmail/Outlook et al will show you existing emails but not load the new ones.
Could other apps do this? Surely. Do they? No.
All it requires is reading the two pages of documentation for this supported feature:
“Pushing background updates to your App — Deliver notifications that wake your app and update it in the background.”
https://developer.apple.com/documentation/usernotifications/...
> No one is asking for a survey of apps that do this. You’re making the claim that it’s far from rare, so you have enough knowledge to make this claim. Share with us the smallest piece of your knowledge by naming one single other app that does this. It’s the least you can do since you’re making the claim. Please, I’m very curious!
I can’t share that information.
It’s a trivial, documented, supported, long-standing API for a common use-case.
It is widely used, as documented, for its intended purpose.
Do you genuinely believe it’s uncommon for applications to leverage this useful, trivial, long-standing platform API for its intended and explicitly documented purpose?
I can’t imagine why you’d believe that, but another commenter already provided the requested single example up-thread.
> I cannot share information about specific applications.
So you don't have an example of an app using such a basic and widespread feature? Ok.
You’re the one with an extraordinary claim here — that applications aren’t using such a basic, documented, widespread feature.
It’s patently silly and I have no idea why you’re so self-assured in your ignorance.
Background notifications can and do carry arbitrary application data, and are used to update the application state in the background.
This is their intended purpose, it’s what they’re documented to do, it’s how Apple intends them to be used, and it’s common application behavior.
This is literally a plainly documented feature of the platform. It’s not clever or unique or unusual — it’s a simple feature that Apple specifically documents.
I cannot even begin to fathom why people are confused about this, and it’s truly mind-boggling that this has required a thread at all.
Slack/Discord/Teams are non-native applications that do not leverage the platform’s support for updating application state via notifications. That does not mean the use of background notifications is unusual or rare. It is not.
Push notifications aren’t some odd “alternative pipe” and conveying data via push notifications is a known and supported use-case.
Your lack of amazement is duly noted, I suggest you don’t waste any more time on it.
That said, I, like others, are indeed impressed for a couple of reasons.
For starters because of the simple fact that they’ve found a novel way to use background notifications to provide users without unrestricted internet access with flight updates.
Contrary to what you imply, and subsequently fail to substantiate, there aren’t many, if any, other apps that use background notifications in such a novel way, certainly not in a way to circumvent restrictions and limitations on data connections.
Moreover, I have never seen background notifications being used to push concrete data to apps. This is because there are severe payload size constraints on notifications, including background notifications.
Typically when background notifications have been used, it simply contains an instruction to download data from a remote server, something that wouldn’t work on a limited connection.
Instead, Flighty uses the minimal payload size to push the actual concrete data used by the app.
Additionally there are some limitations in how often a background notification gets delivered to the tune of a few times per hour, worse yet, delivery of these notification is inconsistent because it’s beyond the app’s control of they get delivered at all.
To account for this, Flighty will use the background notifications to update the data where it can and make estimations in times it cannot not until the next time it can receive an update.
I’d go as far as call that amazing engineering.
You might not and I don’t know your qualms with Flighty, but you’re doing a poor job of convincing people to see it your way.
I have nothing against Flighty, but background notifications are trivial and all apps can and should be using them to solve this type of problem — it’s detrimental to have folks mistakenly operating under the belief that this is complex or unusual.
Sure, the payload size is limited, but it’s not impossibly small, and custom keys with arbitrary payload are explicitly and obviously documented as supported.
Do you work on Flighty? I truly cannot understand where on earth this level of effusiveness for using a simple API — as documented and designed — is coming from. It’s inane.
This nonsense has to stop. Copying a movie, or using the internet on someone else's plan is not piracy is not theft.
Quoting from memory from my old Webster's dictionary which I have owned since I was a student a long time ago:
Theft: The act of taking property and removing it so that the rightful owner is no longer in possession of it.
Piracy: the practice of attacking and robbing ships at sea.
Equating copyright infringement or violation of terms of service with theft or piracy is completely unwarranted messing with definitions of terms that have served their purpose for centuries.
Worse yet, the abuse of these terms in recent times misdirects people's attention away from the underlying flaws: artificial scarcity and the inability to enforce restrictions on use; you can not steal data (unless you steal the physical medium the data is stored on) nor can you pirate a service.
Making unauthorized copies or violating the terms of use of a service may be deemed objectionable but these actions are most certainly neither theft nor piracy.
Just take any adhesive label off of the "clearance" meat at the supermarket, and apply it to the cut you wanted to buy. Instant savings!
There's a significant contextual, moral and ethical difference between "exploring a lock" and "opening it and stealing whatever it's holding from you".
Also, you're another one who apparently needs to read the domain name of this site aloud to yourself again.
How much will you pay me to delete it? I can send you an Ethereum address.
Yeah, you can argue internet isn't a necessity. Neither is the bathroom, you can use a poo bag and a diaper. But we're a civilized society. So we provide bathrooms to anyone that needs them. And internet access.
No food and no water. Most recent data point: April 2023, Standard Economy (not Basic Economy). International, 4.5 hours flight (Germany to Tenerife) (and back). The flight had a LH code, although operated by Eurowings which according to Wikipedia is a wholly owned subsidiary of LH (https://en.wikipedia.org/wiki/Eurowings).
Was quite shocked.
There are budget airlines outside the US that are charging for water (which I think is unethical IMO, since people avoiding drinking water could lead to an increase in medical emergencies).
Look at the domain name of the site you're posting on and read it out loud. FFS dude. LOL