Matrix 2.0: A Glimpse into the Future of Matrix
Matrix has been providing an open standard for secure, decentralized communication for the open Web for over 9 years. With over 111 million Matrix IDs, 17 million rooms, and 64,000 servers, Matrix has become a crucial tool for organizations looking for secure, self-sovereign communication. The importance of decentralization is becoming increasingly evident in today’s world, with the risks of centralized Internet services becoming more apparent. Matrix 2.0 aims to provide the missing communication layer for the open Web, with improvements in usability, performance, and stability.
Matrix 2.0 introduces several new features:
-
Sliding Sync: This new sync API allows for instant login, launch, and sync, ensuring that essential data required for rendering the user interface is loaded instantly, regardless of the number or size of rooms.
-
Native OIDC: Matrix 2.0 replaces its existing authentication APIs with industry-standard Open ID Connect (OIDC). This improves security and maintainability for Matrix’s authentication.
-
Native Group VoIP: Matrix 2.0 introduces native group voice and video calling. This feature allows for end-to-end encrypted, scalable group calling and is built on top of matrix-js-sdk.
Matrix 2.0 has been implemented primarily by Element, using their Element X client as a test-bed. The implementation has been driven by the matrix-rust-sdk codebase, with Element X showcasing the new features. Matrix-rust-sdk provides high-level APIs for efficient management of room lists, room timelines, and UI components, allowing developers to focus on building UI rather than handling Matrix internals.
The Sliding Sync feature in matrix-rust-sdk has undergone significant development, addressing challenges related to room ordering and user experience on mobile. The current implementation maintains an ‘all rooms’ list, syncing room details in the background to enable instant room search and responsive UI.
The Native Group VoIP feature has also undergone development, with the implementation evolving from full mesh conferencing to a selective forwarding unit (SFU) approach. This enables scalable group voice and video calling with support for hundreds of users per call. The implementation combines elements from MSC3401 and LiveKit’s existing signaling.
Matrix 2.0 also introduces Native OIDC support, with matrix-authentication-service providing OIDC support for Synapse. Element X implements account registration, login, and management using Native OIDC.
While Matrix 2.0 is now available for developers to explore and implement, there is still ongoing work to be done. This includes refining Sliding Sync based on lessons learned, stabilizing and maturing Matrix 2.0 MSCs, adding encrypted backups to matrix-rust-sdk, and reintroducing full-mesh support for Native Matrix Group VoIP calling.
Matrix 2.0 marks a significant milestone in the development of Matrix, with improvements in usability, performance, and security. The Matrix team is excited about the future of Matrix and the potential it holds for decentralized communication.
Source: Matrix.