Friday, February 23, 2024

Joining the Matrix Spec Core Team

I was recently invited to join the Matrix “Spec Core Team”, the group who steward the Matrix protocol, from their own documentation:

The contents and direction of the Matrix Spec is governed by the Spec Core Team; a set of experts from across the whole Matrix community, representing all aspects …
read more →
Friday, February 23, 2024

Synapse URL Previews

Matrix includes the ability for a client to request that the server generate a “preview” for a URL. The client provides a URL to the server which returns Open Graph data as a JSON response. This leaks any URLs detected in the message content to the server, but protects the …

read more →
Friday, December 15, 2023

Matrix Intentional Mentions explained

Previously I have written about how push rules generate notifications and how read receipts mark notificiations as read in the Matrix protocol. This article is about a change that I instigated to improve when a “mention” (or “ping”) notification is created. (This is a “highlight” notification in the Matrix specification …

read more →
Friday, December 15, 2023

Matrix Presence

I put together some notes on presence when implementing multi-device support for presence in Synapse, maybe this is helpful to others! This is a combination of information from the specification, as well as some information about how Synapse works.

Note

These notes are true as of the v1.9 of …

read more →
Wednesday, October 4, 2023

Matrix Live demo on Linearized Matrix

I demoed some of my work at Element on Matrix Live back on August 4th’s This Week in Matrix (and failed to mention it here). I talked a bit about what Linearized Matrix, Element’s effort for the IETF’s “More Instant Messaging Interoperability” (MIMI) working group.

I demoed …

read more →
Monday, May 8, 2023

Matrix Push Rules & Notifications

In a previous post about read receipts & notifications in Matrix I briefly mentioned that push rules generate notifications, but with little detail. After completing a rather large project to improve notifications in Matrix I want to fill in some of those blanks. [1]

Note

These notes are true as of …

read more →
Thursday, January 12, 2023

Researching for a Matrix Spec Change

The Matrix protocol is modified via Matrix Spec Changes (frequently abbreviated to “MSCs”). These are short documents describing any technical changes and why they are worth making (see an example). I’ve written a bunch and wanted to document my research process. [1]

Note

I treat my research as a …

read more →
Thursday, January 5, 2023

Matrix Read Receipts & Notifications

I recently wrapped up a project on improving notifications in threads for Matrix. This is adapted from my research notes to understand the status quo before adapting the Matrix protocol for threads (in MSC3771 and MSC3773). Hopefully others find the information useful!

Note

These notes are true as of the …

read more →
Thursday, March 12, 2020

Matrix Live Interview

I was interviewed for Matrix Live as part of last week’s This Week in Matrix. I talked a bit about my background and my experiences contributing to Mozilla (as part of Instantbird and Thunderbird projects) as well as what I will be working on for Synapse, the reference implementation …

read more →
Tuesday, March 3, 2020

New Position at New Vector

I’m excited to share that a few weeks ago I started a new position at New Vector! They’re the company behind Matrix, “an open network for secure, decentralized communication”.

I’ll be working on the reference backend server software used in Matrix (Synapse). The tech stack overlaps with …

read more →
Friday, May 5, 2017

Google Summer of Code 2017: Matrix protocol for Instantbird and Thunderbird

I’ll be mentoring Pavan Karthik on his project for Google Summer of Code 2017 entitled “Matrix Protocol Support for Instantbird”. Matrix is a new(er) protocol that is an open, decentralized network with some unique features. Initial support for this landed in bug 1315926, but it is not feature …

read more →