Live data from Hacker News

Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

matrix.org

151–160 of 204 posts

Re: Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

#151

It will guarantee secure, end-to-end encrypted conversations without degradation of the user experience. It will be compatible with any mobile device or desktop, state or personal. Is the application they're creating also going to be open source and available for auditing?

that is the plan, except the operational bits specific to their deployments

Re: Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

#152

Earlier quoted context omitted.

We spent massive effort working on: * implementing E2E encryption and getting it audited, which turns out to be very hard in a decentralised environment * refining Riot as a flagship client and trying to get it to a Slack/Discord level of UX (still a work in progress) * scaling, as the 1st gen implementation (synapse) failed to keep up with the growth of the network * adding features like Jitsi video conferencing, Wi…

(oh, and we rewrote (almost) the whole thing in Go, too)

Go is a great choice for implementing a network protocol but most of the time, rewriting is not a great choice (source needed).

Do you have any public discussions or blog posts about this decision?

Re: Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

#153
post #145
post #100

Why is the world so desperate to pretend that irc doesn't exist? Why can't we just get a new irc spec with e2e in mind? Matrix is an extremely immature project and the French gov is making an irresponsible move here to prop it up as a solution in any capacity. It's beta software! Where are the audits? Where are the formal verifications? Not that irc has those, I don't mean to juxtapose one not-good-enough product wit…

I think I can relate to your point because I used to write comments like these. You're right. The world is desperate to pretend IRC doesn't exist. We should get a new IRC spec with e2e in mind. What surprised me is that Matrix is practically a modern IRC spec with e2e in mind. What's better is that the Matrix devs acknowledge this heritage. They don't pretend IRC doesn't exist. They're very up-front about loving IRC,…

It uses HTTP requests for transit! I know you don't actually know what youre talking about, so I'll explain:

There is much more overhead to opening a connection and maintaining a connect and sending and receiving, to the degree that people with bad connections are excluded entirely from being able to reliably use it. This is not true with irc. People in third world countries can use irc. If you can ping, you can chat.

We don't WANT a chat for less technical people. We want e2e safety. We should never prioritize """normal users""" over security in a security oriented proposal! That's insane!

But hey, I'm sure youre just a teen with a laptop, so I won't hold it against you that you'd make such an irresponsible decision.

Re: Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

#154
post #153
post #145

Earlier quoted context omitted.

I think I can relate to your point because I used to write comments like these. You're right. The world is desperate to pretend IRC doesn't exist. We should get a new IRC spec with e2e in mind. What surprised me is that Matrix is practically a modern IRC spec with e2e in mind. What's better is that the Matrix devs acknowledge this heritage. They don't pretend IRC doesn't exist. They're very up-front about loving IRC,…

It uses HTTP requests for transit! I know you don't actually know what youre talking about, so I'll explain: There is much more overhead to opening a connection and maintaining a connect and sending and receiving, to the degree that people with bad connections are excluded entirely from being able to reliably use it. This is not true with irc. People in third world countries can use irc. If you can ping, you can chat…

Insert counter-patronizing preamble here.

------8While the overhead of setting up a fresh TCP connection for every exchange is non-trivial, I'm not sure "reliable on a bad connection" is a characteristic I would attribute to IRC. The protocol is notoriously unreliable to the point where established practise is to run a client on a server somewhere and then connect to that from your bad connection computers. People who don't lose IRC messages sent while their connection crapped out, while Matrix ensures their client is updated to reflect the current state of the servers as soon as they go online again.

I believe also that modern HTTP options let you reuse the same connection for multiple requests, obviating much of the overhead. Not to mention that you are free to extend the Matrix server with alternative connection methods.

We do want a chat for less technical people. In order for humanity to not screw over itself royally, we need to target the 99%, not the 1%. Things can be good and still target non-technical people, as long as they are open and federated.

Of course, convenience does not trump security, but I don't see how that is the case here either.

Re: Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

#156

Earlier quoted context omitted.

Network overhead aside, long polling can be a pretty wonderful interface. “Give me what I don’t have yet, else let me know when there is something” makes for reliable transmission that is hard to screw up. Long polling requests can work idempotently and recover from network failures automatically. I think it’s an especially wise starting point.

There shouldn't be any overhead to long polling in comparison to websockets.

What about the HTTP headers?

Re: Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

#157

Earlier quoted context omitted.

(oh, and we rewrote (almost) the whole thing in Go, too)

Go is a great choice for implementing a network protocol but most of the time, rewriting is not a great choice (source needed). Do you have any public discussions or blog posts about this decision?

Why would rewriting not be a great choice?

Re: Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

#158

Earlier quoted context omitted.

Go is a great choice for implementing a network protocol but most of the time, rewriting is not a great choice (source needed). Do you have any public discussions or blog posts about this decision?

Why would rewriting not be a great choice?

Second System Syndrome [1]

and General experience [2]

mostly because legacy systems contain a lot of implicit features and undocumented decisions that are hard to re-discover and customers get really annoyed. Maybe less of a problem in this case since it is young and rather well defined domain.

[1] https://en.wikipedia.org/wiki/Second-system_effect

[2] https://www.joelonsoftware.com/2000/04/06/things-you-should-...

Re: Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

#159

Earlier quoted context omitted.

Go is a great choice for implementing a network protocol but most of the time, rewriting is not a great choice (source needed). Do you have any public discussions or blog posts about this decision?

Why would rewriting not be a great choice?

It's normally death for a company initiative. The problem is that it takes time for the rewrite to happen. While it's tempting to believe that since you wrote it once that it will be quick to write it again, usually it takes about the same amount of time to rewrite. This leads to vastly underestimating the time scale required. At the same time, the business tends to look about 6 weeks out. For those 6 weeks they are fine, but usually a "disaster" happens and you are required to make a "quick fix" to the original. "Disaster" after "disaster" happens and normally the rewrite is abandoned. Sometimes it continues, and when you finish you discover that nobody remembered about a really crucial set of requirements that are all but impossible to implement in the new system.

However, in an open source project rewrites are often successful. Sometimes it frustrates the users in the process (see GTK/Gnome/KDE rewrites) but often there is not enough pressure to kill the rewrite so it succeeds. Whether or not you'd be better off with the original is often an open question, though.

I don't know enough about Matrix/Riot to comment about whether their rewrite was a good idea. I hope they are happy with it.

Re: Matrix and Riot Confirmed as the Basis for France’s Secure Instant Messenger App

#160
post #57

I had to roll my own chat system recently because the open source solutions out there were surprisingly insufficient - nothing seems to support websockets. Looking forward to the French contributions to the ecosystem! For instance: at the moment Matrix server implementations expect clients like Riot to long-poll for JSON about each room/chat they're connected to. Alternatives like Prosody's XMPP server implementation…

WeeChat's (the IRC client, not the similarly-named Chinese messenger) relay protocol uses websockets. This is what enabled us to build Glowing Bear, a web frontend that connects to your WeeChat instance from your browser. I like to think of that as pretty cool :) (Disclosure: I'm one of the Glowing Bear developers, so of course I'd think it's cool)
Post reply on HN