Hacker News new | ask | show | jobs
by buttocks 1524 days ago
I said this on a past XMPP thread. It is a dead protocol due to mobile. I loved XMPP but without a push system it is useless on modern mobile operating systems.
5 comments

> without a push system it is useless on modern mobile operating systems.

If by "push" you mean sending notifications through 3rd party servers like google's Firebase, I'd like not to use it.

I was using XMPP on mobile for years, receiving messages in background normal way almost with no battery drain.

I also run k9mail 24/7 with my personal IMAP server, receiving messages in realtime (imap idle) with almost no battery waste.

Battery is wasted more by bloated frameworks like Electron rather than by network activity itself.

> If by "push" you mean sending notifications through 3rd party servers like google's Firebase, I'd like not to use it.

These days there's also UnifiedPush which is an open standard for push on Linux and Android. FluffyChat and SchildiChat (both Matrix clients) support it. I actually switched to SchildiChat from Element because Element's notification service was using too much RAM.

Network activity is quite significant for battery drain, thats why mobile XMPP clients do this: https://xmpp.org/extensions/xep-0352.html
No. Taking the wakelock is significant battery drain. Because of poor mobile OS architecture you have to take the wakelock to leave connections open. On normal Linux you can just have the OS suspend anyway and most of the time the connection will be there when it wakes up and if it doesn't the client automatically reestablishes. (this is exactly how the normal push connection on android is maintained anyway, there's almost no real overhead to having a couple more.)

Mobile push is a combination of brain damage and bizarre propaganda targeting developers.

> Network activity is quite significant for battery drain

It's not activity itself but what app does in background in reaction to incoming packets. Clients I used (Bombus and Xabber) didn't support that XEP with no problem. App may just ignore some stanzas when not needed.

XMPP is widely used on mobile, it has supported push notifications for many years. Without it, you are right, using XMPP on mobile would be pretty painful, but that's not the case.
And yet, after all these years, mod_cloud_notify is still a community module and not even mentioned in prosody.cfg.lua.dist.
Indeed, mod_cloud_notify is high on our list of modules to merge for the next Prosody release, if not the highest.

A lot of effort went into Prosody 0.12, which we released recently. It's unfortunate that mod_cloud_notify didn't quite make the cut for that version, but it was better than delaying the long overdue release even further. The vast majority of work on Prosody is unpaid volunteer time, and as with most open-source work there are certain kinds of tasks which are hard to find funding for, leading to the old "it'll be done when it's done" because we (the developers) simultaneously need to pay our bills.

Also, in recognition of many desirable things being in community modules, one thing we did prioritize in 0.12 was the plugin installer, which should make it easier for people to add additional modules to their Prosody installation.

Sorry, my comment probably came off way too snarky. Love Prosody and the work you do with Snikket.
Client to server protocol is unimportant, you could as well roll your own that suits your use case. I do feel like XMPP is a good server-to-server protocol for federated instant messaging though. The only other one I know is Matrix, and it takes a much more convoluted approach by adding the requirement that each "room" is fully distributed across all participating servers. While it's something that's nice to have, it's not worth the hassle, imo.
Dino and Gajim both work great on my Pinephone.
XMPP works quite well with push on iPhones. I use it daily.