10 ms·
Enter the Matrix – A technical overview and guide to all things Matrix
- aaomidi 8y agoIf matrix wants to be a thing it needs to get a good and native client for popular operating systems. Riot isn't a good client.
- Arathorn 8y agoThere at least 4 good native clients in very active dev atm: * Fractal (https://matrix.org/docs/projects/client/fractal.html https://matrix.org/docs/projects/client/fractal.html) from the GNOME community (who just had a big hackathon in Strasbourg last week: https://wiki.gnome.org/action/login/Hackfests/Fractal2018 https://wiki.gnome.org/action/login/Hackfests/Fractal2018). They're looking to add E2E and VoIP in the relatively near future. * Nheko (https://matrix.org/docs/projects/client/nheko.html https://matrix.org/docs/projects/client/nheko.html) - a very Telegram-looking Qt client, which has been in very steady progress for ages. They're actively working on E2E right now. * Quaternion (https://matrix.org/docs/projects/client/quaternion.html https://matrix.org/docs/projects/client/quaternion.html) - a more IRC-like looking Qt/QML client, also in very active dev. * Gomuks (https://matrix.org/docs/projects/client/gomuks.html https://matrix.org/docs/projects/client/gomuks.html) - this one's new; a really nice dedicated text-user-interface client written in Go - again, in very active dev. Meanwhile we're also doing everything we can to improve Riot, but for desktop usage a native client will always beat an electron one :)
- vbezhenar 8y agoThe most popular OS is Windows. And Qt is not a native client, at least for Windows. Something modern built with UWP would be nice. Second popular OS is macOS. And native for macOS is Cocoa. PS not requiring anything, just my 2 cents. I, personally, like Riot.
- Arathorn 8y agoQt's native support on Windows is very very good these days, as apps like the Telegram desktop client show.
- vbezhenar 8y agoLast time I checked, Qt still used completely its own rendering, input handling, etc, imitating platform. So it's conceptually not different from, e.g. Java Swing. Probably imitation is better. That said, Windows is bad at UX consistency. Native used to mean WinAPI with built-in window classes handling input, buttons, etc (and wrappers like MFC or Windows Forms). Then it was WPF with its own DirectX-based stack. Now it's UWP with even different code. I guess, Qt is not the worst solution. macOS is much more coherent ecosystem when it comes to native.
- Arathorn 8y agoSo it's true that Qt may not be perfect at mimicking native Windows UI, but in practice people don't seem to care too much for apps if the end result is still ergonomic & responsive and integrates nicely with the overall OS (unlike Swing or XUL). And Qt seems to do that quite well. In practice, I'm not sure anyone would even want a mIRC-style pure-windows UI Matrix client...
- vesak 8y ago>macOS is much more coherent ecosystem when it comes to native. Then again if you try to run a gtk3 app like Fractal mentioned above on Mac OS, you will see that it looks exactly like a Gnome application.
- Arathorn 8y agoyup. Qt seems to get it much better on MacOS (at least from comparing Fractal with Nheko).
- deleted 8y ago[deleted]
- akerro 8y agoOn its way https://blogs.kde.org/2017/09/05/konversation-2x-2018-new-user-interface-matrix-support-mobile-version https://blogs.kde.org/2017/09/05/konversation-2x-2018-new-us...
- fcanela 8y agoIt is nice to see Matrix in HN: this project needs more visibility. In a world dominated by Slack, which removes privacy/history control from users and place walls, Matrix is the promise to have a better open scenario than IRC was. I am crossing my fingers. I hope with all my heart to this technology to flourish.
- deleted 8y ago[deleted]
- sleepless 8y agoJust a user, but I think Matrix needs to - work on stability: the status quo is unreliable. Until this is solved it's hard to recommend Matrix to anybody who is looking to use it for serious work - disable signup on main server: this is a decentralized netword and the main server is overloaded already. It is overloaded so badly, that devs decided to turn off presence for as long as I can remember first seeing matrix. So even IRC is more usable in that regard because I know when I see a user they are online or they even have presence and an away message There's more but those are two issues I think should be dealt with urgently.
- zaarn 8y agoThat and working on bridges. Some people suggest that bridges solve the problem of onboarding but the quality of the bridges has been abysmal last I checked, the only one that is somewhat maintained being the IRC bridge and even that having some problems (like showing users online even if they aren't)
- Arathorn 8y agoThe main guy working on bridges left during the funding crisis we had last year, unfortunately. Luckily we have new people joining in May to work as their day-job on it. The IRC bridge should never show users in a room who aren't currently joined online on IRC (other than when it's recovering from a crash).
- Arathorn 8y agoStability should be okay if you're not on a massively overloaded server, but it's very much something that we're working on alongside performance - in order to try to get out of beta as soon as possible (as well as support massive deployments for folks like the French Government). https://news.ycombinator.com/item?id=17031626 https://news.ycombinator.com/item?id=17031626 is a list of stuff we're doing to address it atm.
- thereandhere 8y agoYou bring up a good point about disabling signup on the main server. I've recently been wondering why the Matrix team wouldn't want to lose some of the control they have over the Matrix universe.. They could solve their scalability problem by bringing up other homeservers (why not a paid riot.im server even?) or promoting other open servers hosted by the community. Seems like Mastodon folks are favoring horizontal scalability by making people use various servers, but the Matrix team wants to keep mostly everyone on matrix.org. (I hope this doesn't sound too negative.. I know it's not like Matrix folks want to centralize things.. It's just, I wonder why they don't promote other homeservers more)
- sam_goody 8y agoCan someone point me to a good comparison of Matrix, Mattermost, Zulip, Rocketchat, IRC and XMPP (say, Prosody) or explain what niche each fills if they are not competing. Assuming for a small company with a dozen employees, all of whom sometimes work remotely.
- dsr_ 8y agoLet me take a crack at it. This is highly opinionated and probably biased. IRC is reliable, can be forced into encrypted client-server communications, and has the fewest client-side features. The strength is the number of available clients and the primacy of channels (rooms). File-sharing is available but not a focus. There are lots of bot libraries. XMPP is reliable, the server can mandate client-server encryption, and has some client-side features including simultaneous appearances (being one person logged in through several devices) and better one-to-one chat than IRC. File-sharing is an optional add-on. There is no good iOS client that I know of; mobile clients tend to be bad at requesting history. Mattermost, Zulip and Rocketchat I have the least experience with; they all seem to be very popular with small groups of users but are complex to install and have very few clients. Matrix is promising. It does one-to-one and chat rooms smoothly, server config is pretty easy, and you can have the server mandate client-server encryption. There are lots of clients that all seem to be in mid-alpha development. If it survives a year or two, I think it will be widely adopted.
- fbartels 8y ago> Mattermost, Zulip and Rocketchat I have the least experience with; they all seem to be very popular with small groups of users but are complex to install and have very few clients. At least for Mattermost I have to disagree with the "complex to install". All you need is a sql database (MySQL/MariaDB or Postgres), for production you then also should put a reverse proxy in front. With "very few clients" you are referring to client software, correct?
- dsr_ 8y agoYes.
- 0x006A 8y agoDoes E2E work now? Last time I tried, it did not. That was some time ago so things might have changed. It still is listed as "working on it" for many clients though. To develop a new communication platform today without E2E as a core functionality is odd.
- Arathorn 8y agoYes, it does. The UX is not great but the crypto has been solid since 2016: https://matrix.org/blog/2016/11/21/matrixs-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last/ https://matrix.org/blog/2016/11/21/matrixs-olm-end-to-end-en...
- 0x006A 8y agofor Riot, it still is not enabled by default due to bugs though? > As of May 2017 Riot’s end-to-end encryption is technically in beta, but this is due to some residual stability bugs and missing usability features. Once these are resolved we plan to get the full implementation security assessed and out of beta. End-to-end encryption will then be turned on by default for private conversations. https://about.riot.im/security/ https://about.riot.im/security/
- Arathorn 8y agoYup, we haven't turned it on by default yet - but this no longer really due to bugs, but missing UX features. The stuff that remains is: * Cross-signing devices when you sign up to remove verification pain * Ability to access history from before the point you join the room (if desired) * Better UX for verification (comparing mnemonic phrases rather than public key fingerprints) * Ability to optionally back up E2E keys, encrypted, on the server so you don't lose your history if you lose all your devices * Ability to search E2E rooms (using a clientside search engine) * ...and fixing any last key management bugs, although right now we believe we've fixed almost all of them.
- fb03 8y agoWhat are the differences between Matrix and Jabber? Jabber implemented a protocol with similar mechanisms several years ago, with a custom xml protocol which could also pass not only text but also rendezvous data for voip/video calls and whatever else custom data you could codify. Jabber has native protocol implementations for both clients and servers and can handle a reasonable amount of connections with ease. Clients are available throughout all platforms. I'm asking this question because I believe the reason Jabber "failed" (read: didn't catch as much as other closed alternatives like WhatsApp) wasn't because of technology hurdles, because it was poised to solve the very same problem Matrix works against - which is 'IM fragmentation', but actually a lack of a proper plan to generate interest with its intended population. I'd say work on your release plan and make your clients 'tasty' and snappy, because technologically speaking, I believe Jabber has already solved all the technological problems Matrix strives for.... and it sadly wasn't enough.
- vbezhenar 8y agoI think that main difference is the fact that Jabber has important features (in 2018 year) as an optional extensions. So you have to carefully search for a proper client and server which support those features (and your companion's client AND server should support those features as well). Matrix should have those features in core and any server or client is supposed to support them. That said, I think that main problem with Jabber is lack of a single entity pushing it. So it'll naturally lose fight against corporation with billion-dollar marketing budgets. With Matrix it might be better. Sometimes technologies losing or winning for very ackward reasons. I don't believe that Jabber will win, but with Matrix it's possible. We should keep trying.
- dnel 8y agoThe thing that concerns me about this is that while Matrix might be a more modern protocol today, it won't be long before the world moves and it requires an upgrade, and extendability has been the killer feature that has helped XMPP survive a long time albeit not to prosper. Unless the problem of convergence is solved this will haunt evolving distributed networks no matter how strongly they start.
- clishem 8y ago> guide to all things Matrix > A device is bound to an access token and E2E encryption keys (which I’m not covering in this post). This is far from 'all things Matrix' then.
- AlphaWeaver 8y agoThat's very nitpicky for such a comprehensive article.
- NetOpWibby 8y ago_Sigh_ This is HN, after all.
- packet_nerd 8y agoThis is an exciting project but still needs a lot of work (particularly in making the faster, cleaner, and easier to install).
- Ace17 8y agoFrom the FAQ: " Tox.chat looks to be a very cool clone of Skype - a fully decentralised peer-to-peer network. Matrix is deliberately not a ‘pure’ peer-to-peer system; instead each user has a well-defined homeserver which stores his data and that he can depend upon. " What's the rationale behind "impure" decentralizing? Why not go fully decentralized like Tox does?
- Arathorn 8y agoBattery usage, network utilisation, complexity of implementing clients, and wanting a more guaranteed home for your data than having it smeared over endpoints. That said we will hopefully move to a more hybrid model in time.
- stevenicr 8y agoIs this project affecting by the pgp sMIME issues in the news recently? (starting to learn this matrix thing, thanks in part to this nice synopsis posted in the article)
- Arathorn 8y agoa broken matrix client might fail to sanitise its html messages and be vulnerable in the same way, but we’re not aware of any that are.
- beders 8y agoI really would like to have a single chat client. I have friends/business partners on Skype, WhatsApp, FB Messenger, iMessage, Discord, Slack and (ze horror)MS Teams. I wish I had a single app, be it on desktop and mobile, to use, with the combined feature set of all of those (filtered down to whatever my communication partner supports). I know: how dare I dream of such a magnificent beast? What are the chances Matrix is turning into this?
- babolivier 8y agoI'd say they're quite high because not being "yet another IM thing" but rather becoming the way to bring all comms togeter is one of Matrix's core missions. Of course it's not there yet, though it's quite likely to get there in the future.