| ... | ... | @@ -23,6 +23,8 @@ The result will: |
|
|
|
|
|
|
|
This implementation will initially follow a draft specification for IMAP WebPush Extension. This work may support and inform an update to that spec.
|
|
|
|
|
|
|
|
As a side effect, adding web push to an IMAP server could potentially also benefit web mail applications.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
*The section above is also in the [NGI Proposal](NGI-Proposal). The following sections are additional.*
|
| ... | ... | @@ -31,9 +33,9 @@ This implementation will initially follow a draft specification for IMAP WebPush |
|
|
|
|
|
|
|
**UnifiedPush** frees people from dependence on Big Tech's services for their push notifications, giving a choice of push service provider. Adoption in the freedom-software mobile ecosystem is constrained by the common chicken-and-egg problem: app developers wait for support by their OS and service provider (even though power users don't need it [^1]); OS and service providers wait for apps. Any progress to break the circle is helpful.
|
|
|
|
|
|
|
|
**Email** is one of the more important and more difficult apps to target. The IMAP-IDLE technique is usually used. Only a few email servers and clients implement the newer JMAP which supports WebPush and so also UnifiedPush. Adding WebPush or UnifiedPush support to any IMAP email client is therefore high effort (implementing JMAP) and low reward (few servers support it) for app developers, and similarly for server developers.
|
|
|
|
**Email** is one of the more important and more difficult classes of apps to target. The majority of mail servers now use IMAP, and the IMAP-IDLE technique for push. Only a few email servers and clients so far implement the newer JMAP protocol suite which supports WebPush on the server side and so enables apps to use UnifiedPush. This route to upgrading any existing IMAP email client is therefore high effort (implementing JMAP) and low reward (few servers support it) for app developers, and similarly for server developers.
|
|
|
|
|
|
|
|
If **IMAP** servers would be able to support WebPush, and so also UnifiedPush, then it would be easier to add that support into the existing IMAP email clients, and it would be easier for IMAP servers to provide that support.
|
|
|
|
If more **IMAP** servers would be able to support WebPush, that would enable email apps to get their push notifications through UnifiedPush. Adding that support into an existing IMAP email client would then be easier (a small change). Similarly, for IMAP server software and operators, adopting the extension would be easier (a small change). Together, these additions may result in more servers and clients more easily adopting UnifiedPush, and so making the system more attractive to others.
|
|
|
|
|
|
|
|
|
|
|
|
## Risks
|
| ... | ... | @@ -43,11 +45,6 @@ Many email servers, probably most, are unlikely to adopt a new extension, in the |
|
|
|
Even a modest increase in server support might be expected to enable a more than proportionate increase in client support.
|
|
|
|
|
|
|
|
|
|
|
|
## Ecosystem
|
|
|
|
|
|
|
|
MicroG implements an interface to Google's FCM push notifications service, within a mostly free-software OS, for apps that request it. MicroG might be a place where it is useful to add a UnifiedPush distributor. It could integrate partially with the FCM service. Therefore this might also be of interest when considering the impact of enabling UnifiedPush for email apps.
|
|
|
|
|
|
|
|
|
|
|
|
## References
|
|
|
|
|
|
|
|
- [UnifiedPush](https://unifiedpush.org/) -- [source](https://codeberg.org/UnifiedPush/)
|
| ... | ... | @@ -55,9 +52,9 @@ MicroG implements an interface to Google's FCM push notifications service, withi |
|
|
|
- [JMAP PushSubscription](https://tools.ietf.org/html/rfc8620#section-7.2) standard
|
|
|
|
- [DeltaChat standards](https://github.com/deltachat/deltachat-core-rust/blob/main/standards.md) ("Push: IMAP IDLE")
|
|
|
|
- [WebPush](https://developer.mozilla.org/en-US/docs/Web/API/Push_API) standard (MDN)
|
|
|
|
- [Email UnifiedPush proxy #19](https://codeberg.org/UnifiedPush/wishlist/issues/19) (U-P wish list)
|
|
|
|
- [Email UnifiedPush proxy #19](https://codeberg.org/UnifiedPush/wishlist/issues/19) (UP wish list)
|
|
|
|
- Prominent email apps:
|
|
|
|
- [lttrs-android](https://codeberg.org/iNPUTmice/lttrs-android) supports U-P via JMAP WebPush
|
|
|
|
- [lttrs-android](https://codeberg.org/iNPUTmice/lttrs-android) supports UP via JMAP WebPush
|
|
|
|
- [DeltaChat](https://delta.chat/) -- [source](https://github.com/deltachat) -- [other clients](https://support.delta.chat/t/list-of-all-know-client-projects/3059)
|
|
|
|
- [K9-mail](https://k9mail.app/) -- [source](https://github.com/k9mail) -- [closed](https://github.com/thunderbird/thunderbird-android/issues/5123) [issues](https://github.com/thunderbird/thunderbird-android/issues/5165) -- [JMAP request](https://github.com/thunderbird/thunderbird-android/issues/3272) -- [wishlist](https://connect.mozilla.org/t5/ideas/idb-p/ideas/label-name/thunderbird%20android) (this is not on it)
|
|
|
|
- Email servers:
|
| ... | ... | |