HNHacker News
TopNewBestAskShowJobs

pixelschubsi

8 karma · joined August 25, 2026

submissionscomments
pixelschubsi··on Jabber/XMPP: 25 Years of Digital Independence
WhatsApp paid WhisperSystems (the previous Signal company) for a commercial license. Same as Google. Dual-licensing their encryption protocol library was their main source of income back then.

AFAIK, even today you can fetch the WhatsApp Android apk, extract the zip and do a `strings classes*.dex | grep signal` to find class and package names matching the sources in the signal-protocol-java repository in the Signal GitHub.

pixelschubsi··on Jabber/XMPP: 25 Years of Digital Independence
The open protocol variant of that is called OMEMO. Same double ratchet and implemented using Signal's library (the same as used by WhatsApp) in many XMPP clients
pixelschubsi··on Jabber/XMPP: 25 Years of Digital Independence
Well, apparently long polling is so bad on battery that Matrix clients for phones prefer to just not provide background notifications without any external push service. From what I understand, many Matrix services give their long polling a timeout of 60 seconds, which would prevent a phone from entering deep-sleep states.

XMPP uses a persistent connection. These are kept alive using TCP keepalive (both from server and on the client, but client side will be handled by the MPU and thus doesn't need CPU wake-up) and client initiated application protocol pings at intervals of 5 minutes or even less. Client initiated pings are much better on the application protocol, because they can be synced with other operating system tasks and thus don't need any active wake-up.

pixelschubsi··on Jabber/XMPP: 25 Years of Digital Independence
Matrix doesn't even support server-to-client message pushing, only polling. Which means, if you want your phone to receive a message while your client is in the background, you have to use a non-Matrix protocol to receive those.

This protocol is XMPP in 99% of the time, both Apple and Google use XMPP to connect the phones to their push notification service.

On Android, some Matrix clients offer the option to use non-Google push notification channel via UnifiedPush. UnifiedPush needs a distributor, a service that runs on the phone and manages the delivery of push notifications. Conversations, a popular Android XMPP messenger, can be used as such distributor.

So if you want digital independence with Matrix and thus do not want to use Apple/Google push, you might end up installing an XMPP messenger, so that your Matrix messenger actually can show notifications. Matrix alone just doesn't provide what is needed for digital independence.