Let's learn about PyQuotient with Vlad and Alexey.
At first when I read the headline I was scared - explodes? How can I protect myself from this explosion? After a moment of reading this huge news, however, I was relieved - Matrix has exploded in popularity, and Element have all new funding to keep driving the ecosystem forward. Let's go!
Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/unstable/proposals.
- There were no new MSCs created this week.
MSCs with proposed Final Comment Period:
- No MSCs entered proposed FCP state this week.
MSCs in Final Comment Period:
- No MSCs are in FCP.
While a quiet week for MSC state changes (shown above), there's still plenty of work and collaboration happening!
Spaces work marches forward as MSC3083 has been merged - allowing for users to join a room in a space based on their membership in a space. We think this will really help with the management of Spaces that contain lots of rooms that are otherwise invite-only.
Otherwise MSC3291 (Muting in VoIP calls) has been receiving positive feedback this week!
Finally, MSC3289 (room v8) is ticking along as the implementation is tested in Synapse and Complement tests.
Synapse is a popular homeserver written in Python.
callahad told us:
Synapse 1.39.0 is out!
Of all the pull requests we landed, my hat is off to MadLittleMods and his Graphviz prowess in #10250, which moves us one step further down the path toward MSC2716: Incrementally importing history into existing rooms. Mmm. Graphs.
But back to Synapse! You should check out the release announcement, but the bulk of the work this cycle went into internal cleanups. Synapse should also be slightly more performant, reliable, and should log fewer spurious errors. Of note, ShadowJonathan did a lot of work with
com2annto move the entire codebase to more modern Py3.6+ conventions and inline type annotations; thanks, ShadowJonathan!
Synapse 1.39 also continues our march toward unifying Synapse's interface for extension modules, and we've now exposed plugin hooks for the
account_validityoption, and experimentally implemented hooks for third party event rules.
j3s (he/him) offered:
Hello! This week, I created a matrix 1-click app on the DigitalOcean marketplace. It's basically a pre-baked droplet image that is pre-configured with synapse, element-web, caddy, postgres, plus some setup and moderation tools. My intent was to make self-hosting a Matrix system as easy as pointing some DNS records and running a single script. It makes a lot of sense for smaller, more casual Matrix homeservers, and can serve as a good starting point! It also includes some small utility scripts -
Secrets like the postgres password and registration password are generated on first boot, there's no sensitive data baked into the image. Of course, it would be nice to be able to verify this - the source code used to build the image is being open sourced. I'm just waiting for some internal processes to finish. It will show up at https://github.com/digitalocean/marketplace-matrix somewhat soon!
Heisenbridge is a bouncer-style Matrix IRC bridge.
Lazy joining of IRC users (see below)
Keep nick feature has been added
Bridge aliveness can be tracked from bridge bot presence
Ident replies can be customized by the admin for all users, default to mxid hash
Pillifying IRC nicks has been improved
The biggest impact feature this time around is configurable lazy joining IRC users which improves the experience of joining massive IRC channels by not flooding the homeserver with join events. This is now the default and can be changed globally by the bridge admin or overridden per room by users.
Many fixes here and there. Still a few issues left before 1.0 and a lot of testing.
Cinny is a web-based matrix client focusing primarily on simple, elegant and secure interface.
The story started when a friend of mine introduced me to matrix and even after his help it was too difficult for me to get around with Element. I guess it was because Element is too different from other popular chat apps. Then I tried to find a good alternative for web but no success.
That's when me and my friend thought about creating Cinny. For the few weeks we were doing it for fun but when we shared a screenshot of the prototype, the response from people was surprising and that's when things got interesting. We got to know that a lot of people out there are looking for a simple and modern client and so we started building it.
Screenshot on Chrome desktop (see below)
Cinny support the following features:
Login/logout and registration of accounts
Four different themes
Basic alphabetically sorted channel list with unread notification indicator
Creating channels and joining/leaving public channels
Creating Direct messages
Inviting users to channel and basic user list
Sending text messages, emojis and attachments
Support viewing edited messages, reactions, replies, attachments and markdowm
Read receipt for latest messages and typing notifications
History scroll and button for quickly scrolling to bottom in room timeline
Channel topic, join, leave, kick, ban, avatar/nick changes in room timeline
Sending/receiving encrypted text messages and attachments
You can find more about Cinny at https://cinny.in
Cinny is astounding. A client appears to us nearly fully-formed and looks great while doing it!
Many improvements have been made to Ement.el, a new Matrix client for Emacs. Ement.el can now send and display images, replies, and reactions, as well as edit sent messages. It also supports desktop notifications, configurable by the user to pop up for mentions or for all rooms with open buffers. (Room: #ement.el:matrix.org)
Something something expands until it reads... Matrix?
Updates from the teams
FluffyChat is the cutest cross-platform matrix client. It is available for Android, iOS, Web and Desktop.
This release introduces stickers and a lot of minor bug fixes and improvements.
Add sticker picker [205d7e8]
Also suggest username completions based on their slugs [3d980df]
Nicer mentions [99bc819]
Render stickers nicer [35523a5]
Add download button to audio messages [bbb2f43]
Android SSO in webview [befd8e1]
Reset bootstrap on bad ssss [b78b654]
Hide stickers button when there is not sticker pack [b71dd4b]
Download files on iOS [a8201c4]
Record voice messages on iOS [4c2e690]
cropped sticker [a4ec2a0]
busy loop due to CircularProgressIndicator [15856e1]
Crash on timeline [a206f23]
typo on webiste [00a693e]
Make sure the aspect ratio of image bubbles stays the same [a4579a5]
Linux failing on attempting to open hive [76e476e]
Secure storage [0a52496]
Make sure the textfield is unfocused before opening the camera [6821a42]
Close safariviewcontroller on SSO [ba685b7]
- Rename store and allow storing custom values [b1c35e5]
This summer's gone by so fast it feels like it's only been a week! Here's a summary of what's happened with Ruma the past few weeks:
We have had a productive summer with our two Google Summer of Code students, Adam Blanchet and Devin Ragotzy. Adam finished implementing the last of our Identity Service API endpoints, bringing us to 100% implementation of all the Matrix API endpoints! (And we promise there are no bugs because "Rust," right?)
Besides improving the Matrix ecosystem, Devin has been helping the Rust ecosystem at large by writing some Clippy lints to improve our codebase and upstreaming his additions.
Read more here: https://www.ruma.io/news/gsoc-2021-intro/.
David Mehren offered:
I made maubot-ldap-inviter, a maubot plugin that (surprisingly) invites users into Matrix rooms, according to their membership in LDAP groups.
We are switching from RocketChat to Matrix in the next round of a software engineering course where students work on software projects in small groups.
RocketChat has a LDAP sync, which we previously used to auto-add students and tutors to the chatrooms they need to be in (global announcement room, helpdesk, chat for their group etc.). As there was no such feature for Matrix, I built the bot over the last few days.
It's still somewhat specific to our LDAP setup, but if anyone wants to use the bot and has questions, just open an issue in the repo!
Mother Miounne is here
At etke.cc we suffered long enough with 2 things - order form on website and invites on private matrix servers.
No more suffering! Because now the Mother Miounne exists and it does 2 things (for now): handles of web/html forms (sends it to matrix room) and handles invite tokens (integrates with matrix-registration)
We use it as backend of etke.cc service for some time, but still consider it as unstable, so try it yourself, hope it can help you 😉
PS: #miounne:etke.cc - matrix room with news & discussions
Great news! Matrix Dev-Room and Matrix booth are approved! 🎉
We are currently creating a schedule and we have open slots for talks and workshops!
See you at #FrOSCon:fiksel.info 😉
This is a personal project I started a couple of weeks ago. I was dreaming of a good open source solution for OneNote or GoodNotes far a long time. There are already great projects, likeXournal++ and Whitebophir. But, they do not include the extent of possibilities to flexible host, collaborate and structuring the notes I have wished for.
Recently, I was thinking about the exact requirements I wanted for such a whiteboard:
Real time synchronization (cloud storage)
Authentication/account infrastructure (to invite and collaborate on one whiteboard)
Adding/Removing ppl to a whiteboard
Reliable hosting (when having cloud storage, I don't want to trust a one-man project to continue hosting. And a lot of ppl won’t self-host.)
Structuring whiteboards in categories
Viewing history and display which part has been drawn by which person
Annotating other whiteboards with new layers
Hosting for media like PDF's and images
Looking at this list, Matrix was such an obvious choice. I could comment every point but basically with: "A whiteboard should be a Matrix room" everything is said.
TheBoard (probably not the final name) is exactly that. The frontend is not done yet, but already in an okay looking and usable state.
Before trying it out: It takes really long to log in with an account with lots of rooms. So, I highly recommend to NOT use your main Matrix account. Additionally, it is necessary to tag rooms as whiteboards. (really un-intuitive UX that will be improved) But for now the + button needs to be pressed and a (empty (not necessary but recommended) AND UNENCRYPTED) room needs to be selected.
UPDATE I just (on Friday) finished initial spaces support to categorize the whiteboard in notebooks (aka spaces). They can only be create within a matrix client that supports spaces. But they will be displayed properly in TheBoard. (see screenshot)
Any problems, ideas and feedback is highly welcome as a github issue or in the matrix channel #TheBoard:matrix.org.
This project is whiteboard (similar to OneNote) which is
using Matrix as its backend. All your drawings are stored in matrix rooms on your matrix server and are accessible to anyone who is invited.
Try It out at: https://toger5.github.io/TheBoard As always: use at your own Risk
Join the matrix channel at: #TheBoard:matrix.org Github: https://github.com/toger5/TheBoard
Thanks to the awesome https://serverstats.nordgedanken.dev project by MTRNord my small server version history graph now contains more of the matrix fediverse: We went from ~3000 to over 5000 active visible homeservers on https://graph.settgast.org/
Two superb projects combining forces! I've long been a fan of Chris' graphs for tracking the growth of the server ecosystem.
Oleg made us aware:
Let's use this day to thank your Matrix home server admin! Especially folks managing Matrix.org and all the public bridges! ❤️
(If you are hosting yourself then you can tap yourself on a shoulder for doing a great work 😁)
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
See you next week, and be sure to stop by #twim:matrix.org with your updates!
Synapse 1.39.0 is now available!
We've done quite a bit of work this release on Synapse's new interface for extension modules:
account_validityoption has been extracted into a built-in extension module. If your configuration previously enabled
account_validity, it will continue working as before, but it is now easier to override and customize.
We've also improved the Space Summary API to list all rooms which a user could join (#10298). This is especially important with the pending standardization of Room Version 8, which includes MSC3083: Restricting room membership based on membership in other rooms.
More than anything else, this release contains an absolutely enormous load of internal cleanup. For example:
pyupgradeon the entire codebase, bringing it up to modern Py3.6+ conventions, then separately used
com2annto move us from legacy
# type: footype hints to more modern inline annotations.
But that's not all! Synapse 1.39 also allows for setting credentials for HTTP proxy connections thanks to work by dklimpel; previously, Synapse was only able to provide authentication for HTTPS proxies.
Synapse is a Free and Open Source Software project, and we'd like to extend our thanks to everyone who contributed to this release, including andir, dklimpel, ilmari, LukeWalsh, moritzdietz, ShadowJonathan, and xmunoz.
Big news today: Element, the startup founded by the team who created Matrix, just raised $30M of Series B funding in order to further accelerate Matrix development and improve Element, the flagship Matrix app. The round is led by our friends at Protocol Labs and Metaplanet, the fund established by Jaan Tallinn (co-founder of Skype and Kazaa). Both Protocol Labs and Metaplanet are spectacularly on board our decentralised communication quest, and you couldn't really ask for a better source of funding to help take Matrix to the next level. Thank you for believing in Matrix and leading Element's latest funding!
You can read all about it from the Element perspective over at the Element Blog, but suffice it to say that this is enormous news for the Matrix ecosystem as a whole. In addition to transforming the Element app, on the Matrix side this means that there is now concrete funding secured to:
finish building out P2P Matrix and get it live (including finishing Dendrite, given our P2P work builds on Dendrite!)
implement native decentralised E2EE voip/video conferencing for Matrix
fully build out our relative decentralised reputation system in order to combat abuse in Matrix.
Obviously this is in addition to all the normal business-as-usual work going on in terms of:
If you're wondering whether Protocol Labs' investment means that we'll be seeing more overlap between IPFS and Matrix, then yes - where it makes tech sense to do so, we're hoping to work more closely together; for instance collaborating with the libp2p team on our P2P work (we still need to experiment properly with gossipsub!), or perhaps giving MSC2706 some attention. However, there are no plans to use cryptocurrency incentives in Matrix or Element any time soon.
So, exciting times ahead! We'd like to inordinately thank everyone who has supported Matrix over the years - especially our Patreon supporters, whose donations pay for all the matrix.org infrastructure while inspiring others to open their cheque books; the existing investors at Element (especially Notion and Automattic, who have come in again on this round); all the large scale Matrix deployments out there which are effectively turning Matrix into an industry (hello gematik!) - and everyone who has ever run a Matrix server, contributed code, used the spec to make their own Matrix-powered creation, or simply chatted on Matrix.
Needless to say, Matrix wouldn't exist without you: the protocol and network would have fizzled out long ago were it not for all the people supporting it (the matrix.org server can now see over 35.5M addressible users on the network!) - and meanwhile the ever-increasing energy of the community and the core team combines to keep the protocol advancing forwards faster than ever.
We will do everything we possibly can to succeed in creating the long-awaited secure communication layer of the open Web, and we look forward to large amounts of Element's new funding being directed directly into core Matrix development :)
thanks for flying Matrix,
Matthew, Amandine & the whole Matrix core team.
It's only been two weeks since Dendrite 0.4 landed, but there's already a significant new release with Dendrite 0.4.1 (it's amazing how much work we can do on Dendrite when not off chasing low-bandwidth and P2P Matrix!)
This release further improves memory performance and radically improves state resolution performance (rumour has it that it's a 10x speed-up). Meanwhile, SS API sytest coverage is up to 91%(!!) and CS API is now at 63%.
We're going to try to keep the pressure up over the coming weeks - and once sytest is at 100% coverage (and we're not missing any big features which sytest doesn't cover yet) we'll be declaring a 1.0 :)
If you're running Dendrite, please upgrade. If not, perhaps this would be a good version to give it a try? You can get it, as always from, https://github.com/matrix-org/dendrite/releases/tag/v0.4.1. The changelog follows:
/createRoomrequest is now respected when creating a room
cannot xref null state block with snapshotduring the new state storage migration has been fixed
cache_lifetimeoption is now handled correctly (contributed by S7evinK)
prev_stateof an event will no longer be populated incorrectly to the state of the current event
M_UNSUPPORTED_ROOM_VERSIONerror code instead of
M_BAD_JSON(contributed by meenal06)
-- Team Dendrite
Loads of coverage is available, take a look!
Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://matrix.org/docs/spec/proposals.
- No MSCs were merged this week.
MSCs in Final Comment Period:
In terms of Spec Core Team MSC focus for this week,
Room Version 8 has been proposed as part of MSC3289! This intends to include the new "restricted" room version from MSC3083, which allows access to a room based on one's membership in another room, as is most useful for features related to Spaces.
sorunome has been working on MSC2545:
Sorus Image Packs MSC2545 is taking shape more and more! While barely anything happened on the actual MSC itself, nheko recently implemented a sticker picker based on it, and there is a PR for fluffychat for a sticker picker, too, finally making stickers interoperable between clients of different vendors!
Here's a video of fluffychats sticker picker in action: https://gitlab.com/famedly/fluffychat/uploads/26382317e2424d7566eb18e102ddd6cb/fluffy-sticker-picker.webm
callahad told us:
🚨 Yesterday we published Synapse 1.38.1 which mitigates a client bug trigged by changes to /sync responses in 1.38.0. Specifically, new Element Android sessions were unable to decrypt messages in end-to-end encrypted conversations.
⚙️ Otherwise, we've been doing quite a lot of internal / infrastructure work. Notably, we've completed the move from three separate CI systems to just one: GitHub Actions. We're also, for the first time, publishing Debian packages for our Release Candidates. We hope these changes move us towards a more reliable and seamless release process.
We'll have a lot to talk about re: Synapse 1.39 next week, but until then, enjoy the weekend! 🏖
And this week too has brought updates to my Helm Charts, with element-web being updated to 1.7.33 and matrix-synapse to 1.38.1
Fair told us:
A bridge for LINE Messenger based on running LINE's Chrome extension in Puppeteer.
This week brings plenty of usability improvements:
There is now the
list-contactsbot command to--you guessed it!--list the Matrix puppets of all of your contacts.
It's now possible to sync a chat with a LINE user by inviting their Matrix puppet to a DM, instead of having to wait for someone to send you a message in LINE for the bridge to auto-sync it. This is especially useful with
LINE group chats that haven't been used recently are now included in the set of chats that get bridged on a
The number of chats to sync at startup time & on-demand is now configurable, as a bridge config setting & a parameter to the
These changes make it possible to sync LINE chats/groups that previously may not have gotten synced, due to the intricacies of how LINE on Chrome handles chat history (especially on first use of the bridge).
Nheko is a desktop client using Qt and C++17. It supports E2EE and intends to be full featured and nice to look at
Nico (@deepbluev7:neko.dev) told us:
LorenDB has rewritten the invite dialog as well as the memberlist in Qml. This means they work now much more reliably and show the users in appropriate colors and a few other small improvements.
Apart from that, Nheko now has support for sending stickers! This is based on Sorunome's awesome MSC2545, so no integration manager is needed and it is trivially easy to share your sticker packs (just invite someone into the same room!). You can use stickers from your account data or upload stickers into a room so every room member can use it. If you found a sticker pack you like, you can enable a pack from a room globally by going into Nheko's room settings. You can check my current preferred set of stickers here: matrix:r/nico's-stickers:neko.dev
Currently you can't edit a sticker pack yet from Nheko. Support for that will come in the near future. Until then you can use either FluffyChat, Element's DevTools or my hack to import Telegram sticker packs into a room. Note that Nheko's sticker pack support is incompatible with integration server based sticker packs like the one Element uses. On the other hand, you don't need an integration manager to use them! Custom emote support based in the image packs MSC is coming in the future to Nheko too.
Furthermore we fixed some bugs to move E2EE in Nheko out of Beta. We are close now and we have a plan!
That's all, don't get your hands too sticky!
Alexandre Franke announced:
It’s been three weeks already since our last update and we have a fair amount of new things to report.
As I write this, our interns Alejandro and Kai are at GUADEC, the annual GNOME conference, presenting during the interns lightning talk. The former has submitted a couple of merge requests (!793 and !794) that were necessary for the UI to accomodate his upcoming multi-account work. The latter has provided a view for when no room is selected. As for their mentor, Julian, he changed member loading so it only happens once a room is opened, to improve performances. He also changed Matrix event handling to use
SyncRoomEvent, which paves the way for display of various message types in the timeline of a room.
Giuseppe offered two nice additions to the login view:
in the form, one can now type enter to login (it previously required to click on the button in the headerbar)
errors are now displayed, providing useful feedback on why the login may have failed.
And to conclude this summary, we welcome 🎉 newcomer Veli Tasalı who fixed a papercut I reported: when typing long messages, buttons next to the message entry were expanding along with the entry and now they keep nicely aligned.
Šimon Brandner shared some images of the new VoIP UX:
Naturally the screen sharing feature will allow you to share your own screen, rather than Šimon's!
New keyboard shortcuts:
- Navigating room list with arrow keys when there's no room open (and esc to close the current room)
- Global shortcut to open Beeper
Rooms are opened where you left off (like Telegram, WhatsApp, etc) instead of at the bottom
Updated unread room indicators: a colored circle around the room avatar (screenshot here)
We've integrated the LinkedIn bridge into Beeper. The bridge is in beta and is generally ready for use. Since the last update, we moved it to GitLab, added a Docker image, and implemented reaction and redaction handling in both directions! We also fixed a bunch of bugs across the board to improve reliability.
The Android SMS bridge mentioned in the last update is progressing. It should be ready for self-hosted use in a few weeks, so our next update will probably include that.
Related to the SMS bridge, I've made mautrix-syncproxy, which is a microservice to do the
/syncing required for end-to-bridge encryption (to-device events and such) in the cloud and forwarding the data to the normal appservice transaction endpoint. When combined with mautrix-wsproxy, it allows the SMS bridge to only have a websocket connection, which uses significantly less battery than a HTTP request every 30 seconds. The sync proxy partially implements MSC3202 and the to-device part of MSC2409 (partially because it only does individual users rather than all appservice-owned users).
We're hiring React, iOS, Android and SRE/Devops engineers. If you're interested, check out https://jobs.ashbyhq.com/beeper or DM Eric Migicovsky.
Ananace told us:
Just tagged and pushed version 2.4.0 of the Ruby SDK, along with an updated image for the example bot. This version adds support for the Matrix URIs as well as some basic spaces functionality, it also fixes some errors due to the removed empty
/syncfields in Synapse 1.38.0
Feel free to drop by #ruby-matrix-sdk:kittenface.studio for any questions or comments.
Felix told us:
Several GNOME contributors and I have been following TWIM and really enjoyed the concept. Since open source is about
stealingsharing ideas, we wanted to deploy something similar for GNOME.
I gave this room's beloved twim-o-matic a try and fiddled a bit with the code. But I soon found that it is too specialised for matrix.org. That's when I decided to write a project agnostic TWIx bot based on matrix-rust-sdk called Hebbot!
Here is how it looks in practice with a companion website for GNOME. If you’re interested in how it looks behind the scenes, have a look at this blog post which explains how it works.
I released a first version on July 17, but I’m already working on making it smarter for a next release. In the meantime you can already use it for your project!
Love it, though I wish twim-o-matic had more of my attention! Maybe we can retire it and use Hebbot..?
This week I have developed a new plugin for OctoPrint which is a tool for controlling and monitoring 3D printers, which sends notifications about your prints and status of your 3D printer to matrix. The existing OctoSlack plugin also has Matrix support but fell foul of the /sync response changes in Synapse 1.38, and also sent the images from the camera to Matrix as inline images rather than m.image events, so they didn't render on some clients.
My new plugin can send messages on most events supported by OctoPrint, but the core events which are configurable through the OctoPrint web UI are print started, paused, completed and failed as well as print progress notifications. If you want Matrix notifications for your 3D prints, you can install the plugin through the official OctoPrint plugin repository or by installing from the GitHub repository. If you have any feature requests or pull requests, contributions to the plugin are very welcome.
Here is a preview of a print progress notification from something I was printing last night:
Following on from my post about how I'd like to convince Ansible to move to Matrix, I looked into the relative sizes of the networks, took a look at the active users in our channels, and even took a shot quantifying bridge restarts and netsplits to assess relative stability. Check it out here
A new Beyond Chat room (#beyond-chat:matrix.org) has been created! This room is meant for discussing various projects that build on Matrix for use cases beyond chat, such as collaborative documents, blogs, generic key-value databases, tools for thought, etc. Please join if these topics interest you. 😄
The Beyond Chat chat room is where Ryan chats about uses of Matrix beyond chat
Robert Long announced:
Hey everyone, my name's Robert Long. I've just joined Element last week and I'm coming in to work on the VoIP team. This week I started working on full mesh video conferencing and I'm super excited to share more as the work progresses!
Welcome Robert! Can't wait to see progress here. We'll even bring back the Dept of VoIP :D
Hi everyone! Did you ever feel lost in the Matrix world? The room directory is big, but it's still hard to find something you like. Or are you a room moderator, but there is not much activity in your room because it doesn't have enough users?
This is why I want to share rooms (or spaces) I find interesting.
This week's room is: #godot:feneas.org
"A very helpful and friendly place for general discussion or questions pertaining to the FOSS Godot game engine and using it to make games, whether one is just beginning to learn or wish to discuss more advanced aspects of game (or Godot) development."
If you want to suggest a room for this section, tell me in #roomoftheweek:fachschaften.org
Amazing to see @Navy_Innovation showing off low-bandwidth @matrixdotorg decentralised comms to 1SL (Head of the @RoyalNavy) using Titanium: our CivTAK Matrix plugin. At this rate Matrix is on track to become the common language across the entire public sector!⚓️📻🇬🇧 https://t.co/UDIA2GBVm9— Element (@element_hq) July 23, 2021
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
Join #ping-no-synapse:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
See you next week, and be sure to stop by #twim:matrix.org with your updates!
We’re incredibly excited to officially announce that the national agency for the digitalisation of the healthcare system in Germany (gematik) has selected Matrix as the open standard on which to base all its interoperable instant messaging standard - the TI-Messenger.
gematik has released a concept paper that explains the initiative in full.
With the TI-Messenger, gematik is creating a nationwide decentralised private communication network - based on Matrix - to support potentially more than 150,000 healthcare organisations within Germany’s national healthcare system. It will provide end-to-end encrypted VoIP/Video and messaging for the whole healthcare system, as well as the ability to share healthcare based data, images and files.
Initially every healthcare provider (HCP) with an HBA (HPC ID card) will be able to choose their own TI-Messenger provider. The homesever for HCP accounts will be hosted by the provider’s datacentre. The homeserver for institutions can be hosted by TI-Messenger providers, or on-premise.
Each organisation and individual will therefore retain complete ownership and control of their communication data - while being able to share it securely within the healthcare system with end-to-end encryption by default. All servers in the Matrix-based private federation will be hosted within Germany.
Needless to say, security is key when underpinning the entire nation’s healthcare infrastructure and safeguarding sensitive patient data. As such, the entire implementation will be accredited by BSI (Federal Office for Information Security) and BfDI (Federal Commissioner for Data Protection and Freedom of Information).
Germany’s digital care modernisation law (“Digitale Versorgung und Pflege Modernisierungs Gesetz” or DVPMG), which came into force in June 2021, spells out the need for an instant messaging solution.
The urgency has increased by a significant rise in the use of instant messaging and video conferencing within the healthcare system - for instance, the amount of medical practices using messenger services doubled in 2020 compared to 2018 (much of this using insecure messaging solutions).
gematik, majority-owned by Germany’s Federal Ministry of Health, is responsible for the standardised digital transformation of Germany’s healthcare sector. It focuses on improving efficiency and introducing new ways of working by setting, testing and certifying healthcare technology including electronic health cards, electronic patient records and e-prescriptions.
TI-Messenger is gematik’s technical specification for an interoperable secure instant messaging standard. The healthcare industry will be able to build a wide range of apps based on TI-Messenger specifications knowing that, being built on Matrix, all those apps will interoperate.
More than 150,000 organisations - ranging from local doctors to clinics, hospitals, and insurance companies - can potentially standardise on instant messaging thanks to gematik’s TI-Messenger initiative.
By 1 October 2021, TI-Messenger will initially specify how communication should work in practice between healthcare professionals (HCPs). Physicians will be able to find and communicate with each other via TI-Messenger approved apps - specifications include secure authentication mechanisms with electronic health professional cards (eHBAs), electronic institution cards (SMC-B) and a central FHIR directory. The first compliant apps for HCPs are expected to be licensed by Q2 2022.
Eric Grey (product manager for TI-Messenger at gematik), reckons there will initially be around 10-15 TI-Messenger compliant Matrix-based apps for HCP communications available from different vendors.
Healthcare professionals will be able to choose a TI-Messenger provider, who will be hosting their personal accounts and provide the messenger-client.
Healthcare organisations will choose a TI-Messenger provider to build the dedicated homeserver infrastructure (on prem or in a data center), provide the client and ongoing support.
Matrix is already integral to huge parts of the public sector; from the French government’s Tchap platform, to Bundeswehr’s use of BwMessenger and adoption by universities and schools across Europe.
Germany’s healthcare system standardising on Matrix takes this to entirely the next level - and we can’t wait to see the rest of Europe (and the world!) converge on Matrix for healthcare!
We'll have more info about TI-Messenger on this week's Matrix Live, out on Friday - stay tuned!