|
# UnifiedPush as OS Service
|
|
# UnifiedPush as OS Service
|
|
|
|
|
|
The problem: Important FLOSS mobile messaging apps, and their respective servers, are tied to Google FCM for their push messaging.
|
|
- [[home]]
|
|
|
|
- [[NGI-Proposal]]
|
|
|
|
|
|
The solution: Now there is a good FLOSS alternative, the UnifiedPush standard. I want to build around UnifiedPush, to enable our libre mobile ecosystem to work efficiently without tying this function to a particular service provider.
|
|
The problem: Messaging apps in our libre mobile ecosystem are currently tied to Google FCM for their push messaging needs.
|
|
|
|
|
|
The assessment: UnifiedPush (UP) is by now well proven, with multiple implementations of all its components (UP server, UP distributor, client apps, app-servers). 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, followed by a summary of the wider scope of work needed around it. The next steps that will contribute most effectively to its wider adoption include:
|
|
The solution: [UnifiedPush][UP]. 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][u-DIST] and [supported apps][u-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][j-UPGO] and a sketch of the [wider scope of work needed][j-UPWI] 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)
|
|
- 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)
|
|
- 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
|
|
- documenting (best practices for implementors, client-server protocol and options...), sharing, promoting
|
|
|
|
|
|
My blog posts:
|
|
Proposed work:
|
|
|
|
|
|
|
|
1. list "key" apps (default and strategically important apps), evaluate them for status and effort needed, publish findings;
|
|
|
|
2. implement or improve UP in one key app (TBD);
|
|
|
|
3. create stripped-down UP server and client pair derived from 'ntfy', removing its non-UP functions, more suitable for embedding;
|
|
|
|
4. document and publish (simplified) ntfy UP client-server protocol, so others can re-implement it;
|
|
|
|
5. 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][U4IMAP].
|
|
|
|
|
|
|
|
I have contributed the [*ntfy* server deployment component][mdad-ntfy] for the Matrix-Docker-Ansible-Deploy playbook, and some [UnifiedPush troubleshooting docs][u-TRBL].
|
|
|
|
|
|
|
|
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][j-UPWI] -- what else we need to make this work**
|
|
|
|
- `2024-11-19` [Going Google-Free with UnifiedPush in /e/OS][j-UPGO] -- my analysis of initial ntfy integration in /e/OS 2.5.
|
|
|
|
- `2023-03-29` [UnifiedPush Plan for Murena /e/-OS][j-UPPL] -- I express interest in working on this.
|
|
|
|
- `early 2023` [/e/ community post \#46197][e-46197] -- I and others express interest in /e/OS supporting UnifiedPush.
|
|
|
|
- all my [articles tagged UnifiedPush][j-UP]
|
|
|
|
|
|
- all my [articles tagged UnifiedPush](https://wrily.foad.me.uk/tag:unifiedPush)
|
|
My related projects:
|
|
- **`2024-11-27` [UnifiedPush — Wider Developments](https://wrily.foad.me.uk/unifiedpush-wider-developments) -- what else we need to make this work**
|
|
|
|
- `2024-11-19` [Going Google-Free with UnifiedPush in /e/OS](https://wrily.foad.me.uk/going-google-free-with-unifiedpush-in-e-os) -- analysis of initial ntfy integration in /e/OS 2.5
|
|
|
|
- `2023-03-29` [UnifiedPush Plan for Murena /e/-OS](https://wrily.foad.me.uk/unifiedpush-plan-for-murena-e-os) -- me expressing interest in working on this
|
|
|
|
|
|
|
|
See also:
|
|
* my NLNet NGI proposal 2024-10-535 [UP-for-IMAP][U4IMAP]
|
|
|
|
|
|
- `early 2023` [/e/ community post \#46197](https://community.e.foundation/t/add-unifiedpush-to-e-os-to-make-it-possible-for-developers-to-avoid-fcm-and-better-support-f-droid-applications/46197 "Add UnifiedPush to /e/OS to make it possible for developers to avoid FCM and better support F-Droid applications") -- I and others express interest in /e/OS supporting UnifiedPush.
|
|
References:
|
|
|
|
|
|
|
|
[UP]: https://unifiedpush.org
|
|
|
|
[u-APPS]: https://unifiedpush.org/users/apps/
|
|
|
|
[u-DIST]: https://unifiedpush.org/users/distributors/
|
|
|
|
[u-TRBL]: https://unifiedpush.org/users/troubleshooting/
|
|
|
|
[u-WISH]: https://codeberg.org/UnifiedPush/wishlist/issues
|
|
|
|
[j-UPWI]: https://wrily.foad.me.uk/unifiedpush-wider-developments
|
|
|
|
[j-UPGO]: https://wrily.foad.me.uk/going-google-free-with-unifiedpush-in-e-os
|
|
|
|
[j-UPPL]: https://wrily.foad.me.uk/unifiedpush-plan-for-murena-e-os
|
|
|
|
[e-46197]: https://community.e.foundation/t/add-unifiedpush-to-e-os-to-make-it-possible-for-developers-to-avoid-fcm-and-better-support-f-droid-applications/46197 "Add UnifiedPush to /e/OS to make it possible for developers to avoid FCM and better support F-Droid applications"
|
|
|
|
[j-UP]: https://wrily.foad.me.uk/tag:unifiedPush
|
|
|
|
[U4IMAP]: https://lab.trax.im/up-for-imap/up-for-imap/-/wikis/home
|
|
|
|
[mdad-ntfy]: https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-ntfy.md |