5 ms·
This is great to hear. I'm glad the project is progressing. For those not in the know, JMAP is a protocol for mail that, unlike IMAP, has threads and labels bu
by zx2c4 11y ago
This is great to hear. I'm glad the project is progressing.
For those not in the know, JMAP is a protocol for mail that, unlike IMAP, has threads and labels built-in at its core. In other words, Gmail without Gmail.
And it's about time somebody came along and built something sane for this.
There have been a lot of valiant attempts at this. Thunderbird has a few buggy extensions that attempt it. Notmuch is a very well written library and command line MUA with a very fast on-disk storage format (with ncurses, emacs, and vim interfaces, as well as neat FUSE file system toys), but it is not a protocol, and therefore does not scale well beyond the limited set of MUAs for it that mostly need a shell or a flimsy web app. Mailpile is an attempt at making a Web 2.0 style Gmail clone, but it's only an MUA and the on-disk format is flimsy at best.
JMAP defines the protocol first. Then, multiple people can take a stab at the most sane implementation. I like this approach quite a bit.
- teacup50 11y agoWhy not extend IMAP? It is by definition highly extensible, and unlike JMAP, it's not wedged into complex poorly suited protocols like HTTP. Clients leave IMAP ports open indefinately; IMAP IDLE provides push e-mail over this mechanism. Reading about JMAP, this just seems like adding unnecessary web overhead and complexity to an already complex problem space.
- jlgaddis 11y agoFastMail's "why" is better explained in a post from last year, "JMAP -- A better way to email" [0]. [0]: https://blog.fastmail.com/2014/12/23/jmap-a-better-way-to-email/ https://blog.fastmail.com/2014/12/23/jmap-a-better-way-to-em...
- wtetzner 11y agoWell, HTTP/2 with server push should handle the "keep a connection open" and "let the server push things to the client" issues.
- rewqfdsa 11y agoBecause programmers graduating today literally can't imagine a world full of non-HTTP protocols.
- _pmf_ 11y ago> It is by definition highly extensible, and unlike JMAP, it's not wedged into complex poorly suited protocols like HTTP. Why building on mature concepts that have proven themselves in practice over several decades? It's much more in line with the current web culture if smart rockstar developers half-assedly cobble together a RESTful shit fest.
- buster 11y agoIt's just a smart move to have the API your webmail uses be a "standard"... I don't understand why i should implement Fastmails web API, when there are several major protocols that are supported by a huge ecosystem already: IMAP, CalDAV, CardDAV.
- wnoise 11y agoWhile I think extending IMAP is the better solution, it is already too complex, as many clients and servers treat things just slightly different enough to be really annoying.
- brongondwana 11y agoSo we do that too - indeed I've done most of the work getting the Cyrus IMAPd server support of IMAP to the level of compliance that it has today, and am still involved in the standardisation battles. But I see from the responses to this comment that it's easier to make snarky comments on the internet than to understand where IMAP just doesn't do what we needed from a protocol, and why we designed JMAP.
- pjc50 11y agoThe thing to replace is not so much IMAP (which has its own awfulness of implementation) but RFC822-format mail. It looks easy to parse but isn't, giving rise to bugs. Especially if you step outside the ASCII character set. How many of you have an email with a spurious `> From` in the middle because that has been escaped wrongly by something? Besides, JMAP could be consumed directly by web apps.