One Small Voice: The Journal of Peter Saint-Andre

Joining Filament


It was 17 years ago (January 4, 1999) that my dear friend Jeremie Miller announced the Jabber open-source project, which in many ways laid the foundation for the messaging systems that billions of people use today (e.g., huge services like WhatsApp and Apple iMessage got their start using Jabber/XMPP, even if some of them migrated to special-purpose technologies later on). Although when I got involved with the Jabber project in November 1999 it felt like I was late to the party compared to folks like Temas Muldwowney (contributor #2), clearly I've found plenty to do in standardizing and extending XMPP over the last 16+ years.

Few people get a chance to change the world once, as we did with Jabber. Even fewer get a chance to change the world twice, but starting today I'm doing exactly that by joining Jeremie and Temas and the other great people at Filament, an Internet of Things startup that is revolutionizing communication and interaction for the trillions of devices that will be coming online in the near future.

Indeed, the combined hardware/software stack that the Filament team is creating is even more deeply inventive than Jabber, and really takes the original Jabber ethos to the next level by enabling devices to be fully autonomous (without the need for accounts at centralized or federated services in order to communicate with each other). Plus the Filament technology stack is about much more than just communication, because it combines secure, private communication with cutting-edge methods for smart contracts and blockchain transactions to enable the exchange of economic value, not just messages. I like to think of this as the extension of voluntary exchange from the level of millions of firms (microeconomics) and even beyond the level of billions of individual humans (nanoeconomics) to the level of trillions of devices (what we could call picoeconomics).

During discussions with members of my new team, the potential of what Filament is building has repeatedly boggled my mind - and I think big in the first place! Of course, potential doesn't pay the bills, so I'll be strongly focused on deploying real-world applications, forging long-term business relationships, and laying the foundation for lasting success.

The hardest part of joining Filament has been leaving my friends at &yet. Happily, I will maintain an affiliation with the "yetis" as an informal technical and business advisor, contributing to the company's overall strategy with a special focus on realtime collaboration. I will also continue to serve the Jabber/XMPP community in several capacities, continuing some of the initiatives that Jeremie, Temas, and many others started way back in 1999.

That said, my primary focus now is helping to nurture the seeds that the Filament team is planting, and to change the world yet again on an even larger scale. I could not be more excited!

Monadnock Valley Press Annual Report 2015


Because I spent most of my time in 2015 working at my day job and on the side researching the book I'm writing about Henry David Thoreau, I published very little in 2015 at the Monadnock Valley Press - really just A Doll's House by Henrik Ibsen and the Meditations by Marcus Aurelius. Here's hoping I can do better in 2016. We also earned only $150.63, a 50% drop from 2014. I'll need to talk to our director of sales and marketing about that... ;-)

Annus Mirabilis


Somehow I managed to publish 15 RFCs at the IETF this year, clustered around security, internationalization, and messaging:

  1. Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)
  2. Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)
  3. PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols
  4. The 'acct' URI Scheme
  5. Interworking between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): Instant Messaging
  6. Interworking between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): One-to-One Text Chat Sessions
  7. Use of Transport Layer Security (TLS) in the Extensible Messaging and Presence Protocol (XMPP)
  8. Preparation, Enforcement, and Comparison of Internationalized Strings Representing Usernames and Passwords
  9. Extensible Messaging and Presence Protocol (XMPP): Address Format
  10. The Jabber Scribe Role at IETF Meetings
  11. Using DNS-Based Authentication of Named Entities (DANE) TLSA Records with SRV Records
  12. Preparation, Enforcement, and Comparison of Internationalized Strings Representing Nicknames
  13. Interworking between the Session Initiation Protocol (SIP) and the Extensible Messaging and Presence Protocol (XMPP): Groupchat
  14. PKIX over Secure HTTP (POSH)
  15. Domain Name Associations (DNA) in the Extensible Messaging and Presence Protocol (XMPP)

For what it's worth, 96 percent of RFC authors have published less than 15 RFCs in their entire career at the IETF. It's a typical power law distribution: 55% have published one, 16% have published two, 8% have published three, and so on. I've published 39 so far, which puts me in the top 1%. (Yes, I'm a one-percenter now!) To be fair, some of the specs I've published are fixes to or updates of older standards, so they're not all that novel.

I hesitate to guess how many hours I've spent working on industry standards at the IETF - maybe 5,000 or more. And that gets to the heart of the matter: standardization is usually less a matter of inspiration and more a matter of perspiration - specifically, the dogged persistence necessary to address the objections that seem to arise every step of the way. So perhaps this "annus mirabilis" is not so impressive after all. ;-)

RFC 7702: SIP-XMPP Groupchat


As previously noted, I've been working to define interoperability between SIP and XMPP systems for many years, most recently in the STOX working group at the IETF. So we've published four different specifications covering various aspects of interworking, and today we've added a fifth: RFC 7702 on groupchat functionality. Big thanks to my co-authors: Saúl Ibarra Corretge and Salvatore Loreto! We're not quite done, though, because we still need to finish the document on signaling for managing multimedia sessions like audio and video calls. I'll be turning to that one next (well, that and fixes to the presence RFC).

RFC 7700: Internationalized Nicknames


The internationalization odyssey that started with RFC 7564 (the PRECIS framework) and continued with RFC 7613 (PRECIS handling of usernames and passwords) with a side tour into RFC 7622 (updated internationalization for XMPP addresses) continued today with the publication of RFC 7700 (PRECIS handling of nicknames and display names for people, devices, accounts, websites, and other entities.

With publication of this document, we've completed our work in the PRECIS working group. Well, sort of - we've discovered some relatively small bugs in RFC 7564 and RFC 7613 so we'll need to go back and fix those. But at least we're receiving implementation feedback!

RFC 7711 and RFC 7712: POSH and DNA


Today the IETF published two intertwined specifications that I've co-authored with a few folks in the XMPP community: RFC 7711 and RFC 7712.

RFC 7711 - PKIX over Secure HTTP or "POSH" - defines a way to retrieve digital certificates for application servers over HTTPS, essentially as an alternative method for bootstrapping trust in cases where it's not feasible for a service provider to obtain the proper certificates through a certification authority (CA). Once upon a time I wrote a humorous POSH-ian Play to explain the need for this protocol; some people remain unconvinced but they don't have to operate XMPP services in multi-tenanted environments.

RFC 7712 - Domain Name Associations ("DNA") in XMPP - formalizes the methods for checking the association between a domain name and an XML stream in XMPP, which is necessary for proper security. Traditionally we've relied on CA-issued digital certificates to establish such associations, but now that we have DNSSEC/DANE (see RFC 7673 and POSH two more methods can be used, thus expanding our toolkit for XMPP security.

Thanks to Matt Miller and Philipp Hancke for working with me on these specs!

For older entries, check the archive. To track changes, follow the feed.

Peter Saint-Andre > Journal