11 ms·
Matrix – An open network for secure, decentralized communication
- chromedev 6y agoDo they even have production-ready server software yet? Synapse is not great, and they say Dendrite isn't ready for production.
- 67868018 6y agoRecent benchmark showed Dendrite (go) is slower than Synapse (Python) but I'd guess it's from all the context switching with the multi process design of Dendrite
- siinamon 6y agoThis has kept me from coming back to Matrix. Running your own homeserver can be pretty atrocious.
- fossuser 6y agoTheir hosting is $10/month and totally worth it. As a bonus, it helps to support the devs too.
- rglullis 6y agoThey already got investments from large governments and Automattic. I don't believe they are in dire need of financial support. I totally agree that more people should look into managed hosting, though.
- Arathorn 6y agoThe economics of this are curious actually. Element has had investments from Automattic, VCs and Status.im (no governments, ftr). However, the only reason people invest is in the expectation that Element can be a sustainable healthy business - which it does so by providing Matrix SaaS hosting, and support/consulting for big on premise deployments. In other words, it’s critical that folks use the managed hosting in order to be sustainable, otherwise we’re just burning fossil fuel, as it were.
- rglullis 6y agoI misspoke. I wanted to say that the money from the governments are part of the revenue as "support/consulting for big on-premise deployments". Sorry about that. In any case, I would be surprised that Element relies on getting significant part of their revenue from the SaaS. Isn't p2p-matrix going to cannibalize that market? I could swear that the strategy for you would be to chase the enterprise/government market and let p2p-matrix as an alternative for network effects and/or those who don't want to pay and prefer to manage things themselves.
- Arathorn 6y agonp - just wanted to clear up the confusion if folks might think Element might be part-owned by nation states, which it isn’t. So we expect revenue from SaaS, where plain TCO says it’s cheaper to get us to host your data than pay in-house people to sysadmin it for you. It’s still your DNS and your keys, and we provide db snapshots if you want, so it really is just outsourced hosting. There is definitely a market for this, as well as separately providing support for massive on premise deployments. P2P then drives both by network effects. It effectively becomes the default free-for-all platform - but anyone who actually wants a serious home for their data (e.g. any business) will want to find a server, whether that’s selfhost or SaaS.
- rglullis 6y agoOk, cool. Follow-up questions: I honestly believed that your SaaS offering was just a middle-market play and that you expected to be filled by a cottage industry of sorts. Don't you have any concerns about other business undercutting you? In a way what I am doing with communick competes already with your hosting (or I can dream about it) and I won't have the overhead of funding development. What if AWS/GCS/Azure decides to offer Matrix as well?
- Arathorn 6y agoWe don’t expect to be the only SaaS players - but we still think it’s a good market. The more hosting solutions the better - we believe there’s enough customers for everyone to go around :) We‘ve started maintaining a list in matrix.org - and if the big boys started offering Matrix hosting too; it sounds like a good problem to have! (Plus the sort of people interested in Matrix are probably not that interested in buying it from GAFAM ;)
- 40four 6y agoIs your perception of a company’s ‘need’ of financial support a good way to decide wether or not to support them? Probably not. If you believe in what they are doing and get value from it, they earned it and deserve it.
- rglullis 6y agoNo. But the whole idea of my support behind Matrix is that it allows for federation and distribution of power among different companies and entities. If the development of Matrix is somewhat secured and if Matthew and the team has already been compensated for their work, I'd rather support other players than concentrating it further on Matthew's hands.
- Arathorn 6y agoDevelopment of core Matrix is somewhat secured via funding from Element and donations, but Element is not yet profitable/sustainable as a company. Until it is, I wouldn’t be doing my job if i didn’t encourage folks to support core Matrix dev by using Element services. That said, folks should absolutely donate to non-core-team Matrix projects like Conduit or Nheko or Dimension etc too, to support the hetrogenity of the ecosystem and keep it healthy and balanced. And once Element is sustainable (and by extension the Matrix.org Foundation funding is stable), the balance should shift even further towards ensuring the rest of the ecosystem is successful.
- Arathorn 6y agoThese days Synapse is out of beta and quite performant and stable, fwiw. Certainly in the past it could be a pita though.
- AshamedCaptain 6y agoThe lack of other "serious" servers is also scaring me. XMPP can have its share of problems but this is one area which is pretty decent. Plenty of "battle tested" servers.
- Arathorn 6y agoIt’s because Dendrite is alpha and has had zero optimisation work yet - eg there is absolutely no caching yet. (Dendrite is also not inherently multiprocess - you can run it either in monolith or polylith mode).
- neiljohnson 6y agoMatrix backs the IM needs of the entire French government [1] and more recently signed the largest single instant messaging deal ever to help German schools manage remote education[2], it is also used in mission critical situations such as emergency services response. I think it is fair to say that Synapse is more than production ready. Admittedly it can be hard to admin out of the box for smaller scale instances and we intend to improve on that experience over the coming months. Alternatively, hosting options are available[3]. After a hiatus, Dendrite is under active development and making rapid progress. It is an alpha release at the moment and not yet ready for production settings, but a beta release is coming soon. [1] https://matrix.org/blog/2018/04/26/matrix-and-riot-confirmed-as-the-basis-for-frances-secure-instant-messenger-app https://matrix.org/blog/2018/04/26/matrix-and-riot-confirmed... [2] https://sifted.eu/articles/element-germany-deal/ https://sifted.eu/articles/element-germany-deal/ [3] https://matrix.org/hosting/ https://matrix.org/hosting/
- m_b 6y agoPlease, Synapse isn’t production ready, at all. See this issue for example: https://github.com/matrix-org/synapse/issues/3364 https://github.com/matrix-org/synapse/issues/3364, reported back in 2018, labelled highest priority since then and still not fixed. This is indeed a huge problem, because if you don’t have shit tons of money to put in your database server’s storage you’ll quickly get stuck. Some workarounds mentioned are non-safe hacks and shouldn’t be necessary for a production ready messaging server.
- omnimus 6y agoIve been running synapse for atlest 3 years for very active group of about 40 on tiny 1gig ram server and its been great. The main issue is if you start to federate with main matrix instance which is gigantic and can slow things down. But i dont need to federate and use it more as Slack and it just keeps getting better.
- Arathorn 6y agoThis bug is not generally a significant cause of disk space utilisation, unless you’re running a server the size of matrix.org (which is the only reason it’s marked P1). I strongly suspect you’re thinking of a separate issue: the need to automatically expire old history and reclaim disk space in general, which was fixed a while back, as per https://github.com/matrix-org/synapse/blob/master/docs/message_retention_policies.md https://github.com/matrix-org/synapse/blob/master/docs/messa...
- gobblegobble2 6y agoI seriously have no idea what's your problem with synapse. I've been running my own homeserver for over a year now and synapse is a perfect piece of software. I installed it without any hassle and it's been running without a single issue since then. I install new versions on the same day they are released without skipping a heartbeat: that's how good it is. I used to have more complaints about matrix clients, especially on Android, but things got much better recently.
- ThA0x2 6y agoEvery time I hear Matrix.org being mentioned, I giggle: https://matrix.org/blog/2019/05/08/post-mortem-and-remediations-for-apr-11-security-incident https://matrix.org/blog/2019/05/08/post-mortem-and-remediati... Describing their practices as sophomoric may be giving them too much credit.
- chromedev 6y agoI believe they tried blaming this on the creator of the C++ port of their server software without any proof and it sort of left a bad impression with me.
- meowface 6y agoThe post makes their mistakes pretty clear, I think. Public out-of-date Jenkins instance, SSH forwarding enabled by developers for all matrix.org servers, and not realizing they only rotated their personal Cloudflare API key and not their admin one. It's very embarrassing for sure, but tons of huge private corporations have been breached through worse mistakes than this. Making their Jenkins public was probably the worst decision. They explain why they did it, and it's not unreasonable (radical openness and transparency, basically), but they should've thought it through more.
- Arathorn 6y agoWhat?! We never blamed jzk for that. Impressive FUD though :/
- siraben 6y agoMatrix is great for bridging[0] between different chat applications. Personally I use it a lot to bridge to IRC, which is a great alternative to the older method of setting up a server for use with an IRC bouncer. Since there's various Matrix clients for mobile (I use Element), you can chat on IRC from anywhere. If this gets more people into IRC I'm all for it because it's one of my favorite places on the internet for discussing and learning things. There's a comprehensive tutorial[1] on how to connect to Freenode via Matrix. Gitter ⇔ Matrix bridge is pretty good too, since Gitter is pretty horrendous on web and especially mobile. [0] https://matrix.org/bridges/ https://matrix.org/bridges/ [1] https://github.com/matrix-org/matrix-appservice-irc/wiki/Guide:-How-to-use-Matrix-to-participate-in-IRC-rooms https://github.com/matrix-org/matrix-appservice-irc/wiki/Gui...
- Vinnl 6y agoAs someone who's in a Gitter room with a couple of people using the Matrix bridge: it works, but I wouldn't call it great. Messages by Matrix uses look like messages by the same user ("Matrixbot" or something like that), which simply prefixes its messages by `<username>`. @mentioning people no longer autocompletes, and you often see Matrix users trying to do it as well but inadvertently using someone's display name rather than their actual handle, thus not resulting in a notification. And when a Matrix users tries to edit their message, the edited message just gets sent again in addition to the non-edited one which is still there.
- gsich 6y agoBridges suck. You need some end-end monitoring. Most don't. So you never know if your message will reach everyone else, making bridges very shitty to use.
- daniel-s 6y agoBesides JSON, what's the main differentiator between Matrix and XMPP?
- dependenttypes 6y agoMatrix has a single implementation that supports E2EE and it uses electron. XMPP has multiple of them that do not.
- Evidlo 6y agoThat's the main differentiator?
- Arathorn 6y agoThis is completely untrue and disingenuous; there are loads of Matrix implementations that support E2EE, and only one that happens to use Electron. As of a few months ago, the list is: Element Web (via matrix-js-sdk), Element iOS (via matrix-ios-sdk), Element Android (via matrix-android-sdk2), the old Riot Android app (via matrix-android-sdk), weechat-matrix (via matrix-nio), weechat-matrix-rs (via matrix-rust-sdk), Mirage (via matrix-nio), Nheko (via mtx-client), gomuks (via mautrix), Seaglass (via matrix-ios-sdk), OCRCC Chatbox (via matrix-js-sdk), FluffyChat Flutter, Daydream via matrix-rust-sdk, etc. There’s also pantalaimon (built on matrix-nio, and in future matrix-rust-sdk), which lets any Matrix client talk e2ee. Hydrogen (github.com/vector-im/element-web) is also about to sprout e2ee via matrix-rust-sdk.
- dependenttypes 6y ago> disingenuous I find this accusation quite offensive. I was under the impression that the standard here was to assume good faith. Please retract this statement. > Element Web (via matrix-js-sdk), Element iOS (via matrix-ios-sdk), Element Android (via matrix-android-sdk2), the old Riot Android app (via matrix-android-sdk) If anything counting all of these as separate implementations is the disingenuous thing here. Admittedly though it seems that my knowledge on the topic was quite outdated. Glad to see that it improved in that front.
- em-bee 6y agoprevious and related discussions: Matrix 1.0 and the Matrix.org Foundation https://news.ycombinator.com/item?id=20157809 https://news.ycombinator.com/item?id=20157809 Matrix 1.0 – Are We Ready Yet? https://news.ycombinator.com/item?id=19416678 https://news.ycombinator.com/item?id=19416678 Synchronous Messaging at Mozilla: The Decision https://news.ycombinator.com/item?id=21835749 https://news.ycombinator.com/item?id=21835749 Automattic invests in Matrix https://news.ycombinator.com/item?id=23256050 https://news.ycombinator.com/item?id=23256050 Cross-signing and end-to-end encryption by default https://news.ycombinator.com/item?id=23107564 https://news.ycombinator.com/item?id=23107564 Running your own secure communication service with Matrix and Jitsi https://news.ycombinator.com/item?id=22802645 https://news.ycombinator.com/item?id=22802645 We’ve decided to rename Riot https://news.ycombinator.com/item?id=23611863 https://news.ycombinator.com/item?id=23611863
- Funes- 6y agoIn my own estimation, if anyone ever wants to engage with instant messaging[0], and wants it to be in an actually secure manner, the best option would be Briar[1]. It's anonymous (uses tor), P2P (meaning no data is accessible to third parties--unlike Matrix, which is federated), encrypted, and quite censorship resistant. [0] I don't think it's an efficient, non-distracting or just desirable means of communication. [1] https://briar.app https://briar.app.
- Arathorn 6y agoBriar rocks. That said, Matrix can run p2p too (but alpha): https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix
- dunefox 6y agoAndroid only, no offline message delivery (AFAIR), no voice messages, no media, etc. But yeah, theoretically it looks cool.
- Funes- 6y ago>Android only And Linux, as well--including the Librem 5 phone[0]. >no media The media attachments feature was in alpha nine months ago[1]. I guess they are still working on it. [0]: https://nico.dorfbrunnen.eu/posts/2020/briar-alpha/ https://nico.dorfbrunnen.eu/posts/2020/briar-alpha/. [1]: https://code.briarproject.org/briar/briar/-/issues/1669 https://code.briarproject.org/briar/briar/-/issues/1669.
- jabirali 6y ago> And Linux, as well--including the Librem 5 phone[0]. I think the point is more that in e.g. the US, nearly half the population has an iPhone [1], so a chat service that is only available on Android and Linux can't spread as much. [1]: https://www.counterpointresearch.com/us-market-smartphone-share/ https://www.counterpointresearch.com/us-market-smartphone-sh...
- Arathorn 6y agoBeyond the general idea of Matrix itself, a nice snapshot of all the stuff currently happening in the Matrix ecosystem right now is the This Week In Matrix blog series, which goes out every Friday. This week’s one is at: https://matrix.org/blog/2020/08/21/this-week-in-matrix-2020-08-21 https://matrix.org/blog/2020/08/21/this-week-in-matrix-2020-... Some of the stuff I’m personally most excited about right now is Hydrogen (https://github.com/vector-im/hydrogen-web https://github.com/vector-im/hydrogen-web): a super lightweight web client which heavily leans on indexeddb for storage and so minimises RAM. My primary account has 3000 rooms and about 450K visible users - on element-web this uses 1.1GB of RAM, but on hydrogen it uses 14MB :) We’re also looking at glueing E2EE into Hydrogen via the crypto layer of matrix-rust-sdk, which could be a massive win in terms of reusing and auditing a robust safe implementation for the Hard problem of encryption, rather than implementing it from scratch every time in every new client. Dendrite (go server impl) progress is also very promising - we’ve been focusing on it (at last!) since the beginning of the year, and going to enter beta in the next few weeks. A typical small/medium live server is currently using 57MB of RAM (rather than synapse’s ~500MB). We haven’t started optimising yet :) Synapse has also finally come of age - the whole codebase has almost been switched to twisted/asyncio rather than twisted deferreds, which both speeds things up a bit but also gives us way better visibility on profiling for future perf work. Almost all bits now scale horizontally (apart from the master dispatcher process). Synapse isn’t going away - we see Synapse and Dendrite coexisting much as Apache and nginx coexist today. Conduit is also super exciting as an entirely community developed Rust homeserver, which currently runs ~10x faster than either Synapse or Dendrite (but doesn’t federate yet, or scale horizontally). It’s really fun to see an indie FOSS server implementation properly take off :) Finally, P2P Matrix is coming together well - compiling Dendrite to WASM and running it clientside, using Yggdrasil currently as an overlay network to tunnel through to other P2P nodes. In short: the Matrix ecosystem is in a fairly healthy place right now - the next gen of clients and servers should be incredible :)
- Legogris 6y agoThanks for the insight, and had completely missed the blog! On dendrite: What's your impression of friction needed to migrate an existing synapse home server to dendrite? Would bridges like the mautrix family be API compatible or would they have to add additional support for dendrite? And how far away would you say you feel it is until dendrite is stable and ready for individuals as personal production server? Not looking for dates, just a feeling for how worth it is to invest getting deeper into synapse if one intends to migrate to dendrite eventually.
- corobo 6y agoDecentralised, adj: hard to use
- Youden 6y agoStep 1: Open https://app.element.io/ https://app.element.io/ Step 2: Create account Step 3: Enter username, password and email address Step 4: Click confirmation email Step 5: Log in Step 6: Share your username with others What aspect of this is hard to use? There's also another pair of decentralized systems you might be familiar with: email and the world-wide web. Do you think these are hard to use?
- Multicomp 6y agoThe steps you list above are not particularly difficult, but if everyone followed them, the decentralization features might as well be redundant because we would all be on one Central set of servers.
- kethinov 6y agoThere are other public servers. Matrix is basically like email. Pick whatever server you like and talk to whoever you want on any other server.
- deleted 6y ago[deleted]
- corobo 6y agoThe hard part is step 7: nobody else I know follows steps 1-6. I’m quite capable, thanks, others know matrix as a 1999 film. This isn’t even mentioning your steps remove the decentralised bit, which if you recall is the part I said made it hard to use! As for your final quip. Gmail and Facebook flourish because those protocols are hard to use. No I don’t find them hard to use, email was my last job, web dev is my current job. It isn’t everyone’s skill set though. I appreciate the attempt to make me out as a simpleton but mate, a chat system isn’t worth the servers it runs on if there’s nobody to talk to
- Havoc 6y agoKeen to use this for notifications and web hooks etc. slack seems great but would rather not buy into yet another proprietary ecosystem if I can help it
- thepra 6y agoI've been running Synapse from home for more than a year, so far nothing is too painful about maintenance, except at every update its asking to review the changes of the homeserver.yaml config file from the terminal, I would have liked a more automatic approach, like when a setting is different from the new one, just leave it at it is and update the rest.
- ptman 6y agoRunning debian? You can place override configs in /etc/matrix-synapse/conf.d/ and let /etc/matrix-synapse/homeserver.yaml stay updated by the package
- junon 6y agoPlease, stop using HTTP and JSON as a transport. I can't take any project seriously that thinks this is a good combination. Everything at Uber was HTTP and JSON and all it did was slow things down and cause more bug surface area.
- gsich 6y ago"but crappy networks" is the common excuse. Not entirely valid though, games work just fine.
- p_l 6y agoUsed to deal with a network that banned UDP traffic purely to offer higher paid tier for "gaming"
- barbs 6y agoWhy?
- Arathorn 6y agoWe use HTTP+JSON as the baseline default transport because it’s so ubiquitous and well understood. Anyone who’s ever touched a browser or curl knows how to use it. However, Matrix isn’t tied to any single transport - you are encouraged to use more efficient or exotic ones, eg https://matrix.org/blog/2019/03/12/breaking-the-100-bps-barrier-with-matrix-meshsim-coap-proxy/ https://matrix.org/blog/2019/03/12/breaking-the-100-bps-barr...
- jeltz 6y agoIs there anyone currently working on alternate transports?
- Arathorn 6y agoyeah, the whole P2P Matrix project is using different transports. One is CBOR+CoAP+Yggdrasil, another is JSON+QUIC+Yggdrasil. The plan is to pull these back into mainstream matrix when proven, especially as a push replacement.
- MR4D 6y agoI think for Mattix to truly make a dent in the world,it will need libraries in popular languages. I should be able to spin up a client or server in python, JavaScript, rust, c, etc with minimal effort.
- ptman 6y agoThere are client libraries for lots of languages, and a simple client is easy with just a HTTP library: https://matrix.org/sdks/ https://matrix.org/sdks/ https://github.com/ara4n/random/blob/master/bashtrix.sh https://github.com/ara4n/random/blob/master/bashtrix.sh
- MR4D 6y agoSorry if I wasn’t clear - there also needs to be server libraries. I can spin up a web server in python, Ruby, JavaScript, etc in a couple lines of code. With matrix I need to install java and then do a whole bunch of config. My belief is that as long as that hurdle remains, it won’t hit widespread adoption, even if the technology is great. Personally, I really like it, and have used Riot For a couple years now. I’d love to use it for our company, but it’s not yet there for ease of use on the server side. I think it will get there, it’s just not there now.