Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You seem to not see the forest behind the trees. It doesn't do 100% of what your UnifiedPush does, sure, but it does 99%. All it needs to reach the final 1% is to send a message with an agreed payload format to a client. A day of work.

As I said, we did it as far back as 2016: a watered-down XMPP client (a "distributor", as you call it) was used to deliver push notifications to a few different apps on devices that didn't have GCM (as it was called then).

> Please make an effort to come across as less antagonizing in the future.

Someone has to antagonize people who ignore prior art.



> You seem to not see the forest behind the trees

I almost used my sentence myself. The overlap is almost zero.

> All it needs to reach the final 1% is to send a message with an agreed payload format to a client.

This is the part we're interested in. We standardize this part and make it modular. The core issue is that multiple "client"s that do not interact with each other traditionally each implement their own payload format and background connection. Which drains battery. We propose a mechanism to delegate that to a third-party that can then multiplex those messages. That's all.

It's not a lot of work per se, but coming up with a modular API is not that trivial either, and we have to spread the word so that it can be used by multiple projects.

Lastly, you seem pretty focused on XMPP clients. Unfortunately (or maybe fortunately), not every app uses XMPP. On my phone, apps that could theoretically use UnifiedPush are: NextCloud, Etar Calendar, DavX5 caldav synchronization, K-9 mail, Element & others Matrix clients, HomeAssistant, FindMy & other device locators, covid tracker, Carnet notes application, Fennec (Firefox), KDE Connect, Mobilizon, Peertube Client, UnCiv, and various others, including chat apps and weather apps. XMPP would bring very little to those, especially as they just need that "1%" functionality you quoted.

There is some overlap indeed, as there is a server-server API. However, 99% of the spec you linked is completely useless or overkill for our use-case. We just accept POST requests to an endpoint and forward them to the app running on a user's device.

> As I said, we did it as far back as 2016: a watered-down XMPP client (a "distributor", as you call it) was used to deliver push notifications to a few different apps on devices that didn't have GCM (as it was called then).

That's pretty good indeed; was the specification open so that other apps could join in? Do you mind sharing a link? You can just implement the UnifiedPush specification in that distributor, make sure the server-side part accepts requests in the format specified, and you have a UnifiedPush-compliant application that other apps can use.

I've been looking for such a specification for a while, there's been some talks around the topic for years, including OpenPush [1], but nothing concrete or public that I know of. The link you shared in your previous comment does not address the "distributor" part.

> Someone has to antagonize people who ignore prior art.

Well, please at least try to understand the thing you're criticizing before, that's the bare minimum.

[1]: https://bubu1.eu/openpush/


> Unfortunately (or maybe fortunately), not every app uses XMPP.

App doesn't need to 'use' XMPP to use push notifications. For developers, it is essentially identical to using FCM. XMPP part here simply offers a very effective way to decentralize the service, as federation server-to-server part in XMPP is wonderful, and top XMPP servers like ejabberd have great performance.

> Well, please at least try to understand the thing you're criticizing before, that's the bare minimum.

My company has created this very thing for a customer years ago, so I think I pretty much do understand what you are creating.

It wasn't open, yet, the effort to make it open would be pretty small. We could probably release it, but I don't see the real need for it, as it is a likely dead end: making apps run in the background on Android was what we did for years, and the writing is on the wall. Background running becomes more and more difficult with each new version of Android, even on pure Android phones. Biggest manufacturers, however, like Samsung, Huawei, Xiaomi simply kill off background processes without mercy. So it is more than likely we won't be able to run 'dispatcher' apps on Android, just like we can't on iOS, and we'll have to rely solely on push notification service which is built into the phone OS. If there is a fight worth fighting, it is the one to force phone OS developers to open this part of an OS to allow using custom push notifications services.


I am not trying to denigrate XMPP in any way, I also use it, though I am not very familiar with the internals. Here, the decentralized aspect doesn't seem to bring a lot of added value (what would you federate? Push senders and push servers? The relationship is mostly 1:1 in every case).

> It wasn't open

Then, I'm sorry, but even if the design was miles ahead of what is being proposed here, it might as well not have existed.

> If there is a fight worth fighting, it is the one to force phone OS developers to open this part of an OS to allow using custom push notifications services.

Well, we're proposing an API for it, and we will certainly push alternative OSes such as LineageOS, /e/ and others to adopt it; we hope it gets picked up by bigger fish, but we can't exactly pressure them into doing it, besides demonstrating that it works, documenting it and raising awareness, which is what we're doing here.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: