st3fan / dovecot-xaps-daemon

MIT License
162 stars 36 forks source link

Why not Z-Push #20

Closed oli-ver closed 8 years ago

oli-ver commented 8 years ago

I am using Z-Push for some time now to enable push mail on my iOS devices.

I am curious: What are the advantages of this project if you compare it to Z-Push (https://z-push.org/). Are there some Apple specific features that do not work using Z-Push? I do not own a OSX server, so unfortunately I cannot try it myself.

heinemml commented 8 years ago

My understanding of this as follows:

Z-Push is an implementation of the ActiveSync Push Technologie by Microsoft. This is basically the second Mail Push protocol iOS supports (and the only one that is cross-platform). For this the device keeps an idle connection to the push service of the provider.

Same is true for IMAP-Idle which Apple for reasons you can only speculate about did not implement on iOS. (I guess the reasons is somewhere in the "Businesses use ActiveSync so we need to support this" area).

The Apple specific mail push works a bit different. Every iPhone does keep an idle connection to the Apple push service all the time. Over this connection all Apps get their push notifications. (This also means that if you implement an App that needs push, you need to utilize Apples Services). So the mail push service is just another type of message coming over the exact same connection the phone already has established. And it also doesn't matter how many mail accounts you have configured on your phone, it just needs to keep this one connection.

So the advantage is in short: Lower number of active connections (1 to be exact) which translates directly into Battery life.

Downside: if your mail push is working or not relies completely on working apple servers.

oli-ver commented 8 years ago

Thank you very much for sharing this. It's unfortunate that it is not possible to use this software without using OS X Server. But my question has been answered, so thank's again, I will close this issue.

heinemml commented 8 years ago

Just to be sure you get this right. You only need OS X Server to create the certificate (and refresh when it expires). I for example do this by having OS X Server in a virtual box machine on my macbook.

oli-ver commented 8 years ago

Thank you, I think I got it. At the moment I have Z-Push up and running, but I will keep this solution in mind when I want to play around with OS X server someday.