News for hackers. Stuff that matters.
Re:Making email more modern with JMAP by jivings on Saturday August 17, 2019 @01:10AM (#20722216)
It will be interesting to see how this develops.

I've spent the last month implementing and testing IMAP support for my app [1].

It has... not been very fun.

Before we were limited to providers with a REST API, so implementing IMAP should in theory allow us to support a much wider range of email servers with a much lower support burden.

Although the protocol spec is tight, it seems like some providers randomly bug out or hang [2], respond with custom error messages, offer bespoke functionality [3], or generally don't comply with the spec in breaking ways [4].

As a result I'm more worried about this going forward than I had hoped.

I'll now also happily support anything that can help modernize email, so I'll apply to the developer program and will be watching JMAP closely.

[1]: https://leavemealone.app/

[2]: Yahoo Mail always down (https://downdetector.com/status/yahoo-mail)

[3]: https://developers.google.com/gmail/imap/imap-extensions

[4]: https://github.com/mscdex/node-imap/issues/775

Re:Making email more modern with JMAP by mattmanser on Saturday August 17, 2019 @01:30AM (#20722294)
Having worked with IMAP before myself, the spec is very vague a lot. It's a bad spec.

We had our own IMAP server implementation and had all sorts of problems even between different versions of outlook.

Each project had an inbox which you could cc in, resulting in huge inboxes (for the 2000s at least). You could also drag and drop an email you'd received into the project folder to share it with colleagues. And we had mysterious disappearing emails, but only at some clients.

One (of the many) problems I remember is that messages could have an ID, but the spec declared that it could change between sessions, so one version of outlook stored that in a short uint (max 65535) because why would you need more for a temporary id. So have fun if you sent anything more than that. And of course the client had different versions of outlook on different sites so it took ages to even figure out what was happening.

Another was that you had to make several back and forths on every request, messages about the messages, to say the payload and number of messages, but the spec was gleefully vague about the order this should happen in. So back then what worked for one email client resulted in an empty inbox for another.

I don't think we ever got it working properly with Firebird.

Re:Making email more modern with JMAP by jivings on Saturday August 17, 2019 @01:56AM (#20722390)
Validation of UIDs is thankfully something I don't have to worry about. It looks like a total nightmare.
Re:Making email more modern with JMAP by dboreham on Saturday August 17, 2019 @10:37AM (#20724234)
Outlook is known to have a horrible IMAP implementation.
Re:Making email more modern with JMAP by amaccuish on Sunday August 18, 2019 @08:28AM (#20729790)
I've found Outlook's not too bad actually, and at least they support ActiveSync and MAPI for desktop and mobile. I always had the most problems with Gmail over IMAP.
Re:Making email more modern with JMAP by vinay_ys on Saturday August 17, 2019 @01:13PM (#20724987)
Could you highlight what you consider as vague?
Re:Making email more modern with JMAP by asaddhamani on Saturday August 17, 2019 @08:55AM (#20723789)
Your app looks really cool! I've been looking for something like this for a while now to deal with my crazy inbox. You've made a lot of right choices like opt-in cookies, credit-based purchases, and audit logs, so keep on keeping on! Thanks and best of luck!
Re:Making email more modern with JMAP by jivings on Saturday August 17, 2019 @08:58AM (#20723799)
Hey thanks! :) Glad to hear you like it!
Re:Making email more modern with JMAP by tonyedgecombe on Saturday August 17, 2019 @02:59AM (#20722609)
In the past I've used a 3rd party component [1] for IMAP, it was like outsourcing all the work of dealing with the quirks of each server.

[1]: https://sockettools.com

Re:Making email more modern with JMAP by Aloha on Saturday August 17, 2019 @02:14AM (#20722465)
I hope it does go somewhere, as IMAP isn't well suited to mobile, and neither is webmail.
Re:Making email more modern with JMAP by octorian on Saturday August 17, 2019 @03:53AM (#20722799)
Its still far better than POP. Its really nice how you can let the server decode the structure of a message and then selectively download only the parts you actually want to display.

(Yes, I once wrote a mobile IMAP client.)

Re:Making email more modern with JMAP by gumby on Saturday August 17, 2019 @10:15AM (#20724136)
This is ironic as imap was designed specifically for mobile and remote machines.

The definition of those terms is quite different of course today, so my statement isn’t meant to contradict yours. I doubt Mark ever saw a laptop, at least when working with imap. Imap was a real step forward at the time.

Re:Making email more modern with JMAP by 693471 on Saturday August 17, 2019 @10:28AM (#20724195)
It's literally a virtual filesystem and a terrible one at that.
Re:Making email more modern with JMAP by jivings on Saturday August 17, 2019 @02:30AM (#20722512)
Why is IMAP not well suited to mobile?
Re:Making email more modern with JMAP by Mailtemi on Saturday August 17, 2019 @03:17AM (#20722676)
Too many network hops! Imagine if an account has an account with 3 folders and want to synchronize all of them. Then need at least to select each folder examine is there something new and fetch needed data. This is at least 6 network calls. You can do that with just one call in JMAP.

Some server support only basic IMAP and do not offer QResync and Condstore extensions. So to detect deleted move email you need to select entire email UIDs to see is it still there. A lo of unneeded network call just to fully synchronize client state.

I even do not want to start that some providers like Outlook don't offer UTF8 extension, so the cannot implement a good search for different languages.

Re:Making email more modern with JMAP by Nevermindmine on Saturday August 17, 2019 @09:18AM (#20723871)
> Although the protocol spec is tight

Are you talking about the IMAP RFC? It's the worst spec I have ever seen and so many parts are open to interpretation. If you think it's tight it must be because you didn't realized all the ambiguities.

Re:Making email more modern with JMAP by jivings on Saturday August 17, 2019 @09:28AM (#20723918)
My use case is pretty specific, I'm only dealing with a small subset.

I guess I was just lucky and can remain happily ignorant.