UnifiedPush as OS Service
The problem: Messaging apps in our libre mobile ecosystem are currently tied to Google FCM for their push messaging needs.
The solution: UnifiedPush. I want to build around UnifiedPush. Then our apps can work efficiently without tying this function to a particular service provider.
UnifiedPush (UP) is by now well proven, with multiple implementations and supported apps. It is actively being refined, some of that work funded by NLNet/NGI. Murena's /e/OS recently made the first step in integrating support in the OS. I published an analysis of that step and a sketch of the wider scope of work needed around it. The next steps that will contribute most effectively to its wider adoption include:
- integrating UP in key apps (some have willing devs, others need contributions)
- providing UP as a service provider (server/service side, and mobile OS integration)
- documenting (best practices for implementors, client-server protocol and options...), sharing, promoting
Proposed work:
- list "key" apps (default and strategically important apps), evaluate them for status and effort needed, publish findings (building on my initial sketch);
- implement or improve UP in one key app (TBD);
- create stripped-down UP server and client pair derived from 'ntfy', removing its non-UP functions, more suitable for embedding;
- document and publish the (stripped-down) ntfy UP client-server protocol, so others can re-implement it;
- implement Nextcloud notifications over WebPush (and so UP) (as advised by S1m after 2 people tried other approaches);
I will consult stakeholders (UP devs, /e/OS, Nextcloud, NLNet...) for their input on where to focus.
Outcomes: docs and implementation as stated, published; blog posts; outreach to potentially interested Freedom Phone organisations.
Prior involvement
I spoke in the UP matrix room with Jonathan Klee (working on the /e/OS ntfy integration) in November 2024; he said they don't have clear plans around this. I have spoken with others there including S1m who expressed support for my UP-for-IMAP proposal.
I have contributed the ntfy server deployment component for the Matrix-Docker-Ansible-Deploy playbook, and some UnifiedPush troubleshooting docs.
I have been involved at a low level with projects in this scene including UnifiedPush, ntfy as a UP server, UP for matrix, /e/OS, LineageOS -- building, self-hosting, experimenting, discussions.
My writing on UP:
2024-11-27
UnifiedPush — Wider Developments -- what else we need to make this work-
2024-11-19
Going Google-Free with UnifiedPush in /e/OS -- my analysis of initial ntfy integration in /e/OS 2.5. -
2023-03-29
UnifiedPush Plan for Murena /e/-OS -- I express interest in working on this. -
early 2023
/e/ community post #46197 -- I and others express interest in /e/OS supporting UnifiedPush. - all my articles tagged UnifiedPush
My related projects:
- my NLNet NGI proposal 2024-10-535 UP-for-IMAP
References (visible only in the Markdown source):