Matrix.org's goal is to make real-time communication over IP as seamless and interoperable as email by providing the world with a new open standard which allows communication services themselves to interoperate.
For the end consumer this will mean they can choose to use their favourite app because they get the most value from it and trust the provider with their data, and still be able to communicate with friends using competing apps and services.
In practice Matrix specifies a set of pragmatic RESTful HTTP JSON APIs as an open standard, intended to be implemented on a wide range of servers, services and clients, letting developers build messaging and VoIP functionality on top of the entirely open Matrix ecosystem rather than using closed or proprietary solutions. The hope is for Matrix to act as the building blocks for a new generation of fully open and interoperable messaging and VoIP apps for the internet.
Matrix is being released as a work in progress as of Sept 4th 2014, in order to gather feedback from the opensource and telecoms community and help test and refine the APIs and reference implementations. The APIs are not yet frozen and are in some places underspecified or incomplete - similarly some functionality is not yet implemented in the reference implementations, including key security features. That said, we believe it's useful enough to experiment with - but please do not rely on it yet for any production usage or to transmit any sensitive data.
Matrix's APIs provide:
In Matrix, every user runs one or more Matrix clients, which connect through to a Matrix "homeserver" which stores all their personal chat history and user account information - much as a mail client connects through to an IMAP/SMTP server. Conversation history is stored on all the homeservers who participate in a conversation, for as long as the users involved wish to store it. History can always be pulled in from other participants if needed - and if all the participants decide not to keep the history, it is by definition lost forever.
Just like email, you can either run your own Matrix homeserver and control and own your own communications and history or use one hosted by someone else (e.g. matrix.org) - there is no single point of control or mandatory service provider in Matrix, unlike WhatsApp, Facebook, Hangouts, etc.
We provide a reference implementation of a Matrix server called Synapse, written in Python/Twisted. The intention is to showcase the concept of Matrix, test and demonstrate the spec, and let anyone and everyone run their own homeserver and generally help bootstrap the ecosystem.
Synapse ships with two basic demo Matrix clients: webclient (a basic group chat web client demo implemented in AngularJS) and cmdclient (a basic Python commandline utility which lets you easily see what the JSON APIs are up to).Matrix.org's initial inspiration and goal has been to fix the problem of fragmented IP communications. But Matrix's real potential and ultimate mission is to be a new and truly open ecosystem on the Internet enabling people, services and devices to easily communicate with each other.
We'd like to invite you to take a look at the Matrix spec, try to run a homeserver, join the existing Matrix chatrooms already out there, experiment with the APIs and the demo clients. Please let us know your thoughts on the mailing list or @matrixdotorg or Github.