 So I'm going to talk about JMAP and IMAP and then hopefully there'll be plenty of time for questions at the end I've just flown in from Australia. So it's the middle of the night for me if I look fall asleep, you know why First of all the disclaimer. I'm not talking about end-to-end encryption I didn't know Vincent was going to be speaking directly before me All I'm talking about is client-to-server email protocols. There's plenty to talk about there We're not addressing server-to-server. We're not addressing end-to-end encryption at all today All right, this is what we have now Not many people using pop 3 anymore open standards. It's pretty much IMAP plus extensions including vendor specific extensions and Caldav LDAP bunch of other standards for things that are not email Microsoft have three protocols of their very own Gmail have their own proprietary protocol There's a bunch of custom protocols for accessing email because IMAP is kind of miserable to use in today's world so Along came jmap fast mail built our own protocol Because we needed to for our women to face and we looked at it and said We could evolve this to be something that could be an open standard. We built it based on IMAP on QRI sync on the DAV sync collection Basically my experience of building these RSI map servers internal data structures Gave us the basic plan for what to do with jmap our key goal was a Single protocol for everything so that there's not that you can send email But not save your draft to the server or you can read your email But you can't send because there's firewall issues or authentication issues for a company that does tech support for our users We see that a lot Alright We then took our protocol that we built 2010 2011. We simplified it To make something that could be an open standard and we'd always wanted to have an open standard We're strong supporters of open source and we're even stronger supporters of open standards and we published it ourselves When I came here four years ago. I was trying to sell the idea of Use our self-published standard But the big companies in particular said we'd love to do this. It looks really good Management won't support it unless it has an RFC number. So We decided to take it to the ITF and create an RFC number ITF for those of you who don't know is the Internet Engineering Task Force. They've been around Meeting now for 34 years three times a year 104 meetings Next month They're the custodians of standards for the internet and just a quick show of hands. Who's heard of the ITF in this room? Bit over half of you excellent ITF is a fantastic resource for anyone who's building up new protocol Now we've been doing email for 20 years at fastmail But the people that we met at ITF have that depth of experience in building Protocols and in a more diverse set of environments than we work with so it's fantastic resource for anyone and The work we had through the ITF mad jam at both simpler and more powerful at the same time, which is awesome This is kind of the key slide that I wanted to bring to this audience as mainly developers The best things happen at the boundary between Freedom and constraints Standards are constraints. They mean that York software can communicate with other software There's something that lasts longer than the next refactor or the next point release Standards documents once they're written are set in stone and they will last 20 30 years Hopefully if they're well written and of course, they're a great basis for your test suite because they are a solid boundary great standards take a lot longer than software to write and So that's why it's been four years and I'm basically plugging the same thing that I did four years ago Except a lot closer to being locked into stone. It's actually at last call at itf now Now of course along with jmap, which is the glorious future We have IMAP right now and soon after I joined itf two years ago I got asked to also co-chair another working group called extra extra is extending IMAP and we have done We had ten documents that we're working on two years ago Eight of them and our standards one of them is in the last stages and the final one is still underway We've been incredibly prolific. We've had a lot of people working From it's a small group But a lot of companies and a lot of people who really know what they're working what they're doing working and stuff So it's making IMAP more useful as well The open-exchange dovetop people will be talking tomorrow in the RTC working group working room about something new They're working on as well. So IMAP still very much alive. Come along and say that as well Of course, I'm very proud of my own spec. This is something I've been wanting for ten years. It's unique identifiers for emails that stay with them when they move between folders, which is such a small thing But it means that if you rename a folder in one client You don't need to re-download all the email just to make sure you have the same emails if another client sees it So really happy with that and of course the one standard that's still underway IMAP for rev too, which is going to Take the base standard plus 30 extensions that we currently have and hopefully give us a Raised floor just to use the analogy we heard before that everyone can expect Proper compliant IMAP servers support that and you can go to your vendor and say why aren't you supporting rev2 rev2 is where it's at And then hopefully I'm it will become better of course I'm kind of sabotaging J-Map, which is what I want by making IMAP better, but I think they're both going to be really useful You can get involved At the itf. There's obviously these two groups working. I'm working on another thing as well Which is calendar extensions at itf and if you have an idea For anything that you think should be more of a standard and less of a an immediate point release It's a great place to workshop your idea It's a great place to bring your input even if you don't have something you want to do yourself if you have expertise in an Area itf would love to have you come along If you come to the meetings that obviously costs money it costs money to run them and so there's a charge for that but you can participate for free in the mailing lists and Everyone who's a remote participant is considered just as valuable as the people who are there So do get involved in that. This is a bit of a side track from J-Map, but standards are really important So here's where we are. We have IMAP extensions. They've been seven or eight of them Implemented and released by a lot of people just in the last couple of years as we get things that individual vendors had produced But there was nowhere to to take them now standards that everyone can do next to itf is coming up in a month The first two days the Saturday Sunday are a hackathon. So if you want to work on any email standard I'll be there hacking away on something J-Map related I'm sure there'll be other people come and come and sit around with us and have a hackathon And then the the meeting during the week is where we'll actually talk about the standards work I'm off to CalConnect, which is another standards body Next week to talk about calendaring We're meeting in Zurich at the Google offices there and we'll be talking about extensions to calendaring standards One of the things we're working on there is a JSON calendar format that we can then add to J-Map calendars And of course jmap.io is the site that we've been using to keep track of the work on the standards itself You can play with J-Map right now Cyrus iMap server has very complete support We run that at fast mail for our production systems and of course if you sign up for a fast mail trial account You can play with J-Map in the browser There's no time in a 15 minute talk to show you the protocol dumps over the wire But you can open up your browser's protocol dumps and you can see exactly what's happening With our client web client talking to a real J-Map server Sadly the proxy is out of date. I had hoped to get it up to date this week But I'm going to be hacking on that a lot next week during CalConnect and then a few days after that and staying here in Europe with one of our other developers and working solidly on getting Some of the pearl stuff up to date as well And that's all I've got for my talk. Thank you very much lots of links here any questions Right in the middle. Oh, why is it always in the middle? I'm gonna run to you with the microphone so the people in the live stream can hear as well what the question is Can you raise your hand? Yes All right This works so I noticed that you will base this on the curious thing So I of course wonder what in particular G-Map is doing to reduce latency on the protocol Yep, so For a start we decided to to work with external push capabilities rather than requiring a connected System so you can do out of bound push that then just triggers get an update J-Map works with the concept of states. So rather than a mod seek which you then have to know the old mod seek And get a new mod seek and the numbers have been committing It's just an opaque state and that came off from the sync token in CalDav and CalDav But the idea is you say from this state Tell me what's changed what's been added what's been removed Either to the entire pool of messages or of an object of particular data type Or you can say for a query if you have a listing of messages in a particular order With the same query string and this old query state If there's a new state for the query tell me what's been added at which position in the list and what's been removed from the list And so that can quite efficiently update either a view on a particular window or a set of objects Yes So the question here was did did we do anything to merge things like status and the list of subscribe folders? J-Map supports batching so you can send multiple requests in a single batch of requests And it will send you back responses for all of them. So that's to reduce the number of round trips It also has a concept of back references. So if you're getting a list of Objects or a list of object IDs you can then say also fetch these properties for these objects With a back reference and it will send you a response for the same objects that were in that initial query Thank you Hi Is the J-Map implementation on the fast mail server up to the latest spec because I was trying fastmail.com slash well-known or slash J-Map and it did get a 404 You need to be at the authentication side of things. It's not following the exact spec So you need to have a fast mail account and and use the fast mail interface to get the correct cookies You can't just use J-Map authentication as is one of the things that came out of IETF was that authentication is hard Not only hard to do but hard to get past all the other groups that also work on HTTP authentication and don't want a separate system So you'll need to have fast mail specific cookies in order to use it But there after that. Yes, it is the fast mail interfaces the entire J-Map spec plus our own additional Objects for things like managing aliases managing domains managing your internal account details Thank you. We have another question here Still a work in progress, but are there any client projects who've got in there early to have a play with Yes, there are there's a list on the J-Map website of projects that we know about But there are probably also other projects that that aren't willing to publish where they're up to just yet I know there are a couple of clients and servers that are not yet up-to-date with the most recent spec And they're waiting just until the specs completely finalized and published. So they're not chasing a moving target They've implemented a point in time six months or a year ago And there are certainly both closed source and open source Client projects. We have an open source client of our own as well that we're publishing That's a fairly basic client as well as our complete closed source client Since you've been working on The IMAP spec is there any work done to support labels like in Gmail instead of just folders An IMAP There is this the XGM labels which Gmail do There isn't something exactly the same for IMAP generally You can use keywords if you want to do labeling that way But it doesn't fit really well with the model J-Map supports the idea that a message can be in multiple mailboxes at the same time and that's the way that implement labels there So labels work quite well in J-Map. They're not really easy to attack into IMAP without basically replicating what Google did And people don't feel confident standardizing that Okay, we have time for one more question if you want to continue the discussion I'm sure you will be available after the talks as well. Yes, absolutely Right on the back This is good for me in the work out. Excellent. I see Cyrus. I know Bongalis. What about Duffcott? Good question. Duffcott say they're interested. I see some smiles in the middle of the room here Duffcott say they're interested in implementing J-Map, but I have not heard whether up to yet Do you want to? The the response is as a true project manager, I can't tell you it's on the road map It'll be done by Christmas. We don't know which year Okay, thank you very much. Thank you everybody Okay, since we have a lot of people coming and leaving the room May I ask you to go as much to the middle as possible once you sit down? Make sure there's no empty seats next to you just so we have a seat for everyone that wants to enter