Live data from Hacker News

FastMail gains push notifications in iOS Mail.app, joining only Yahoo and iCloud

blog.fastmail.com

61–68 of 68 posts

Re: FastMail gains push notifications in iOS Mail.app, joining only Yahoo and iCloud

#61

Earlier quoted context omitted.

It'll take me longer than a month to implement my own IMAP client to do things efficiently. As it just so happens, the company I work for is having a "work on anything you want as long as it dog-foods our products" week next week and I was already planning on writing an IMAP mail client for iOS that didn't suck. Unfortunately, due to the complexity of writing a mail client, I doubt I'll finish in a week. That said, t…

Yeah, OK - so you're doing what JMAP does but with a ton of search extension which STILL don't get you cross-folder support. Nice, problem solved - except you don't have a month to implement a good IMAP client, and neither does anyone else in the world. Has ANYONE ever implemented a good IMAP client, in your opinion? If not, why not? (JMAP is basically IMAP but more SQL-like, and without a bunch of custom syntax, yay…

I think plenty of people have time to implement a good IMAP client, just not me because I have a job that is completely unrelated to writing mail clients.

Re: FastMail gains push notifications in iOS Mail.app, joining only Yahoo and iCloud

#62

Earlier quoted context omitted.

> I can show you, right now, a 500,000 message view across multiple folders infinite scrolling with JMAP and I can jump to the middle of that view and load a screenful of messages. You CAN NOT do an IMAP sort without fetching one record for every message in the folder. If you have a million messages in a folder (yes, we have customers who do that) then you need to fetch a million records. If I've got the sort order (…

Yeh, no shit - but you need to either have downloaded EVERY UID in that sort order (no updates either - if ANYTHING changes in the folder while you were disconnected you need to re-fetch the entire sort list) or you need sort extensions which don't even exist yet.

Then why did you say you couldn't if "yea, no shit" you knew you could?

If you've already grabbed ENVELOPE info for all of the older messages (i.e. all of the messages from a previous session), you can just download the ENVELOPE info of new messages and then sort locally.

I mean, if only a few messages have arrived since the previous session, it's probably faster to grab the ENVELOPEs and then sort locally.

If there's a lot of new mail, it might be more efficient to sort server side and just fetch the ENVELOPEs for the messages in view and lazy-load the rest when the user is idle (which is most of the time).

A dead-simple heuristic would be if the number of new messages is fewer than the number of messages you can show in a list, then it's probably not worth doing server-side sorting, right? Does that make sense? Especially as mobile devices get more and more powerful. You just need to design your sqlite database such that it's setup to do optimal sorting by whatever sorting method you are using (by date should be easy, right?).

I've actually done this sort of thing before (although not with IMAP), so I know it's doable. It just takes thought to design it and time to implement it.

I've studied the IMAP specs in my spare time over the past year or so and know them pretty well and I'm confident I could get good results if I had the time to implement it, but it's not like anyone in the world could implement a solid IMAP client in a week or even a month working on it full time and seeing as how I couldn't spend full-time working on writing a mail client due to the fact that I have a job that doesn't involve me writing said mail client, I don't see how you could possibly expect me to implement one in a month.

Re: FastMail gains push notifications in iOS Mail.app, joining only Yahoo and iCloud

#63

Earlier quoted context omitted.

Yeah, OK - so you're doing what JMAP does but with a ton of search extension which STILL don't get you cross-folder support. Nice, problem solved - except you don't have a month to implement a good IMAP client, and neither does anyone else in the world. Has ANYONE ever implemented a good IMAP client, in your opinion? If not, why not? (JMAP is basically IMAP but more SQL-like, and without a bunch of custom syntax, yay…

I think plenty of people have time to implement a good IMAP client, just not me because I have a job that is completely unrelated to writing mail clients.

http://trojita.flaska.net/

two developers, 5 years, not yet feature complete - but it's the closest thing to someone attempting to write a really good IMAP client based on the RFCs, and they've been active in mailing lists and IRC too.

Funny how nobody has actually built this mythical IMAP client you say is so easy.

Re: FastMail gains push notifications in iOS Mail.app, joining only Yahoo and iCloud

#64
post #42

Earlier quoted context omitted.

IMAP doesn't have "push". This is something Apple built to stop wasting your battery by trying to use the terrible IMAP IDLE

TCP Connections can be upheld in IDLE-Mode for 25 Minutes without causing any traffic.

Yes, but this doesn't let your mobile phone's radio sleep and eats excessive battery.

Re: FastMail gains push notifications in iOS Mail.app, joining only Yahoo and iCloud

#65

Earlier quoted context omitted.

I think plenty of people have time to implement a good IMAP client, just not me because I have a job that is completely unrelated to writing mail clients.

http://trojita.flaska.net/ two developers, 5 years, not yet feature complete - but it's the closest thing to someone attempting to write a really good IMAP client based on the RFCs, and they've been active in mailing lists and IRC too. Funny how nobody has actually built this mythical IMAP client you say is so easy.

Wow, way to attack a straw man there.

Re: FastMail gains push notifications in iOS Mail.app, joining only Yahoo and iCloud

#66
post #64

Earlier quoted context omitted.

TCP Connections can be upheld in IDLE-Mode for 25 Minutes without causing any traffic.

Yes, but this doesn't let your mobile phone's radio sleep and eats excessive battery.

When the radio sleeps, how should the Phone notice the push? How do you think Apple's push works?

Edit: Apple's APN also uses TCP.

Post reply on HN