Hacker News new | ask | show | jobs
by noprocrasted 540 days ago
> what would it bring them other than change if everything already works fine?

IMAP is absolutely terrible on unreliable connections. A connectionless protocol based on HTTP would do much better in those conditions.

1 comments

I'm not sure it does if I'm honest. The encapsulation via JSON is quite bad and transactional model of HTTP is non-existent. One of our key problems on our platform is deciding on how to handle failures like that in transactional systems. Email is to some degree transactional due to the distributed state. It's going to get ugly.

IMAP is ugly but that is all well understood.

The big benefit with JMAP is the state strings and /changes operation which allows even in the face of failures to recovery quite cleanly. It's really more a data synchronising protocol (RFC8620) with email support on top (RFC8621) and the new protocols coming in.
Section 3.10 of RFC8620 scares me. I know a lot about that and a lot of the complexity around that trite point is missing.

Note I've designed and built a complex messaging system that runs over HTTP over unreliable connections and run it in production for 15 years so I know what can and does go wrong.

Popcorn at the ready.

It’s not as if Fastmail haven’t run JMAP in production at a pretty big level for quite some time by now.
And I dumped them because their client was buggy, doesn’t work offline on mobile devices and I had to use IMAP anyway…
> doesn’t work offline on mobile devices

To some degree, that isn't true anymore as of last week but of course, you meant when you used it, not generally: https://www.fastmail.com/blog/offline-in-beta/