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.
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.
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.
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.
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.
Many programs now use Unified Push / NTFY to replace Googles FCM in the ungoogled version.
It would be great if Delta Chat did the same.
At least on the chatmail servers this should probably not be an administrative problem.
You can see which projects support Unified Push / NTFY here: Apps using UnifiedPush | UnifiedPush
You’re right, with custom ROMS, the case where you often don’t use FCM but a background service within the app, reliability is not really an issue.
That’s the case for me too, with LineageOS 21 (Android 14) the notifications from Delta Chat work very well.
I’m therefore more concerned with battery optimization, (deep) sleep and avoiding further permanent background connections if NTFY is installed as a push service for other apps anyway (e.g. Element, Amethyst, FindMyDevice).
Delta Chat could remain on the battery optimized setting and would no longer run constantly in the background, which would save battery. There would also be no further background connection (IMAP idle), which would again save battery (and traffic).
I hope I was able to make it somewhat clear what I mean regarding the use of Unified Push and NTFY.
Anyway, thank you for the great program and the work you do.