Hacker News new | past | comments | ask | show | jobs | submit login

I thought push is a standardized imap extension and any capable client can use it, if the server is configured properly. Does push on iOS require apple to somehow allow you to use it with your provider, or why is it such a big deal?



IMAP "push" usually means the IDLE extension, where a client holds a connection open and waits for the server to report that something has happened. This works ok, but isn't great on mobile because holding a TCP connection open is usually difficult on flaky networks and consumes battery.

iOS Mail doesn't implement it, instead doing a poll every 15 minutes. However it also implements a separate push system which allows true push if the server supports it. The details on how to support this aren't public information.

We talked to Apple, and they were kind enough to give us access to this system. We implemented it on our side, and now when an email arrives at FastMail we can immediately signal to Mail.app that there's new mail available.


> IMAP "push" usually means the IDLE extension [...]

> iOS Mail doesn't implement it, instead doing a poll every 15 minutes. However it also implements a separate push system which allows true push if the server supports it. The details on how to support this aren't public information.

"The details on how to support this aren't public information." My biggest computer-related fears summarized in a single sentence.


So there's absolutely no way to enable that on custom little VPS? You have to make an agreement with Apple for that?


It looks like the interface is called XAPS and someone was able to build a working implementation last year: http://www.dovecot.org/list/dovecot/2014-September/097721.ht...

From skimming the notes it looks like it's essentially a way to send APNS notifications to Mail.app and requires a cert from Apple. You could run it from your VPS once you get the cert.


NuevaSync has supported this for years, via ActiveSync. https://www.nuevasync.com/nuevasync-pemail.html

Disclosure: have family connection to owners.


Well, wireshark + decompilation of existing software.

What I imagine, though, is a system similar to GCM, which would be not very helpful.


I guess that this is achieved using a server-side communication: the Fastmail server send the notification to the Apple servers and the Apple server sends the notification to the user's device. So wireshark probably won't help.


yeah, as I speculated, similar to GCM. Sadly, there isn’t an open standard for this.


Sounds like it uses APNS, rather than IMAP push. For the latter, you need a daemon listening, which you can't do on iOS. Plenty of Android apps have IMAP push, for example.


The article says "We’ve enabled Push IMAP" and their instructions tell you how to setup imap email account. But yes, using APNS for notifications probably makes sense (bandwidth, less connections, battery, ...).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: