Matrix Is Everything I Want IRC To Be
Here’s a short history of the internet.
- Early 1950’s: us military hook computers up to each other and programs them to talk to each other.
- Late 1960’s: us military1 The us military show up a lot when reading about technological advancements in the cold war years. Weird… constructs reliable mechanisms for multiple computers to talk to each other across long distances.
- Throughout 1970’s and 1980’s: computer networks commercialised. Each network is its own service, which you have to pay for, one way or another. If it’s hard to imagine, think of it like tv channels: you pay to get the tv cable into your home, but then you also pay to subscribe to individual channels. And then they show you ads.
- Late 1980’s: Tim Berners-Lee goes from being an anonymous contractor at a physics lab to becoming the single most important person in the world. The reason for this is that he created the world wide web: a federated, easily navigated network of interlinked documents with an open standard and reference implementation.
- Early 2010’s: The internet starts regressing back to commercialised independent networks, but this time built on top of the web.
You should know this. This is one of the first things they should teach in computer class in school. One of the most important inventions in the history of mankind is being ruined as we watch it.
Free and Federated
The reason the internet can appear so open and accessible to anyone is because, well, it is. You may think of the web as “a few special computers that serve me www.bbc.com and en.wikipedia.org” – but there’s nothing few nor special about the computers that make up the web. The instant you install the right software on your computer, your computer is also part of the web.
There are no fees to pay to become part of the web2 Besides, you know, the costs going into transferring data to and from your computer..
You don’t have to ask for anyone’s permission.
Nobody can prevent you from becoming part of the web.
There are no certification requirements you have to prove you fulfill.
You don’t have to ask every isp to include you in their webs.
This works because when the computers on the web talk to each other, they use a free, libre, open protocol. Anyone can download the specification and create a program that is capable of speaking with other, similar programs.
This works because the web is not designed to have a single authority that has to approve all parties. Any server can become part of the web by simply speaking the right protocol. No server stands above another, all are on equal footing.
The Alternative
Now, close your eyes3 On second thought, don’t. and imagine with me an alternative history, where Tim Berners-Lee got his little side project shot down because corporate had run the numbers and realised there was no money to make on a federated web.
In this alternate reality, if you want to set up a website to show pictures of your puppies, you will first have to fill in a form and send it to the International Web Agency to get permission to host a web server in the first place. Luckily, they approve almost any request as long as it is not blatantly illegal. On the form, there is a little checkbox which you can tick if you want to license the web protocol specification. That is required to write your own web server program, and it is a one-time fee of $100 for any number of uses.
You, however, don’t have time to write your own web server, so you don’t include that in your request.
While you wait for their response, you start shopping around for web server programs. There are two of them aimed at small businesses, but both are around $500, but they will not serve more than 800 visits every month, and you’re not sure how many of your friends and relatives will want to look at your puppies. A friend of yours recommends a web server service, where you can install their web server client on your machine, and it will serve your web page through the cloud for just $20 a month. You decide that this is what you want. However, they will not let you register for the service until you have been approved by the International Web Agency, so you sit tight.
Two weeks after submission, the response from the International Web Agency comes as a stamped, official-looking “yes”. Yes! Finally you can get up and running.
Your isp is generous, and has a deal with many other _isp_s that means your web server will be instantly visible for users of all those other _isp_s. You install the client, copy over your photos and you are happy. You call your mother and inform her on how to connect to your puppy picture server. You want your visitors to also be able to visit your cousin’s similar server with pictures of kittens, but he is using a different web server service, so you cannot link to his website from your website. You think about writing instructions on how to connect to your cousin on your page, but decide against it because your visitors came for puppies, not technical walkthroughs.
A few months later, your cousin calls. He moved to a different city, and he can no longer access your puppy pictures. You make a support call to your isp, and you find out they don’t have a special agreement with the isp in that city, but they are willing to deal with that isp for you, for an increased monthly bill. You say you have to think about it, and you call the support of that isp yourself. They readily agree to include your puppy pictures in their web, and the next day you speak with your cousin again and they can access your pictures once again.
All is well again. But only for now.
Objection! Relevance, Your Honour?
The issues in the alternate history are not purely speculative; they actually show up in a bunch of popular technologies these days. Think about the following:
- There is no way for you to host your own Facebook page.
- Users on Skype cannot see that you are online on Slack.
- You can not serve up your music on Spotify by simply installing the right server software.
- If Dropbox were to shut down tomorrow, your computers would not be able to automatically switch over to your personal backup instance of Dropbox and keep functioning.
- If Microsoft gets into a legal dispute with a new device manufacturer, you may not be able to access your OneNote documents from that device.
- If you don’t like the user experience of Netflix, you can’t choose a different implementation and keep watching the same movies.
It is also interesting to note that the internet networks that have survived the test of time are all open and federated. http is open and federated. ftp is open and federated. irc is open and federated. Email is open and federated. dns is open and federated. So on and so forth.
A proprietary service is never a long-term plan. A proprietary service is always an easy way to make a quick buck while screwing over your users when you go out of business.
What is Matrix?
Before Matrix, there were no good, open and federated instant messaging networks. You know it because you probably have five different instant messaging apps on your phone, and you have to use the right one depending on who you want to reach.
What we want is something like the web, but for instant messaging.
- First and foremost, we want something that is easy to use by an average
person. It should
- handle images, audio and video just as well as it does good old text;
- support read receipts and typing notifications;
- have a good search function covering the full history of a conversation. It should also
- do group messaging and one-on-one messaging equally well; and
- synchronise which messages you have read and not yet read across all your devices.
- But then, philosophically and technically, we want
- an open standard which anyone can read and create their own clients and servers based on;
- a federated network, so that the server you create tomorrow will seamlessly start extending the network the second it starts running;
- a large number of different clients for different systems, which all support the same feature set. Additionally, we want
- a unified, neutral model of identity, so that I easily can find people, even if they are connected to a different server;
- users to be able to connect fully anonymously, if they decide they have reason to do so;
- end-to-end encryption of messages, ensuring no insidious part of the network can access the content;
- to be able to create programs that interact with the network automatically, with no intervention from a user. We don’t want these programs to be rate-limited, require special registration or somehow in other ways be second-class citizens; and
- if a company invested in the instant messaging service goes down, we don’t want the entire network to go down. We want the users to be able to simply connect to a different server and keep messaging all their friends.
This is where Matrix fits in. Matrix is all this. Matrix is a truly good instant messaging platform. I have not been able to say that about any other platform until now.
I believe most people are currently using messaging platforms that hurt them in the long run. I also believe that most people could switch over to Matrix right now, and be better off for it. It may sound silly, but most concerns people have about Matrix can be answered with, “Don’t worry, it is an open and federated network.” Being open and federated solves so many problems, and makes life so much easier for the user. For us. For people. For humankind.
If you understand anything about what I am trying to say about the importance of open and federated networks, and you have any sort of influence whatsoever when it comes to what instant messaging networks people around you use, please nudge them toward Matrix.
Matrix can be the bright future we want, if only we let it.
Matrix and irc
I am a huge fan of irc. If you don’t know, irc is an old, extremely limited instant messaging network. People don’t want to use it, because it’s not meant to be used by modern people. But I still think (not counting Matrix) that irc is the best instant messaging network in existence. The limitations it has (which are many) can be worked around, and the open nature of irc makes it easily worth coming up with workarounds for issues.
There is something about irc that makes it great, to the point where many modern instant messaging networks use irc as one of the primary sources of inspiration. Unfortunately, they misunderstand what makes irc so good; a large part of why irc is so good is its openness. Remove that (which almost all modern instant messaging networks do) and what you have is actually pretty crappy.
When people write bad news online about Slack, Facebook Messenger, WhatsApp, Skype, Telegram or what have you, I am one of the first people to comment, “Interesting, but who truly cares as long as we have irc?”4 Yes, I am one of those annoying assholes.
I have seen most complaints against irc, and I still think I can make a pretty solid case as to why it is the best instant messaging network around (again, not counting Matrix). You may be coming up with an argument right now for why irc is not good enough, but I am pretty confident I can remind you of something that will invalidate that argument.
With that background in mind, I have been trying Matrix out for a while now, and I have been nothing but pleasantly surprised at every turn. This has not happened with any other instant messaging platform.
Old habits die hard, so I will likely keep connecting directly to irc for the foreseeable future, but there may come a day when Matrix starts being my primary network of communication, and if I need to have access to irc, I connect to it seamlessly through the Matrix–_irc_ integration.
Matrix is the first modern, true irc successor for the masses.
Rejected alternative title: Matrix Matters.