SlideShare a Scribd company logo
1 of 36
Download to read offline
One year in!
matthew@matrix.org
http://www.matrix.org
What is Matrix?
Making VoIP, IP Messaging
and IoT as ubiquitous and
flexible as email.
3
The problem:
Users are locked into
proprietary communication
apps.
They have no control over
their data or their privacy.
Their conversations and
contacts are fragmented.
I want to communicate with
the apps and services I trust.
8
Not be forced into specific
services chosen by my
contacts.
9
Enter Matrix
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
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
Matrix Architecture
Clients
Home
Servers
Identity
Servers
Application
Servers
So where are we at?
14
• “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
• 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
• 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
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
matrix-react-sdk
19
matrix-­‐react-­‐skin
matrix-­‐react-­‐sdk
matrix-­‐js-­‐sdk
Browser
matrix-­‐react-­‐
console
Vector
Your	
  App	
  Here!!App
Skin
(Views)
Controllers
ReactAPI
• 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
• 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
22
Bridges and Integrations
Existing App
Application
Service
3rd party
Server
3rd party
Clients
Bridges and Integrations
23
matrix-­‐
appservice-­‐
irc
matrix-­‐appservice-­‐bridge
matrix-­‐appservice-­‐node
matrix-­‐js-­‐sdk
Node	
  JS
matrix-­‐
appservice-­‐
slack
matrix-­‐
appservice-­‐
purple …
24
Matrix to IRC
matrix-
appservice-irc
ircd
(e.g. Freenode)
IRC
clients
25
Matrix to
matrix-
appservice-irc
slack.com
Slack
clients
26
Matrix to
OpenMarket
Matrix
Gateway
OpenMarket
SMS Gateway
The PSTN
27
Matrix to Skype, Lync,
Facebook, AIM, ICQ…?!
matrix-
appservice-
purple
skype
skype
clients
28
Matrix to Asterisk
matrix-
appservice-
respoke
Asterisk
+
chan_respoke
SIP, IAX,
H.323, PRI
etc
socket.io
JSON-over-
HTTP
transport
Matrix <-> Asterisk
Matrix Client          Matrix HS   matrix-­‐bridge-­‐respoke chan_respoke
|                                |                      |                                   |
|                                |                      |<-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ {  /endpoints/$endpoint/connnections }
|                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  connnection details }
|                                |                      |                           |
m.call.invite -­‐-­‐-­‐-­‐-­‐-­‐-­‐>|-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>|                                        |
m.call.candidate -­‐-­‐-­‐-­‐>|-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>|                                    |
|                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  signal ‘offer’  +  parsed SDP  }
|                                |                      |<-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ {  signal ‘answer’  +  parsed SDP  }
m.call.answer-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐|<-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐|
|                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  message:  success }
|                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  signal ‘connected’  }
|                                |                      |                                   |
|<=====================   [media  flows]  =================>|
|                                |                      |                                 |
m.call.hangup -­‐-­‐-­‐-­‐-­‐-­‐-­‐>|-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>|                                    |
|                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  signal ‘bye’  }
29
30
Matrix to IOT…
Janus WebRTC Gateway
(from MeetEcho)
Parrot Bebop
Drone
Web Matrix example
client (Firefox)
synapse
(on laptop)
synapse
(on laptop)
31
The end goal:
PSTN
Skype
…
Hangouts
• End-to-end encryption
• Search
• Read receipts
• WebRTC Conferencing
• Screen sharing
• “Private User Data”
32
New Spec Features
• Rolling out End-to-end Encryption
• Threading
• Message tagging (e.g. “Like” support)
• Group ACLs
• Arbitrary messaging
• File tagging and management
• Decentralised identity
• “Fixing spam”
33
What’s left?
We need help!!
34
• 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
Thank you!
matthew@matrix.org
http://matrix.org
@matrixdotorg
36

More Related Content

What's hot

Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache Thrift
RX-M Enterprises LLC
 
Object models for interoperability
Object models for interoperabilityObject models for interoperability
Object models for interoperability
Michael Koster
 
[March sn meetup] apache pulsar + apache nifi for cloud data lake
[March sn meetup] apache pulsar + apache nifi for cloud data lake[March sn meetup] apache pulsar + apache nifi for cloud data lake
[March sn meetup] apache pulsar + apache nifi for cloud data lake
Timothy Spann
 

What's hot (20)

Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache Thrift
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
 
Apache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open SourceApache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open Source
 
Osiot14 buildout
Osiot14 buildoutOsiot14 buildout
Osiot14 buildout
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperJavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java Developer
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorial
 
DEVNET-2005 Using the Cisco Open SDN Controller RESTCONF APIs
DEVNET-2005	Using the Cisco Open SDN Controller RESTCONF APIsDEVNET-2005	Using the Cisco Open SDN Controller RESTCONF APIs
DEVNET-2005 Using the Cisco Open SDN Controller RESTCONF APIs
 
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
 
Coap based application for android phones
Coap based application for android phonesCoap based application for android phones
Coap based application for android phones
 
A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021
A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021
A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021
 
Object models for interoperability
Object models for interoperabilityObject models for interoperability
Object models for interoperability
 
All Things Open SDN, NFV and Open Daylight
All Things Open SDN, NFV and Open Daylight All Things Open SDN, NFV and Open Daylight
All Things Open SDN, NFV and Open Daylight
 
The Next Generation Internet Number Registry Services
The Next Generation Internet Number Registry ServicesThe Next Generation Internet Number Registry Services
The Next Generation Internet Number Registry Services
 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
 
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache CamelOpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
 
[March sn meetup] apache pulsar + apache nifi for cloud data lake
[March sn meetup] apache pulsar + apache nifi for cloud data lake[March sn meetup] apache pulsar + apache nifi for cloud data lake
[March sn meetup] apache pulsar + apache nifi for cloud data lake
 
OpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering ExplainedOpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering Explained
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
 
ThaiNOG Day 2019: Internet Number Registry Services, the Next Generation
ThaiNOG Day 2019: Internet Number Registry Services, the Next GenerationThaiNOG Day 2019: Internet Number Registry Services, the Next Generation
ThaiNOG Day 2019: Internet Number Registry Services, the Next Generation
 
Blockchain Demystified
Blockchain DemystifiedBlockchain Demystified
Blockchain Demystified
 

Similar to Matrix - One-year in, Matthew Hodgson, Matrix.org

OpenStack Paris 2014 - Federation, are we there yet ?
OpenStack Paris 2014 - Federation, are we there yet ?OpenStack Paris 2014 - Federation, are we there yet ?
OpenStack Paris 2014 - Federation, are we there yet ?
Tim Bell
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
DataStax
 
network-management Web base.ppt
network-management Web base.pptnetwork-management Web base.ppt
network-management Web base.ppt
AssadLeo1
 
SplunkLive! Dallas Nov 2012 - Metro PCS
SplunkLive! Dallas Nov 2012 - Metro PCSSplunkLive! Dallas Nov 2012 - Metro PCS
SplunkLive! Dallas Nov 2012 - Metro PCS
Splunk
 

Similar to Matrix - One-year in, Matthew Hodgson, Matrix.org (20)

Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
Monitoring as Code: Getting to Monitoring-Driven Development - DEV314 - re:In...
 
New Design Patterns in Microservice Solutions
New Design Patterns in Microservice SolutionsNew Design Patterns in Microservice Solutions
New Design Patterns in Microservice Solutions
 
Swift distributed tracing method and tools v2
Swift distributed tracing method and tools v2Swift distributed tracing method and tools v2
Swift distributed tracing method and tools v2
 
Analyzing RDP traffc with Bro
Analyzing RDP traffc with BroAnalyzing RDP traffc with Bro
Analyzing RDP traffc with Bro
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
 
OpenStack Paris 2014 - Federation, are we there yet ?
OpenStack Paris 2014 - Federation, are we there yet ?OpenStack Paris 2014 - Federation, are we there yet ?
OpenStack Paris 2014 - Federation, are we there yet ?
 
Network Automation with Salt and NAPALM: Introuction
Network Automation with Salt and NAPALM: IntrouctionNetwork Automation with Salt and NAPALM: Introuction
Network Automation with Salt and NAPALM: Introuction
 
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
 
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedInGrokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
Grokking TechTalk #29: Building Realtime Metrics Platform at LinkedIn
 
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
Cassandra Tools and Distributed Administration (Jeffrey Berger, Knewton) | C*...
 
Resume
ResumeResume
Resume
 
Software Defined Service Networking (SDSN) - by Dr. Indika Kumara
Software Defined Service Networking (SDSN) - by Dr. Indika KumaraSoftware Defined Service Networking (SDSN) - by Dr. Indika Kumara
Software Defined Service Networking (SDSN) - by Dr. Indika Kumara
 
Horizontal Scaling for Millions of Customers!
Horizontal Scaling for Millions of Customers! Horizontal Scaling for Millions of Customers!
Horizontal Scaling for Millions of Customers!
 
IoT and connected devices
IoT and connected devicesIoT and connected devices
IoT and connected devices
 
network-management Web base.ppt
network-management Web base.pptnetwork-management Web base.ppt
network-management Web base.ppt
 
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
Apache Spark Performance Troubleshooting at Scale, Challenges, Tools, and Met...
 
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
Javantura v3 - Real-time BigData ingestion and querying of aggregated data – ...
 
Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013Cisco Automation with Puppet and onePK - PuppetConf 2013
Cisco Automation with Puppet and onePK - PuppetConf 2013
 
SplunkLive! Dallas Nov 2012 - Metro PCS
SplunkLive! Dallas Nov 2012 - Metro PCSSplunkLive! Dallas Nov 2012 - Metro PCS
SplunkLive! Dallas Nov 2012 - Metro PCS
 
Breaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStackBreaking Down the Monolith - Peter Marton, RisingStack
Breaking Down the Monolith - Peter Marton, RisingStack
 

More from Alan Quayle

More from Alan Quayle (20)

What is a vCon?
What is a vCon?What is a vCon?
What is a vCon?
 
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
 
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
 
What makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias GoebelWhat makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias Goebel
 
eSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João CasaleSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João Casal
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
 
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
 
Programmable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas GranigProgrammable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas Granig
 
How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...
 
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel BourgoisLatest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
 
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
 
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
 
Open Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan QuayleOpen Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan Quayle
 
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei IancuOpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
 
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe LeitaoTADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
 
What happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan QuayleWhat happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan Quayle
 
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike BromwichStacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
 
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
 
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João CamarateFounding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
 
How to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro GauciHow to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro Gauci
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Matrix - One-year in, Matthew Hodgson, Matrix.org

  • 3. Making VoIP, IP Messaging and IoT as ubiquitous and flexible as email. 3
  • 5.
  • 6. Users are locked into proprietary communication apps. They have no control over their data or their privacy.
  • 8. I want to communicate with the apps and services I trust. 8
  • 9. Not be forced into specific services chosen by my contacts. 9
  • 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
  • 14. So where are we at? 14
  • 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
  • 22. 22 Bridges and Integrations Existing App Application Service 3rd party Server 3rd party Clients
  • 27. 27 Matrix to Skype, Lync, Facebook, AIM, ICQ…?! matrix- appservice- purple skype skype clients
  • 28. 28 Matrix to Asterisk matrix- appservice- respoke Asterisk + chan_respoke SIP, IAX, H.323, PRI etc socket.io JSON-over- HTTP transport
  • 29. Matrix <-> Asterisk Matrix Client          Matrix HS   matrix-­‐bridge-­‐respoke chan_respoke |                                |                      |                                   | |                                |                      |<-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ {  /endpoints/$endpoint/connnections } |                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  connnection details } |                                |                      |                           | m.call.invite -­‐-­‐-­‐-­‐-­‐-­‐-­‐>|-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>|                                       | m.call.candidate -­‐-­‐-­‐-­‐>|-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>|                                   | |                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  signal ‘offer’  +  parsed SDP  } |                                |                      |<-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐ {  signal ‘answer’  +  parsed SDP  } m.call.answer-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐|<-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐| |                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  message:  success } |                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  signal ‘connected’  } |                                |                      |                                   | |<=====================   [media  flows]  =================>| |                                |                      |                                 | m.call.hangup -­‐-­‐-­‐-­‐-­‐-­‐-­‐>|-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>|                                   | |                                |                      |-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐-­‐>  {  signal ‘bye’  } 29
  • 30. 30 Matrix to IOT… Janus WebRTC Gateway (from MeetEcho) Parrot Bebop Drone Web Matrix example client (Firefox) synapse (on laptop) synapse (on laptop)
  • 32. • End-to-end encryption • Search • Read receipts • WebRTC Conferencing • Screen sharing • “Private User Data” 32 New Spec Features
  • 33. • Rolling out End-to-end Encryption • Threading • Message tagging (e.g. “Like” support) • Group ACLs • Arbitrary messaging • File tagging and management • Decentralised identity • “Fixing spam” 33 What’s left?
  • 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