Matrix is an open standard for decentralized communication that allows users to communicate across multiple platforms and services. The goal is to make communication as ubiquitous as email by allowing users to communicate freely without being locked into any single proprietary service. Matrix uses a client-server architecture with a common specification that allows multiple independent clients and servers to communicate via federation. It has gained popularity with over 80,000 users and support from 18 clients across platforms. Bridges allow communication with other services like IRC, Slack, SMS and VoIP. Continued development focuses on features like end-to-end encryption, search, and conferencing to further improve the user experience and make Matrix a universal standard for communication.
11. Matrix is for:
Group Chat (and 1:1)
WebRTC Signalling
Bridging Comms Silos
Internet of Things Data
…and anything else which needs to
pubsub persistent data to the world.
11
12. The Matrix Ecosystem
The
Matrix
Specification
(Client/Server
API)
client-‐sideserver-‐side
Other
Servers
and
Services
Synapse
(Reference
Matrix
Server)
Matrix
Application
Services
Other
Clients
Matrix
iOS
Console
MatrixKit (iOS)
matrix-‐ios-‐sdk
Matrix
Web
Console
matrix-‐
angular-‐
sdk
matrix-‐js-‐sdk
Android
Console
matrix-‐android-‐
sdk
matrix-‐
react-‐
sdk
15. • “Why hasn’t open interoperability via SIP and
XMPP taken off?”
• “Why isn’t there a standard HTTP signalling API
for WebRTC?”
• “Why isn’t there an open alternative to PubNub,
Pusher, Firebase etc?”
• “Is there a way for telcos to successfully provide
OTT comms services?”
• “Let’s go build a pragmatic new ecosystem and
see who uses it!”
15
May 2014: Inception
16. • Sept 2014: Launched alpha:
– Proof-of-concept spec, server & single client.
– Group chat, 1:1 WebRTC calling.
• Dec 2014: Initial beta
– v1 spec stabilised and all core features present
– Transport-layer encryption
– Cryptographic integrity
• May 2015: Stable beta
– Stable (but not very performant) server!
• Nov 2015: Polishing the last missing features
16
2015: The year of the Beta
17. • 18 matrix clients (that we know about)
– Ranging from text UIs (Weechat, Emacs(!))
– …to native desktop apps (Tensor, Pidgin)
– …to native mobile apps (Console)
– …to glossy web clients (Vector)
• Over 10 client-side SDKs:
– Official: JS, React, Angular, iOS, Android
– Semi-official: Python, Perl
– Community: Erlang, Ruby, Lisp…
17
Client apps and SDKs
18. matrix-react-sdk
• All new web client SDK!
• Sensible separation of:
– HTTP API wrapper
– Matrix client state machine
– UI business logic
– UI look & feel (skin)
• Either customise per-component
• …or fork your own skin.
18
20. • Synapse
– Official Python/Twisted reference impl from Matrix.org
– Built for RAD; limited scalability
• BulletTime
– Experimental Go server from Ericsson Research
• Pallium
– Another experimental Go server from the community
• jSynapse
– Experimental Java implementation from SwarmCom
• Codename Dendron
– Next-generation scalable implementation from Matrix.org
20
Home Server implementations
21. • Right now we only have stats on the matrix.org
server itself, but:
– ~80,000 users
– ~100,000 msgs/day
– ~250 federated
servers
– ~20 companies
actively building on
Matrix.
21
Community Uptake
30. 30
Matrix to IOT…
Janus WebRTC Gateway
(from MeetEcho)
Parrot Bebop
Drone
Web Matrix example
client (Firefox)
synapse
(on laptop)
synapse
(on laptop)
35. • We need people to try running their own
servers and join the federation.
• We need people to run gateways to their
existing services
• We need feedback on the APIs.
• Consider native Matrix support for new
apps
• Follow @matrixdotorg and spread the
word!
35