Modernizing Ancient Protocols with JMAP

First given: September 30, 2020

using JMAP to replace horrible old protocols

Abstract

Email, contacts, and calendars haven’t been killer features for ages. They’re more than that, now: fundamentals that are so important as to be taken for granted. Those who work under the hood of these technologies, though, know that they’re largely built on two kinds of protocols: ancient protocols and protocols founded on now-dead fads. They’ve long been considered too hard to replace, so instead they’ve been carefully extended by both public and private means ranging from dangerously clever to dismayingly confusing.

JMAP is a new protocol, designed to eliminate all the unnecessary ties to antiquity while providing interoperability and a means to migrate without a traumatic cutover. Imagine being able to write all the cool stuff you’ve written with random web service APIs, but with your most important personal data. More than that, JMAP provides a framework for building your own powerful API that’s highly efficient and supports batched and offline operation.

Notes

This was my first “big room” talk about JMAP. (I’d previously done one for Philly Perl Mongers.) It almost didn’t happen, too.

The talk was rejected. A few days before the conference, though, the organizers told me that they’d had a speaker flake out, and asked if I could fill in. I agreed, and got to work putting this talk together as quickly as I could. (All that had existed until then was the abstract!) I was most of the way done when they got back in touch. “We’re really sorry,” they said, “but the speaker can make it after all.” I wasn’t thrilled, but said okay.

The next day, they said the speaker flaked again and could I please fill in? I wasn’t sure how to feel. I was glad my work hadn’t gone to waste, but also: yeesh! Also, their first digital version of the talk spelled my name “Riq”, which was sort of amazing to see.

Anyway, this talk holds up, I think, and I’ve used slides from it many times in JMAP introductions in other contexts.

📧 email
🧑🏽‍💻 programming