[HN Gopher] Matrix 2.0: How we're making Matrix go voom
       ___________________________________________________________________
        
       Matrix 2.0: How we're making Matrix go voom
        
       Author : raybb
       Score  : 189 points
       Date   : 2023-02-13 16:55 UTC (6 hours ago)
        
 (HTM) web link (fosdem.org)
 (TXT) w3m dump (fosdem.org)
        
       | ridiculous_fish wrote:
       | Are there any guides or examples of chat rooms for open source
       | projects using Matrix?
       | 
       | We would like GitHub integration, strong spam/moderation
       | features, and avoid the hassle of self-hosting. gitter.im used to
       | provide those, but they were lost in the Matrix switch.
        
         | Arathorn wrote:
         | Matrix's moderation should be at least as good as Gitter. The
         | GitHub integration is okay (it lets you create/comment/resolve
         | issues using your GitHub identity from Matrix, and also can
         | expose GitHub issues as Matrix rooms using
         | https://github.com/matrix-org/matrix-hookshot). It's not quite
         | as tightly integrated as GitHub was to Gitter though, but we're
         | working on putting it in the Right Panel.
         | 
         | Some example Matrix communities which seem to work well include
         | Mozilla (chat.mozilla.org), GNOME
         | (https://matrix.to/#/#community:gnome.org) and KDE
         | (https://webchat.kde.org/). Smaller ones include folks like
         | Helix editor: https://matrix.to/#/#helix-community:matrix.org.
         | I don't think anyone's written a guide for getting up and
         | running though, which in retrospect is a crying shame; we'll
         | get it on the todo list.
         | 
         | (p.s. thanks for Hex Fiend! :D)
        
           | faho wrote:
           | >Matrix's moderation should be at least as good as Gitter
           | 
           | Well, yes and no. The moderation features might be the same,
           | but:
           | 
           | 1. It's a lot easier to make matrix accounts, especially if
           | you run your own server.
           | 
           | 2. The user interface for blocking an entire server is
           | basically missing? The only thing I can find has you run a
           | bot to do it?
           | 
           | So if someone with their own homeserver wants to troll you,
           | you end up playing wack-a-mole unless you self-host a bot. At
           | least that's the best I can find so far.
        
         | IceWreck wrote:
         | OSS projects that use matrix for official comms (of the top of
         | my head) - Fedora, Ansible, sonixd, binrw, gotosocial, helix
         | and ofc matrix & associated project.
        
         | jeroenhd wrote:
         | Gnome, KDE, and Mozilla seem to use Matrix (with bridges where
         | necessary). Those are quite big players in the open source
         | space.
         | 
         | I don't know how well the public Github bots will work for your
         | use case. The moderation tools are also relatively crude in my
         | experience; at the protocol level reports/ACLs/reporting is
         | quite easy to use, but there's no easy Matrix moderator
         | frontend that I know of. There's a bot (mjolnir) but not a
         | separate UI.
         | 
         | You can pay people to host your Matrix server or you can use
         | the public home servers to set up your community/spaces. Self
         | hosting usually isn't necessary.
        
         | kgodey wrote:
         | We use Matrix for our open source project:
         | https://wiki.mathesar.org/en/community/matrix. We self-host a
         | Synapse homeserver, but there's no reason why you can't set up
         | a community on one of the big existing servers (e.g.
         | matrix.org). Their Spaces feature allows you to package groups
         | of channels together.
         | 
         | I set up Maubot for GitHub integration:
         | https://github.com/maubot/github. There are moderation
         | features, but we haven't had to use them.
        
       | tonyoconnell wrote:
       | The Matrix is my last hope for a free internet.
        
         | once_inc wrote:
         | 'The' Matrix, or 'Matrix'?
         | 
         | I've been slowly getting wow'ed by the current developments in
         | Nostr, which could be a great, new open protocol for social
         | media. The native implementation of lightning network payments,
         | and the ability to follow paid relays without needing to be
         | bound to them is pretty cool.
        
         | superkuh wrote:
         | Really? Not IRC? Matrix is so heavy in terms of the protocol.
         | It has almost all the state stored on the server instead of the
         | client. That directly leads to legal/societal issues and now
         | the server has to deal with. Unlike IRC which is basically just
         | a bunch of sockets and IPs passing data without storing state.
         | 
         | And that's not even getting into the computational and network
         | problems moving and saving all that state causes as addressed
         | in this very update about how they're trying to mitigate the
         | architectural problems I just mentioned. But they'll only be
         | mitigations. And the legal/social problems will still exist and
         | since everyone (ie, 99%) of people use the Riot.im/Element.io
         | matrix.org homeserver that means social/legal pressures can be
         | easily applied.
         | 
         | I like Matrix. I even use it for video chat because of the
         | sars-cov-2 pandemic. But it is no hope for freedom.
        
           | jazzyjackson wrote:
           | The server/client dichotomy doesn't have to work in the
           | typical "log into someone else's computer" way, you can run a
           | homeserver locally and federate messages between servers.
        
             | superkuh wrote:
             | You can. Just like you can run an email mailserver. About
             | about the same proportion of people do.
        
           | Arathorn wrote:
           | If you watch the video, you'll see that we're making the
           | client-server protocol crazy lightweight
           | (https://youtu.be/eUPJ9zFV5IE?t=566) and that we're adding
           | the ability to remove servers entirely and go full P2P:
           | (https://youtu.be/eUPJ9zFV5IE?t=2155). So you're working on
           | stale data here.
           | 
           | (Also, only about 35% of users we're aware of are on the
           | matrix.org server, not 99%...)
        
           | mixedCase wrote:
           | IRC is not a protocol that as it stands can meet modern user
           | expectations of usability and functionality. If I can't use
           | it to communicate with people at large, it is not a lot of
           | freedom that is gained.
           | 
           | Most of what you complain about societal pressures either
           | apply to IRC (access to specific servers) or outright fail
           | IRC by default by not providing the feature (state).
        
           | neoromantique wrote:
           | IRC is nice, but it is very bare. I would somewhat understand
           | if you mentioned Jabber, but even then Matrix is a superior
           | choice these days.
        
             | superkuh wrote:
             | IRC isn't bare. You're just looking at it wrong. IRC is the
             | text communication layer of the _internet which is the
             | platform_. Centralizing all functions into one protocol is
             | not a great idea.
        
               | Gigachad wrote:
               | Why is it not a great idea? It's what every other
               | platform has done for over a decade now and it's working
               | great. It's absurd that I shouldn't be able to send
               | someone an image inline or make a call in a group chat.
        
               | neoromantique wrote:
               | The world has moved beyond where just text is sufficient,
               | IRC as a protocol is no longer relevant, sad but true.
               | 
               | And I say that as a regular on multiple IRC networks,
               | some through Matrix bridge.
        
               | LinuxBender wrote:
               | For the other layers one can front-end IRC with TheLounge
               | [1][2] or Convos [3][4]. TheLounge only persists history
               | in private mode meaning that users are created in that
               | front-end and chat messages are in Redis. For small
               | networks or groups of friends this is probably fine.
               | 
               | Notably missing is voice chat. I use the Mumble client
               | [5] with the Murmur or uMurmur [6] server which is light-
               | weight enough to run on ones home router. I use it on
               | Alpine Linux, works great. It's not a shiny and attention
               | grabbing as Discord but probably fine for everyone else.
               | For people to create their own voice channels would
               | require the full-blown Murmur server.
               | 
               | [1] - https://github.com/thelounge
               | 
               | [2] - https://thelounge.chat/
               | 
               | [3] - https://github.com/convos-chat/convos/
               | 
               | [4] - https://convos.chat/
               | 
               | [5] - https://www.mumble.info/
               | 
               | [6] -
               | https://github.com/umurmur/umurmur/wiki/Configuration
        
               | lmm wrote:
               | > For the other layers one can front-end IRC with
               | TheLounge [1][2] or Convos [3][4]. TheLounge only
               | persists history in private mode meaning that users are
               | created in that front-end and chat messages are in Redis.
               | For small networks or groups of friends this is probably
               | fine.
               | 
               | At that point you've just reimplemented a less-standard
               | version of matrix with extra steps though. Your protocol
               | has become heavyweight and non-standard (you could argue
               | it degrades gracefully to IRC, but in practice using your
               | enhanced server from an unenhanced client will always be
               | painful), you're holding state on the server in the same
               | way you were worried about (and without the mitigation of
               | E2EE)...
        
               | neoromantique wrote:
               | Thank you for the links, I prefer to use Matrix(Element
               | on mobile and gomuks in cli on workstations), I also use
               | weechat for certain networks that don't allow bridging
               | with matrix, I also bridge slack into same weechat.
               | 
               | But this doesn't change the fact that irc is obscure
               | minority now, no matter how many shiny web interfaces we
               | put on top of it, so embracing the actually open platform
               | that has a chance of gaining any traction is a no-
               | brainer.
        
               | donio wrote:
               | The world has also moved beyond just text 20 years ago
               | and we were all supposed to switch to Jabber/XMPP. And
               | yet here I am using IRC as much as ever. If I end up
               | using Matrix it will probably be from my favorite IRC
               | client through some kind of gateway, just like all the IM
               | protocols that have come and gone over the decades.
        
               | neoromantique wrote:
               | Nothing wrong with that, hooray for open standards that
               | welcome bridging and interconnectivity (I'm looking at
               | you, Discord).
               | 
               | But you have to admit, irc is a tiny tiny part of IM
               | usage popularity wise, and it's not for no reason.
        
           | woile wrote:
           | Has anyone taken a look at https://keet.io/?
        
             | ripdog wrote:
             | I inherently distrust anything with crypto bullshit built
             | in.
        
           | nabla9 wrote:
           | You can use Matrix IRC Bridge.
        
             | superkuh wrote:
             | In pratice there is only the Riot.im/Element.io Matrix.org
             | homeserver to Libera.chat IRC server bridge. And that
             | bridge regularly disconnects people for being idle because
             | storing and transferring state is so heavy.
        
               | neoromantique wrote:
               | What stops you from running your own bridge?
        
               | anoa_ wrote:
               | The reason for this limitation is actually on the IRC
               | side - we can only have so many users connected via
               | Matrix, so we need to time out stale ones.
        
               | superkuh wrote:
               | I asked around and it seems like you're right about it
               | not being a resource issue (network or computational).
               | The issue is that the bridge is unstable and having tens
               | of thousands of matrix.org users join/parting every now
               | and then disrupts the IRC channels.
        
       | 2Gkashmiri wrote:
       | Any word on EU DMA and other messaging interoperability? .... .
       | 
       | Is there some github repo or some other place where orgs are
       | discussing this?
        
         | Arathorn wrote:
         | There's https://datatracker.ietf.org/doc/draft-ralston-mimi-
         | matrix-t... and https://datatracker.ietf.org/doc/draft-ralston-
         | mimi-matrix-m... and associated work around the IETF MIMI
         | group, where we're proposing Matrix as a solution to DMA
         | interop.
        
       | nehal3m wrote:
       | I've been happily running a Synapse homeserver with Matrix on
       | top. It has a couple of bridges (Discord/Telegram/Signal) so the
       | people I invite through those platforms can use my server to get
       | to those services, optionally. Slowly but surely my friends have
       | been migrating.
       | 
       | In my experience Element for Android starts off pretty fast, but
       | as the weeks progress it gets slower and slower to load chats.
       | Element on Linux does not have that problem, and neither does
       | Schildichat for Android. It is my client of choice, anyone
       | frustrated by a slow client should try that one on for size.
       | 
       | That said I'm excited for the new version. I used this
       | Ansible/Docker setup, easy as pie:
       | 
       | https://github.com/spantaleev/matrix-docker-ansible-deploy
        
         | raybb wrote:
         | In the talk they explain why the app gets slow now and how the
         | app they plan to release by the end of 2023 fixes it with
         | sliding sync.
         | 
         | Hopefully that improves your situation
        
       | raybb wrote:
       | Link to YouTube video since FOSDEM video isn't loading.
       | 
       | https://www.youtube.com/watch?v=eUPJ9zFV5IE
        
         | heybrendan wrote:
         | Thanks for providing. Both the .webm and .mp4:
         | 
         | "No video with supported format and MIME type found."
         | 
         | Not a great UX, but certainly not worth anyone getting upset
         | about, given FOSDEM is seemingly volunteer driven.
        
       | Femtiono wrote:
       | Shouldn't it be vroom?
        
         | Arathorn wrote:
         | Matrix 2.0 will run so smoothly there won't be any nasty
         | rattling r's in the onomatopoeic voom :P
        
       | snvzz wrote:
       | Once this is deployed, Matrix will finally be providing the bare
       | minimum to be actually workable. About time.
       | 
       | Then we can finally try and bring in everybody who's currently
       | trapped in proprietary IM.
        
         | kadoban wrote:
         | You're not exactly wrong, but you could have worded that a lot
         | more kindly.
         | 
         | I'd say that this will remove my last hesitation I've had in
         | recommending Matrix to people.
        
           | snvzz wrote:
           | I tried (being kind).
           | 
           | What Matrix 2.0 fixes were true pain points which didn't keep
           | me from using Matrix with my closest friends, but kept me
           | from pushing Matrix to most people.
           | 
           | For a complete example, not that long ago (couple months), I
           | had to wait over 10 minutes to send a message to somebody on
           | Element on Android (on the street, trying to meet with them),
           | because I turned connectivity on at that moment for the first
           | time that day, and syncing took that long.
           | 
           | Now, this is instant, so is joining new rooms; This meets
           | most people's expectation.
           | 
           | Having native videoconference is also very welcome, but the
           | old hack was not a deal-breaker.
        
             | dmix wrote:
             | > because I turned connectivity on at that moment for the
             | first time that day, and syncing took that long.
             | 
             | So you had to sync all of the messages on the server first
             | before sending a message?
        
               | jeroenhd wrote:
               | That definitely used to be the case with Matrix. Sync has
               | been improving gradually over the last year to alleviate
               | that issue, though, assuming your server regularly gets
               | updated and you keep your clients up to date.
               | 
               | Sync still takes a second in large rooms, but you no
               | longer need to download a thousand messages just to see
               | the three latest ones.
        
         | jacooper wrote:
         | Most of the problems lie in the clients though. Which should
         | improve with element X.
        
           | snvzz wrote:
           | AIUI Element X is just an element build with these "Matrix
           | 2.0" features. It is not a new client.
           | 
           | Both the servers and the clients will have to be updated to
           | leverage them.
        
             | Arathorn wrote:
             | Element X is an entirely new client written in Rust + Swift
             | UI/Jetpack Compose (https://github.com/vector-im/element-x-
             | ios and https://github.com/vector-im/element-x-android)
             | which will eventually replace the legacy Element apps
             | (https://github.com/vector-im/element-ios and
             | https://github.com/vector-im/element-android).
             | 
             | The features already exist serverside; we're just working
             | on getting them out of beta.
        
               | snvzz wrote:
               | Thanks for the pointers, had no idea.
               | 
               | I am hopeful it also improves resource usage, bringing it
               | closer to hydrogen.
               | 
               | Is this also for the desktop/browser version?
        
               | DoItToMe81 wrote:
               | Also curious to know if it has web clients and desktop
               | clients.
        
               | Arathorn wrote:
               | We're not planning to rewrite Element Web/Desktop in Rust
               | (yet), so the current app will remain there - although
               | we're going to give it a fairly major UI refresh to match
               | the new mobile apps.
        
               | ehPReth wrote:
               | ooh awesome. I'm just starting the video but I'm really
               | hoping sharing is improved on iOS. Like full quality
               | video sharing from the share sheets, or seeing my matrix
               | rooms/contacts in the top row of contact suggestions, but
               | most importantly the ability to add 'comments' to
               | photos/links I share with people
               | 
               | e.g. share a link to a GitHub repo or a photo and be able
               | to quickly say something in the same sheet without having
               | to switch to the app and say the thing and the back to my
               | browser
               | 
               | edit: had to use YouTube in the end:
               | https://www.youtube.com/watch?v=eUPJ9zFV5IE
        
       | moffkalast wrote:
       | Unfortunately, no one can be told what the Matrix is. You have to
       | see it for yourself.
        
       | jimlongton wrote:
       | I hope their security is better than in 2019 when the French
       | Tchap service based on Matrix was immediately compromised by a
       | trivial attack [1].
       | 
       | Matrix.org has also been breached in the past [2].
       | 
       | That's ignoring the fact their project was born out of a company
       | that operates front offices for one of the world's most
       | aggressive spy agencies...
       | 
       | [1] https://medium.com/@fs0c131y/tchap-the-super-not-secure-
       | app-...
       | 
       | [2] https://matrix.org/blog/2019/04/11/we-have-discovered-and-
       | ad...
        
         | Arathorn wrote:
         | 1. The Tchap issue was specific to the French deployment,
         | rather than being a bug in Synapse or anything Matrix specific.
         | (It was actually a bug in python, fwiw:
         | https://bugs.python.org/issue34155. Agreed that it should have
         | been caught internally though)
         | 
         | 2. Yup, unfortunately matrix.org got pwned 4 years ago.
         | (Thankfully E2EE means that encrypted conversations weren't
         | compromised). This was a (bad) sysadmin fail; again, nothing to
         | do with Matrix, the protocol, or the implementations (and the
         | rest of the network was of course unaffected).
         | 
         | 3. I've never seen any evidence of Amdocs being involved in
         | spying, and many of the accusations there seem to be rooted in
         | antisemitism. They acquired the two companies (one UK, one
         | French) which turned into Matrix in 2010; we span out and set
         | up Element in 2017.
        
         | preya2k wrote:
         | Got a source for that third claim of yours?
        
           | jimlongton wrote:
           | https://en.wikipedia.org/wiki/Matrix_(protocol)#Funding_Cris.
           | ..
           | 
           | AMDOCS has been accused multiple times of being an extension
           | of Mossad, including in the US where the investigations got
           | quietly ended. Leaked cables from 2009 showed they were also
           | on the radar of South Africa's intelligence agency [1].
           | 
           | [1] https://www.news24.com/news24/spy-cables-were-israeli-
           | spies-...
        
             | preya2k wrote:
             | Thanks for the links! It is very interesting, but I', not
             | sure how/if what kind of influence this has on Matrix. Just
             | because they were born out of a shady company, doesn't
             | invalidate the project. Heck, we're using software
             | (Disassemblers) that are maintained by the NSA (Ghidra)
             | these days. Since they are open source (just like Matrix
             | and Element) we can still be pretty sure that they're not
             | doing anything shady.
        
               | kitkat_new wrote:
               | > Just because they were born out of a shady company
               | 
               | shady because of accusations?
        
         | jszymborski wrote:
         | I think that last claim deserves a citation.
        
       | [deleted]
        
       | Loic wrote:
       | For my company, we are using an hosted offer from Element.io[0].
       | 
       | It works wonderfully, it became a really nice hub of
       | communication, information sharing with dedicated rooms for
       | different stuff (CI/CD, link sharing, planing, etc.) and the
       | service has no downtime I can remember in the past year.
       | 
       | Highly recommended and this funds indirectly the development of
       | Matrix.
       | 
       | [0]: https://element.io/pricing
        
         | benatkin wrote:
         | That seems like a pretty good open-core project with the core
         | under the Apache 2.0 license. Still, unlike GitLab, I haven't
         | heard of many running their own custom Element and until I do
         | I'm a bit wary of lock-in.
        
           | IceWreck wrote:
           | Really ? I have been self hosting for atleast three years.
           | 
           | Dendrite, conduit and synapse - matrix homeserver software
           | (you have to use one of them) have thousands of stars.
           | 
           | I'm pretty sure atleast 10k+ matrix homeserver deployments
           | exist - maybe someone from matrix.org can give a better
           | number because each homeserver is probably federating with
           | theirs.
           | 
           | And thats to say nothing of unfederated servers i.e. orgs
           | hosting matrix for internal use.
        
           | kosciak9 wrote:
           | [dead]
        
           | Arathorn wrote:
           | How can you get locked into an open protocol?
        
             | benatkin wrote:
             | By getting locked into tools on top of it.
        
               | camgunz wrote:
               | I think generally the point here is: if you're worried
               | about getting locked into a totally open ecosystem,
               | there's nowhere for you to go.
        
               | benatkin wrote:
               | I specifically mentioned something that I was more
               | comfortable with: GitLab
               | 
               | So I don't know where you got "there's nowhere for you to
               | go" from.
               | 
               | Element has open source apps and that's great. It just
               | seems to not have a very strong culture of people self-
               | hosting it. Though one comment did provide me a place to
               | look and I found this and am now more comfortable with
               | it. https://schildi.chat/ Still it would be great to see
               | it have some big instances like GitLab does with Debian,
               | Freedesktop, and others. Then I wouldn't feel I was going
               | it alone if I self-hosted it.
        
               | camgunz wrote:
               | Oh! Well, a couple things:
               | 
               | - Matrix is the protocol, Element is confusingly both the
               | hosting service and the mobile app, and Synapse is the
               | server -- just to get terminology right
               | 
               | - Matrix actually does the "multiple clients" thing
               | really right [0]
               | 
               | - I think a lot of people self-host; I did and there are
               | a few others in this thread. It's easy if you've any
               | experience hosting web API servers. A core Matrix goal is
               | to be decentralized, so self-hosting is thus also a core
               | goal. You can see docs here [1], or docs for Docker here
               | [2] if that's your thing.
               | 
               | [0]: https://matrix.org/clients/
               | 
               | [1]: https://matrix-org.github.io/synapse/latest/
               | 
               | [2]: https://github.com/matrix-
               | org/synapse/tree/master/docker
        
               | Arathorn wrote:
               | Like https://element.debian.social for instance? ;)
        
               | benatkin wrote:
               | Yeah that's pretty good. Not quite to where GitLab is,
               | but in the right direction. GitLab is really helpful with
               | self-hosting.
        
               | andrewshadura wrote:
               | What do you mean not quite? There are much more options
               | than with GitLab, and a lot of people are self-hosting it
               | actually.
        
               | benatkin wrote:
               | I mean Element's website says very little about
               | installing it and encourages using mobile apps which
               | require going through the app store, while GitLab has all
               | kinds of resources for self-hosting. They do try to steer
               | you to self-hosting the ee version though.
               | 
               | Element: landing page https://element.io/solutions/self-
               | hosted-or-cloud-collaborat...
               | 
               | GitLab: all the things https://about.gitlab.com/install/
               | at the bottom is the Debian package, but if you go to the
               | Docker Page and click the username you can see gitlab-ce
               | there as well.
        
               | derin wrote:
               | Gitlab and Element's website structure is different.
               | element.io is the site for the managed product, so even
               | their "on-premise" installer is meant to be used in a
               | commercial relationship. For install docs you'd probably
               | have to purchase their product (which isn't available
               | freely).
               | 
               | You probably want to read the open-source software's
               | installation instructions at: https://github.com/vector-
               | im/element-web
               | 
               | TLDR, check out the project, run `yarn install`, then
               | edit the config file, then `yarn build`.
               | 
               | And, yes, that is all there is to it. It's
               | _significantly_ simpler to deploy than GitLab.
               | 
               | Finally, you keep mentioning self-hosting; you _can_ just
               | use a non-self hosted application like the downloadable
               | version of Element, SchildiChat, Fluffychat, or any other
               | client.
               | 
               | No reason to bring hosting into the mix for the client,
               | if that's causing concern.
        
               | benatkin wrote:
               | Using an official build of element makes it feel less
               | open, unless the builds are reproducible. Are they?
               | 
               | To me it looks like they come with proprietary stuff:
               | https://element.io/pricing
               | 
               | Especially Group Sync seems like something to drive you
               | into their paid offerings, I assume by keeping the code
               | close to the vest.
        
           | Ambroisie wrote:
           | I run my own self-hosted synapse (backend) and element
           | (front-end).
           | 
           | It's been working flawlessly since I deployed it (about 2
           | years ago now).
        
           | fiddlerwoaroof wrote:
           | There's lots of element instances out there and alternative
           | clients like Cinny. What's harder to duplicate is the
           | homeserver, Synapse. But even there there's also Dendrite
        
             | benatkin wrote:
             | Well, I haven't heard of any and your comment doesn't help
             | me to find any. I had heard of Cinny but currently I am
             | assessing Element.
        
               | ripdog wrote:
               | matrix.org has a listing of clients. There are plenty if
               | you only need basic features, but Element is the only
               | feature-mostly-complete client.
        
               | benatkin wrote:
               | I had to look up each of them. This looks to be the only
               | one that is based on Element:
               | 
               | https://schildi.chat/
        
               | ripdog wrote:
               | Is it a requirement that you use an Element-based client?
        
               | benatkin wrote:
               | No, but since Element led by some of the same people as
               | Matrix, I want to observe the type of open core project
               | it is. Is it more like GitLab or more like Supabase?
               | GitLab has a lot of help for self-hosting, while with
               | Supabase if you want to run its components on your own
               | it's up to you.
        
               | andrewshadura wrote:
               | Unlike GitLab, Matrix is not open core, and so isn't
               | Element or Synapse, they properly and fully open source.
               | 
               | Also, Element is just some JavaScript in your browser or
               | electron shell, there's no need to self-host it really,
               | although you can (just put some HTML+CSS+JS up on a
               | webserver) -- you want to self-host Synapse, and that's
               | trivial to do (there's a Debian package, a Docker image
               | and so on).
        
               | benatkin wrote:
               | > Matrix is not open core
               | 
               | I'm comparing Element.
               | 
               | > and so isn't Element
               | 
               | It sure seems to be. Look at the red X's and green
               | checkmarks in the comparison: https://element.io/pricing
               | There are different opinions on what Open Core means
               | though.
        
               | fiddlerwoaroof wrote:
               | The whole point of matrix, though, is that it's an open
               | protocol. If Element were proprietary, that wouldn't be
               | the same sort of problem as we have with discord/slack
               | because anyone could just implement the protocol
               | according to the specs and be an equal participant at the
               | table.
        
               | riedel wrote:
               | This is a list of public home server instances:
               | https://joinmatrix.org/servers/
        
               | benatkin wrote:
               | Great, thanks. I didn't think to look there since a
               | Matrix homeserver is a different thing, but that shows a
               | bunch of self-hosted Element instances!
        
             | mcronce wrote:
             | Conduit as well, although AFAIK it's not an "official"
             | homeserver, while Dendrite is
        
           | zamalek wrote:
           | Conduit was pretty straightforward to set up, I just have it
           | running with podman+systemd. It also works great with
           | heisenbridge, which is an IRC gateway.
        
           | snerbles wrote:
           | I've been self-hosting a federated Matrix homeserver since
           | 2018. It's small (about 20 active users), but it was enough
           | like Discord and Slack that the less technically-inclined in
           | the group have had little trouble adjusting to it. The main
           | friction points have been the UI changes in Riot/Element over
           | time ("where do I put the homeserver URL thingy again?"), and
           | the fact that my friends seem to constantly forget their
           | passwords and (this is really a separate issue from Synapse
           | itself) setting up an account for transactional emails is a
           | pain in the ass.
           | 
           | Amusingly, two of my co-workers from a previous job also run
           | their own homeservers, one a smaller private instance similar
           | to mine and the other a single-user node that bridges many
           | different chat systems together for personal use. The two of
           | them also interact with the users on my homeserver on a
           | regular basis in various public and private channels.
           | 
           | I should note that only one of the active users in the
           | channels on my server is from matrix.org - everyone else is
           | from the same server or federated instances run by other
           | people. Matrix.org could go down tomorrow and things for us
           | would mostly keep running just fine.
           | 
           | I do wish Synapse had a proper account invite system for
           | private servers, and not the "spin up a matrix.org account
           | and chuck the hapless fool in the hopefully-federated room"
           | method that was there the last time I tried.
        
         | dmix wrote:
         | How are voice calls?
         | 
         | Edit: looks like there's a 50 user minimum for business plans?
        
           | nehal3m wrote:
           | If you host a server yourself you can hook in coturn (it's
           | enabled by the linked playbook by default):
           | 
           | https://github.com/spantaleev/matrix-docker-ansible-
           | deploy/b...
           | 
           | https://github.com/coturn/coturn
        
       | fenesiistvan wrote:
       | How Matrix is better then SIP?
        
         | Arathorn wrote:
         | The Matrix team spent 15 years building SIP stacks before we
         | gave up and created Matrix, so I can answer this with some
         | confidence:
         | 
         | Superficially, Matrix looks a bit like SIP: for 1:1 calls, you
         | send an m.call.invite (like a SIP INVITE) to someone; they
         | answer with an m.call.answer (like a SIP 200 OK); eventually
         | someone hangs up with an m.call.hangup (like a SIP BYE).
         | However, the differences are:
         | 
         | * As a transport, everything goes over normal Matrix signalling
         | (by default HTTPS+JSON) rather than SIP's mix of UDP and TLS
         | sockets. As a result, no need for SIP's three-way handshakes
         | inherited from its UDP transport
         | 
         | * As a result, you inherit Matrix's end-to-end-encryption and
         | decentralisation for free (so no special Routes, Vias, Record-
         | Routes, branch parameters etc from SIP - it uses the Matrix
         | client-server and server-server APIs over HTTPS instead)
         | 
         | * Everything is trickle ICE by default for rapid call setup, no
         | need to wait until you have all the ICE candidates to proceed
         | with the call
         | 
         | * No offerful/offerless invites: everything is offerful.
         | 
         | * Matrix piggybacks on WebRTC for its media protocol, so you
         | don't have the fragmentation of different media transports that
         | SIP has inherited
         | 
         | * Matrix (as of https://github.com/matrix-org/matrix-spec-
         | proposals/blob/mat...) now supports multiparty native VoIP
         | calls in the same conversation: effectively letting you signal
         | full-mesh, SFU and MCU style multiway video/voip using the
         | _same_ mechanism as you 'd use for a 1:1 call. This is probably
         | the biggest difference in the end: with Matrix's VoIP you can
         | jump straight in and have interoperable Zoom/Teams/Jitsi style
         | conferences (as shown in the OP at
         | https://youtu.be/eUPJ9zFV5IE?t=1513) - Matrix isn't just for
         | boring old PSTN/PBX-style 1:1 calls, but for the conferences
         | folks actually expect to use today.
         | 
         | You can play with it at https://call.element.io, and if you
         | _really_ want to compare with SIP, go to the developer tools in
         | options and turn on callflow mode, which will draw little
         | mermaid sequence diagrams of the call signalling for the calls,
         | so you can see precisely what 's going on :)
        
           | chagaif wrote:
           | I'd be curious to hear what would be something that SIP is
           | actually better than Matrix at, any ideas? :)
        
       | the_duke wrote:
       | Video not available yet?
        
       | neilv wrote:
       | What are the implications of these changes for someone else
       | wanting to make an interoperable Matrix server or client from
       | scratch?
       | 
       | Will it be easier than before?
       | 
       | (I've written several IRC clients, and a simple one could be done
       | in an afternoon with only a sockets/TLS library. But when I
       | looked at Matrix briefly, implementation seemed very big-moat.
       | And now it's a rapidly moving target.)
        
         | Arathorn wrote:
         | Matrix clients should be _super_ easy to write - e.g.
         | https://news.ycombinator.com/item?id=20948530
         | 
         | Servers are definitely harder - it's probably similar
         | complexity to writing a git implementation (given it's
         | basically doing the same operation: synchronising DAGs of
         | commits between replicas of a chat room).
         | 
         | In terms of it being a rapidly moving target: from memory we've
         | never broken backwards compatibility on Matrix since day 1 back
         | in 2014. "Matrix 2.0" is not a breaking change; it's just
         | adding some new APIs to change performance to be O(1) rather
         | than O(N) (and switching to OIDC for auth and native VoIP for
         | multiparty).
         | 
         | So, overall, I'd say it makes things easier: both Matrix client
         | & server authors will no longer have to mess around
         | implementing custom auth (which was a _huge_ burden to get
         | right), but be able to use existing mature OIDC
         | implementations. Meanwhile, the new sync API should be as easy
         | as the old one (although we haven 't really done a like for
         | like comparison yet, given we've been obsessing about driving
         | the new sync API as efficiently as possible)
        
           | UltimateEdge wrote:
           | > "Matrix 2.0" is not a breaking change Was there really no
           | better name for the talk?
        
             | abnercoimbre wrote:
             | I must acknowledge I was very spooked by the 2.0 in there
        
             | justeleblanc wrote:
             | Semver does not apply to everything, and definitely not to
             | end products aimed at consumers.
        
               | palata wrote:
               | Except that Matrix is a protocol, and the end products
               | using it may like to know that v2.0 (which says "I'm
               | breaking backward compatibility") is actually not
               | breaking backward compatibility.
        
           | neilv wrote:
           | I don't see the end-to-end encryption there. Nor any of the
           | other tablestakes features.
        
             | Arathorn wrote:
             | Well, if you want end-to-end encryption, then obviously
             | that's going to be hard to write from scratch(!) -
             | especially if you want it to be secure. However, we make it
             | trivial to get up and running by piping your client through
             | a proxy like Pantalaimon (https://github.com/matrix-
             | org/pantalaimon/) which takes your normal traffic and makes
             | it E2EE.
             | 
             | Not sure which "any of the other tablestakes features" you
             | have in mind... obviously if you want loads of features,
             | then you're going to have to write a whole bunch of code to
             | implement them in your client, or build on an existing SDK
             | like matrix-bot-sdk, matrix-rust-sdk, matrix-js-sdk etc.
             | Not sure that's a disadvantage of Matrix though(!)
        
               | neilv wrote:
               | I recall the selling point of Matrix being security.
               | (Otherwise, we could just use IRC.)
               | 
               | The conventional IETF-ish Internet ideal of open
               | standards is to have a specification that is
               | implementable.
               | 
               | When the selling point is security, insecure
               | implementations don't help us.
               | 
               | Suggesting an off-the-shelf proxy kludge doesn't clearly
               | answer how implementable it is.
               | 
               | Sounds like you're saying that the protocol (with
               | necessary security) is hard to implement. Do the new
               | changes affect that one way or the other?
        
               | lxkdldls wrote:
               | Modern XMPP+OMEMO has a stronger security story and isn't
               | controlled by a single corporation with a CEO who can't
               | help but get involved in every HN thread about his
               | product, and there are multiple working clients for every
               | platform, which is something Matrix can barely claim
               | 
               | Of course "Arathorn" would say it's easy to implement a
               | client for the protocol he controls unilaterally, it's in
               | his interest to get you locked in!
               | 
               | There is one cross platform client for matrix and it
               | drives the features: element
               | 
               | I say this from a place of current experience, as I run a
               | server and use element and fluffy chat, each of which has
               | its own issues. If it's so easy, where are the others?
               | Why is there only one third party home server available
               | that is only partially implemented? XMPP offers at least
               | three to choose from. Now /that/ is a real protocol
               | 
               | There is zero benefit for choosing matrix over XMPP
        
               | bobthebuilders wrote:
               | [flagged]
        
       | camgunz wrote:
       | NB: I can't seem to watch or download the videos
        
         | ehPReth wrote:
         | here's a YouTube alternative; the files on the ftp.* host seem
         | to be 0 bytes: https://www.youtube.com/watch?v=eUPJ9zFV5IE
        
           | camgunz wrote:
           | Fab, thank you!
        
       ___________________________________________________________________
       (page generated 2023-02-13 23:00 UTC)