About Matrix Matrix is an open protocol for decentralised, secure communications.
Matrix Manifesto We believe:
People should have full control over their own communication. People should not be locked into centralised communication silos, but instead be free to pick who they choose to host their communication without limiting who they can reach. The ability to converse securely and privately is a basic human right. Communication should be available to everyone as a free and open, unencumbered, standard and global network.
Matrix is almost there but the last bit might make chat impossible to be federated. And i say this as a matrix user and a server maintainer.
“Instant messaging” is a service with high demand. When all servers are in one location or have high bandwidth pipes between them its not much of an issue. But once you have a group chat with people on instances all over the place, some running on Raspberry Pis…you might as well be running an email mailing list.
How did irc resolve this issue?
I
could very well beam wrong here,but I believe that IRC doesn’t have to solve this problem. IRC functions on a server/client model so someone sets up an IRC server and people connect to it and chat with one another. Every user is just connecting to a single server, rather than having users talking with one another who are not using the same provider. So long as you have a good connection with an IRC server, you will send and receive messages quickly and do not have to worry about messages hopping from one server to another over connections of unknown quality in order to reach their destination.You are wrong, IRC specification says servers connect to each other to form IRC network, and a channel can be a distributed channel, which is known to all servers on the IRC network
See https://datatracker.ietf.org/doc/html/rfc1459#section-1.3
There are a few major differences for IRC.
First there isn’t any sort of message history or sequencing beyond what is implemented on a server. For IM if your phone is off and you turn it back on all the messages you miss are sent to you. This requires each message to be stored in a database or semi long term storage, keeping track of if everyone in the group had confirmed receiving it. IRC doesn’t track any of that, if you’re not connected you miss out which makes IRC have a lot less overhead.
The other difference is that server to server was a concept for building a network of location based servers for a single network. Its not federation, but handling user overhead. You don’t have random individuals running their own servers on subpar hardware causing undue stress on the network. You dont have thousands of instances with huge degrees of latency difference to deal with. Server to server was made so you could connect to
east.myirc.co
andwest.myirc.co
.Damn, knew I should have taken the 10 seconds this would have required to google. Thanks for the info!