3 ms·
Have they added IMAP Idle support yet? Not having imap mail push on iOS is annoying to say the least.
by tmikaeld 8y ago
Have they added IMAP Idle support yet?
Not having imap mail push on iOS is annoying to say the least.
- rablo 8y agoThat would require keeping a connection open to the mail server 24/7 which is a bad idea.
- orf 8y agoWhy a constant one? Why not on WiFi only? Push notifications also require a constant connection as well, I think?
- toomuchtodo 8y agoPush notifications are more efficient, as iOS manages the persistent connection to receive push notifications versus your application long polling. https://news.ycombinator.com/item?id=9901686 https://news.ycombinator.com/item?id=9901686 (HN thread where Rob @ FastMail dives in depth why push notifications are superior to IMAP IDLE) https://stackoverflow.com/questions/17262511/how-do-ios-push-notifications-work https://stackoverflow.com/questions/17262511/how-do-ios-push... (How do iOS Push Notifications work?)
- seba_dos1 8y agoIt's a way better idea than periodic polling, which is the current behaviour when the mail server operator doesn't collaborate directly with Apple to implement their push notifications.
- eridius 8y agoWay better by what metric? Periodic polling is going to be better for battery than keeping a connection open 24/7.
- seba_dos1 8y agoUhmm... how exactly? Idle, open connection won't suck your battery at all, it's just an open socket sitting somewhere in the RAM. The only problem with it is having to send keepalives due to broken NATs being prevalent that can quietly close your connection with you having no chance to know that until you decide to send something through it. Anyway, keepalive pings are way easier to process than a complete poll and will send your processor and baseband back into sleep much quicker. Also, on most networks you can actually keep a connection open for much longer than 15 minutes, and when the network is so horribly broken that you can't, you can always fallback to polling. Both Android and iOS already employ various techniques for dealing with keepalive timeout calculation because... guess what... that's exactly how their push notification systems are working. You gain better battery life from rarer pings, less roundtrips and easier to process responses. Periodic polling is absolutely the worst for your battery - isn't it just obvious?
- eridius 8y agoIf keepalive pings weren’t a thing, you’d have a point, but you admitted they are. The keepalive pings have to happen at least every 2 minutes I think (and usually more frequently than that) as I believe 2 minutes is a common timeout for this sort of thing. Meanwhile polling is every 15 minutes at the most frequent (or 30, or every hour, etc). This means it fires up the radio less often, which means better battery. I’d also guess the OS tries to schedule these fetches to coincide with the radio already being on as they don’t have to be precisely timed.
- seba_dos1 8y agoKeepalive timeout negotiated by Android on one of my test devices is usually between an hour or two. And as I said - if you're on a particularly crappy network that gets keepalive < 15 minutes, you just fall back to polling. You can only gain battery life, not lose. After all, if your e-mail provider cooperates with Apple, you get your mail fetched by... a constantly open, 24/7 push notification service connection instead of IMAP polling. Which means better battery. Keepalives are also scheduled by the OS - that's one of the most basic power saving strategies. I mean, it has been already implemented in 2009 in Maemo, which wasn't even tiny bit as restrictive about networking stuff as Android and iOS are.