| I grant you this list with decades of IRC experience (IRCnet really mostly, some FreeNode (farewell)) and maybe? ten years of Matrix :), probably forgetting some points: - Matrix gives you persistent sessions (which sometimes seem like a concept despised by IRC proponents), meaning you won't miss messages even if your connection to the server gets disconnected for short or longer durations - ..therefore alert sending clients are easy to implement without keeping an open connection to the server, so e.g. just a curl invocation from your favorite network monitoring system - Side note: it seems IRC is unique in the way how people get offended if your network connectivity is poor, possibly resulting in a ban.. - You can connect these sessions from multiple devices at the same time, so I can see the same messages in PC and mobile devices, without using an additional host between Matrix server and my terminal, running screen/tmux/bouncer/etc. - Channels (called rooms) can be configured to show past messages to new people. For some channels this is quite handy, because newcomers can see the vibes immediately after joining (traffic/no traffic/style of communication?) and participate faster. In addition, they are able to search such messages (though the search is not very featureful). - Messages are not limited to 512 octets and there is no need for clients to come up with ad-hoc continuation messages. Instead, they are 64KiB JSON that can be easily extended for other applications, such as https://github.com/eras/mxrxtx . - Because server communication is based on HTTP, it is easy to see in the protocol which message is in response to which request, unlike in IRC - One can share media without uploading it first to another service - Matrix has the modern communication tools like utf-8-per-spec, reactions, threads, replies, mentions, edits, redacts, writing status, email notifications, voice/video chat, opt-in phone number/email based people discovery—though some of these are also considered anti-features by some. Some more rare features: per-channel nicks, html subset messages (useful for tables, bot messages and pasting HTML-colorized fragments from supporting terminals) - Matrix has end-to-end encryption available and enabled by default - Mobile clients benefit from push notifications with better battery longetivity - Like IRC, Matrix servers form a network; unlike IRC, anyone can just setup a server and connect to the network without arranging connectivity first with someone they know, with possibly quite tight criteria for getting the server accepted. This is quite like email. - This is possible because the servers don't need to trust each other, via a mechanism called state resolution. So if a server doesn't have required permissions in a room (via a participating user) to e.g. change user permissions or kick a user, then it cannot (whereas, as I understand it, ircops have power beyond their IRC server) - The communication graph (full mesh) is formed automatically per channel between participating Matrix servers, instead one per-network single-rooted tree with multiple points of failure (granted I understand IRC servers can be manually configured to overcome these failures with minimal disruptions). In Matrix each server participating in a room maintains a copy of the room contents. - Matrix uses a novel distributed graph database for ensuring messages sent during server disconnects will eventually* reach all the participants Not all of these features are the best they could be, though :), but I thought of not digging into them as I was just comparing to IRC. Some of these points may have been improved by IRCv3, or are going to, I haven't followed a lot.. At least I recall it should/will have message tagging to address the problem of protocol-level request-response matching. |