Implement push notifications through unifiedpush

I’ve been using schildichat and fluffychat (two clients for matrix) with unifiedpush for a while now, and also fedilab (a client for mastodon), and I have to say it seems to work very well.

Unifiedpush is a floss alternative to google’s gcm/fcm to receive push notifications.

Honestly I think it’s a very interesting project and I hope it will be used by as many apps as possible so that it becomes a “standard” for receiving push notifications on android devices without google services.

https://unifiedpush.org/

2 Likes

Currently the only thing we use centralised push notifications for is the heartbeat we send to iPhones to wake up DeltaChat that it can look for new messages. This is only needed if the device constantly kills/pauses DeltaChat so that it cannot be woken up by imap push. So if you control your device you could just let DeltaChat run in the background to keep the imap connection open so imap push works. so no real need for remote push notifications.

Though one could make a mailserver plugin that sends push notifications to the user… but normally messages are encrypted so the message would be “x send you a message” not very useful. maybe there is also support for silent push notifications that could wake up DC to check for new messages, but then again you could just let DeltaChat run in the background - its the easier solution and you don’t even have access to the mailserver in many cases anyway, except for self-hosting of course.

2 Likes

Thank you for your response. I was coming to cancel the proposal because after becoming better informed about how notifications via imap servers work I realized that this type of implementation is unnecessary and would require support from providers anyway.

There was a standard proposal for using centralized push server in Dovecot: coi-specs/webpush-spec.md at master · coi-dev/coi-specs · GitHub
The source code for Dovecot plugin is here: GitHub - dovecot/coi: Chat over IMAP plugin for dovecot
COI was a Delta Chat fork with such kinds of Dovecot integrations, now discontinued.

But I am not convinced this kind of centralized push server is needed at all. We all somehow get away without using this kind of “service” on our laptops, and Delta Chat for Android works well for me maintaining its own connection.

One of the valid reasons mobile OS vendors are making developers to use centralized push notifications is to prevent low quality apps from “app stores” from polling their servers every 5 seconds in the background and eating the battery. But as long as the app is using a proper “push” strategy, like Delta Chat with IMAP IDLE, there is no reason to switch to centralized server unless you have 50 messengers that actively push new messages to you in parallel, improvement in battery life is close to zero.

3 Likes

I made the proposal on the wave of enthusiasm seeing that unifiedpush works well with both schildichat and fluffychat (two matrix clients) and now unifiedpush support has been added to fedilab (a mastodon client). Since I use a lot of apps that require push notifications (delta chat, schildichat, conversations, fedilab, k9mail) I was thinking that if they all used unifiedpush there could be advantages for both battery consumption and ram usage having the need of a single service active in the background. But chatting in the support group of conversations on xmpp they explained to me that both xmpp and mail have their own system of push notifications that actually works well so there is no real need to implement another that among other things involves the use of an additional server. I don’t have great technical knowledge so sometimes maybe I make proposals that are not very sensible from a technical point of view or difficult to implement but I always do it because I care about the project and thanks to your feedback I learn.

3 Likes