Ade Malsasa Akbar contact
Senior author, Open Source enthusiast.
Saturday, January 12, 2019 at 13:26




Please welcome Riot/Matrix the new internet communication system. It's a software/service similar to Telegram and WhatsApp, but without phone number registration and with wonderful connection to other services feature. The Riot software we use to communicate is available gratis for web browser, GNU/Linux, Windows, macOS, Android, and iOS. The Matrix service behind the scene is the real communication protocol which is secure and universal (open, decentralized, federated, bridged). Riot/Matrix offers you end-to-end encryption as well as anonymity, federated servers, with private chats as well as group chats, and support to bots creation, and ability to read and write other networks namely Twitter, Discord, Skype, Gitter, IRC, and email and more. The naming I use here "Riot/Matrix" is an analogue to "GNU/Linux" where Riot is the software and Matrix is the service to make everything easier to understand. I will try to introduce you Riot/Matrix in a friendly manner with as little as possible saying technical things. Okay, let's dive into Riot/Matrix!

Subscribe to UbuntuBuzz Telegram Channel to get article updates directly.

Summary


  • It's Gratis
  • Download Riot
  • Chatting Features
  • Let's Try Chatting
  • Let's Try More Chatrooms 
  • Let's Try IRC from Matrix
  • Let's Try Other Networks from Matrix
  • Let's Add More Integration
  • Real World Purposes
  • More and More
 

1. It's Gratis


Riot/Matrix is gratis. 

All Riot applications are libre software (under Apache License) and you can download them gratis. Account registration is unlimited. The Matrix service is provided by the official Matrix.org and it's also gratis.

2. Download Riot


Just like Telegram or WhatsApp, Riot software is available in:

3. Chatting Features


Riot/Matrix as a combination offers you exact features like what you found in Telegram or WhatsApp but with more excellent additions:
  • Gratis account, no phone number required(*)
  • Access from any device seamlessly (desktop, mobile, web)
  • Text chat, voice and video call, unlimited
  • Notifications, with granular settings
  • End-to-end encryption
  • Anonymity by default(*)
  • Full history and full search in all groups for all members (history saved on server side)(**)
  • Create unlimited groups, public or private, with full administration and privacy controls
  • Unlimited group members and history(**)
  • Search worldwide groups without any account(*)
  • Upload files and pictures and share them (files are stored on server side(***))
  • Mentions people's names, and permanent link to every public message
  • Invite links (like in Telegram)
  • Bots (like in Telegram)
  • Bridges(*), you can read and write to other Networks from within a Matrix group (currently available bridges for Slack, Telegram, WhatsApp, Facebook, Twitter, email, IRC, Gitter, and more)
  • Integration(*), you can combine your group chat with Travis CI, GitHub, Etherpad, Google Calendar, or such online services.
Things marked (*) are special features only Matrix has. Things marked (**) are unavailable in Slack. Things marked (***) are unavailable in WhatsApp.







(Other networks that are supported by Matrix Network, picture screenshoted from https://matrix.org/docs/projects/bridges)

4. Let's Try Chatting!

You can start from Riot Web. It's very similar to Telegram Web or WhatsApp Web. The user interface is even very close. Don't worry, Riot itself firstly popular because of this web chat.
  • Register new account
  • Chat
  • Upload files and pictures
  • Voice and video calls
  • Delete and edit messages
  • Forward and share messages
  • Join more groups

Register new account:
Go to https://riot.im/app and click Register. You will get username and password as identifier.

Login:
After successfully registered, go to https://riot.im/app and login with your username and password.

Chat:
Welcome to Riot/Matrix! For the first time you will see Riot-bot chats with you in a private group. You can try everything here.

(Riot Web joined to a chatroom)

Upload:
You can upload files, documents, pictures, audios, videos, and many more. Click the folded paper icon, number two from left.


Voice and video calls:
Click the phone or camera logo to start. Your browser will notify you about mic or cam activation.


Delete message:
Click the ellipsis (...) button and select Remove.

 


Forward or share message:
Click the ellipsis (...) button and select Forward and then select target group.

Share a particular message as external link:
Click the ellipsis (...) button and select Share Message. The choices are plenty: permanent URL, QR Code, Facebook, Twitter, or Email.


Join more chatrooms:
To search more chatrooms, go to Riot Directory or just click the Directory button on bottom-left. Just lick the name to join a chatroom.





(Riot/Matrix Directory showing list of chat groups)

5. Let's Join More Matrix Chatrooms!


Do you know that many libre software projects now have their own Matrix chatrooms? See, for example:
and many, many more.

Note that the URL of original Matrix chatrooms (not IRC's, not Slack's, not anything's else) is clear in format #chatroom:server.domain like in example #matrix:matrix.org meaning the chatroom is "#matrix" and the server is "matrix.org". If you create new chatroom, your address will also look like that.

 (Riot Web joined to #matrix:matrix.org chatroom)

6. Let's Join IRC Chatrooms from Matrix!


IRC and Matrix are two separate networks. But with Riot/Matrix, you can join IRC servers and chatrooms, and search and see and read-write into IRC chatrooms. Imagine you use Telegram but you can search and join WhatsApp groups and vice versa. Amazing, no? Then here are some IRC channels from the most famous Freenode server:
Please notice the "#freenode_" code right before the #channel name. That indicates the URL is for IRC (and particularly, Freenode IRC). That differs the URL from the original chatroom sof Matrix: without that addition.

 (Riot Web joined to #kde IRC chatroom from Freenode server)

7. Let's Join Other Networks from Matrix!


Telegram and Matrix are clearly two separate networks. Same thing goes with Slack, WhatsApp, Skype, Discord, Gitter, and others. We better call them "non-Matrix groups". The secret is, Matrix can connect you to those non-Matrix groups! The Matrix "bridge" makes this works for us: a Telegram group could be "bridged" to a Matrix group so everybody in any of both groups can read-write each others. What you post in one group will be seen by everybody in the bridged group. What needed is the admin of respective group to (1) create a Matrix group (2) add some bot into both Matrix and non-Matrix groups. If you wish you could ask your Slack group admin to create a new Matrix group and bridge Slack into Matrix. That's it! To make it easier to understand, you can join examples of Matrix groups that are "bridged" to non-Matrix groups outside.
For non-Matrix group admins (say, Telegram group) who want to "bridge" to Matrix group, you are lucky, just use public bot called T2Bot:
For programmers, you can even build your own "bridges" for other non-Matrix groups (which do not have easy T2Bot support) below.

8. Let's Add More Integration!


Riot/Matrix provides so many integration you can add into a group.



 
See picture above. Currently, Riot/Matrix provides things like Etherpad, Google Docs/Calendar, GitHub, Wikipedia Search, Google Image Search, RSS Feed, even Travis CI, and more (see https://about.riot.im/apps-bots-and-bridges). It's still counting and programmers could develop custom widgets.

Now let's try to add a widget to support your team work. Etherpad is the best example.




(Etherpad text box placed on top of a group every member could edit) 

  • 1) click the 3x3 box button on the top
  • 2) click Etherpad and type the name textbox
  • 3) close the widget dialog
  • 4) a text box widget appears on top area of group
  • 5) you can write text together with group members in real-time
  • 6) you can share finished text by clicking "</>" button
  • 7) to delete Etherpad widget, click 3x3 box button again and Delete Etherpad
That's it.

9. Real World Purposes


Here's some real life problems you may encounter and you can solve it easily now thanks to Riot/Matrix.
  • Employee case: your company uses Slack to collaborate but you don't want to use Slack. Riot/Matrix is the solution: just bridge and continue your job.
  • Project manager case: your team is too diverse that one member uses Slack, one uses IRC, one uses Gitter, one uses Telegram, one uses WhatsApp, and the last one uses Jitsi. Riot/Matrix is the solution: just create a Matrix room with those integration.
  • Teacher case: you want to create online teaching that is simple and easy for everybody but it's flexible for you. You want an universal chatroom with calendar and unlimited student tasks upload. In short, you want an Edmodo alternative. Again, Riot/Matrix is your solution: simply add Calendar widget to group and invite all your students to join.
  • IRC user case: you want to save all your chats on server side without having IRC bouncer. Plus, you want prettier user interface than common IRC clients have. The solution is clearly Riot/Matrix.
  • A Telegram user case: actually it's for myself as I am teaching GNU/Linux via Telegram. I've been satisfied Telegram user since the very beginning but how if someday I need to replace it? What is the best replacement which is still libre- and privacy-respecting? My answer is Riot/Matrix.
And still there would be many, many other ideas.

10. A Brief About Matrix


Matrix is a protocol which unites different communication networks into one.


That's why it's called Matrix: because it's decentralized, federated, and bridged to be used by everybody. In other words, Matrix is like email. Please distinguish between Matrix and Riot here as Matrix is the protocol and Riot is the software.




(Matrix Protocol features, picture screenshoted from https://matrix.org/blog/home/)
  •  Matrix is "decentralized" in sense that no central company holds the whole connections and data --without other choices-- from the users.
  • Related to internal Matrix networks, there are servers, and in them there are chatrooms. The secret is, every of different servers could connect ("federated") to other servers around the world. Users from one server could connect to users from another server. Think about email, you can always send @gmail.com mail to @hotmail.com user and vice versa, despite the servers and providers are different. Compare this to non-federated one while, for example, Twitter user can never send message to Facebook user and vice versa.
  • Related to external networks, Matrix is "bridged", so users from Matrix could communicate (see, join, read, write) to other networks, among them are Telegram and Facebook.
  • Matrix is an "open" protocol. Unlike Microsoft Skype, this protocol is free (libre) and gratis (without paying) for everybody to re-implement into the form of software. In this manner, it means everybody could create their own "Riot" software if they wish and won't be banned and never need to reverse engineer Matrix protocol.

11. Clients other than Riot

Yes, there are other combination such as Nheko/Matrix, Fractal/Matrix, NaChat/Matrix, and on and on. The protocol is same, Matrix, but the programs may be different, namely Nheko, Fractal, and NaChat, and others. You may think of these like Cutegram as alternative software to Telegram desktop. Out of these, you better stick with the original official recommendation Riot/Matrix. But in case you are curious, okay, let's see.
  • Fractal: official Matrix desktop client from GNOME. It's actively developed and can be viewed as good alternative to Riot Desktop for GNU/Linux users.
  • Quaternion: cross-platform desktop Matrix client. It's developed in C++/Qt.
  • Spectral: Matrix desktop client for macOS. It developed using Swift4.

12. Advanced Features

Far above you read "Chatting Features" section mentioned nothing about things like "you can built your own Riot/Matrix home server". Yes, now this section is for system administrators who want to know about the real difference of Matrix compared to silos like WhatsApp or Slack.

13. Matrix Statistics!

See the graph first.
https://voyager.t2bot.io/#/graph



 
See the stats then.
https://voyager.t2bot.io/#/stats





There is no donation information opened on Riot.im as well as Vector.im websites. There is job vacancies, though, https://new-vector.workable.com, for you who are capable in developing Riot/Matrix. If you join them you could help the whole community.

16. My Personal Thoughts

It has been a long time since my first encounter to my favorite article about privacy/security Why privacy is more than crypto on FSF Europe website. I kept looking for libre- and privacy-oriented solution so then I found out Tox, Wire, and GNU Ring (now GNU Jami), after a long time being a satisfied Telegram user. I found Riot/Matrix for the first time at PRISM-Break Wiki and PrivacyTools.io. I got very nice stream of information about it from Trisquel GNU/Linux Forum and anything from libre distros communities. I think Matrix is what I am looking for. I really admire the wise idea: instead of making new thing, Matrix joins existed things. It tends to solve problems without creating new problem. I can recommend Matrix happily to everybody and I can say that it does not have problems they find on their existing network. Thank you all Riot and Matrix developers! Happy chatting for you all!