Live data from Hacker News

Ten Years of JMAP

fastmail.com

51–60 of 83 posts

Re: Ten Years of JMAP

#51

Earlier quoted context omitted.

JMAP uses fewer resources server-side, and with their scale, it will probably reduce operating costs. But it will depends on how much they will save compared with devel/migration costs.

It may use less sockets but that doesn't necessarily mean less resources. Parsing JSON is expensive, especially when there are binary types interleaved in it.

Nah, JMAP is optimized to make fewer and cheaper calls to the server. I agree that it was a mistake to use JSON for JMAP but I doubt the overhead of using JSON matters in practice compare to the benefits. Parsibg JSON with SIMD instructions is very cheap.

Re: Ten Years of JMAP

#52

Earlier quoted context omitted.

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.

Re: Ten Years of JMAP

#53

Earlier quoted context omitted.

JMAP uses fewer resources server-side, and with their scale, it will probably reduce operating costs. But it will depends on how much they will save compared with devel/migration costs.

It may use less sockets but that doesn't necessarily mean less resources. Parsing JSON is expensive, especially when there are binary types interleaved in it.

Can you give an example of expensive binary data parsing?

Having implemented JMAP and IMAP protocols myself, I haven’t encountered a need in either protocol to send binary data to the server for sync/search operations that would require the server to perform expensive parsing.

JMAP offers many improvements, such as a stable messageId for each message and a state mechanism that allows the server to be queried for changes since the last saved state. This avoids the need for numerous IMAP SELECT commands per folder to check the state using CONSTORE/QRESYNC.

If CONSTORE/QRESYNC aren’t supported by the client, it results in very costly chunked queries just to verify if message flags are still the same.

The same applies to SEARCH—if a user has many folders, it requires multiple network hops to SELECT and query each folder. With JMAP, this can be done in a single API call.

Re: Ten Years of JMAP

#54

JMAP is the best email protocol out there that nobody uses (besides Fastmail), sadly. It would be great that the two big email providers (Google and Microsoft) implemented and supported it. It would make so easier and reliable to have a single client that works really well across personal and business email accounts, for example.

> It would make so easier and reliable to have a single client that works really well across personal and business email accounts, for example. Does not Thunderbird work with Gmail/Microsoft/etc? Does not Apple's Mail.app?

Not well. At least Thunderbird with Gmail does not work very well.

Re: Ten Years of JMAP

#55
post #42

Earlier quoted context omitted.

IMAP is simple and elegant and not a "clusterfuck" at all. (Source: implemented both serverside and clientside IMAP.) IMAP is basically a database query language and as such it works as it should.

So it is just coincidence that there are zero good IMAP clients out there? I have tried a lot of clients and nobody has managed an implementstion which is works well in practice. And it is a pretty bad query language compared to something like SQL.

> So it is just coincidence that there are zero good IMAP clients out there?

Yes. Regardless of the email protocol, third-party clients will always be horrible as long as corporations view email as their enterprise moat.

Re: Ten Years of JMAP

#56

Earlier quoted context omitted.

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…

Re: Ten Years of JMAP

#57
post #54

Earlier quoted context omitted.

> It would make so easier and reliable to have a single client that works really well across personal and business email accounts, for example. Does not Thunderbird work with Gmail/Microsoft/etc? Does not Apple's Mail.app?

Not well. At least Thunderbird with Gmail does not work very well.

What are the problems you have faced ? I'm been using Thunderbird for a few months and i haven't notice anything weird

Re: Ten Years of JMAP

#58
post #7

JMAP is the best email protocol out there that nobody uses (besides Fastmail), sadly. It would be great that the two big email providers (Google and Microsoft) implemented and supported it. It would make so easier and reliable to have a single client that works really well across personal and business email accounts, for example.

Sadly, Google and Microsoft are in the business of getting their users to use their own gmail and outlook clients. They don't want to be invisible IMAP/JMAP back-ends, they want to own your e-mail experience .

Gmail supports IMAP.

Re: Ten Years of JMAP

#59
post #7

Earlier quoted context omitted.

Sadly, Google and Microsoft are in the business of getting their users to use their own gmail and outlook clients. They don't want to be invisible IMAP/JMAP back-ends, they want to own your e-mail experience .

Gmail supports IMAP.

It does behind CASA!

Re: Ten Years of JMAP

#60

Earlier quoted context omitted.

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/

Post reply on HN