spreed icon indicating copy to clipboard operation
spreed copied to clipboard

Discussion: Matrix Integration

Open sunjam opened this issue 7 years ago • 86 comments

Specific discussions should take place in the subtickets.

This is a discussion thread for matrix.org integration as mentioned in meta thread #687. Also mentioned in chat meta thread #294 #395. Matrix has been announced as the base platform for the upcoming Librem 5 phone.

sunjam avatar Apr 25 '18 00:04 sunjam

An interesting idea you have, @sunjam. The college society I volunteer for, tested a lot of different collaboration software. We tested Slack, Mattermost, Riot.im/Matrix, Rocket.Chat, stackfield, Threema Work. From my non computer scientist point of view, it would be the best solution to closely cooperate with Rocket.Chat. I know that Rocket.Chat has not a PHP basis. But I honestly think that this is the best solution from a user experience perspective. Rocket.Chat can be installed on an own server and can also be hosted somewhere. I have NETWAYS in mind.

And for guys like me, who just want to have a good looking and working peace of software, which is easy to update and to install, Rocket.Chat seems to be the way to go. Matrix is not easy to use. It's for professional coders only. What makes Nextcloud really special is it's simplicity. I can easily install Nextcloud within my web hosting service and just use it. Great work you do by the way @nickvergessen. And Matrix is not easy anything. I was shown the installation process on a test server. It's really horrible.

And if we really want people to switch from Skype and Slack and Dropbox, that this open source society should deliver not only a good looking software, but an 'easy to handle' software too.

GoetheG avatar Jul 15 '18 19:07 GoetheG

@GoetheG In my opinion the matrix synapse server is not hard to install. It seems complicated, i understand that, but its not that hard and it just works out of the box afterwards, without much hasseling around. But i have not tried rocket.chat. The usage of matrix itself its easy too - but that should not be point of this discussion.

@Topic I would appreciate the integration of Matrix.

natrius avatar Aug 27 '18 06:08 natrius

I would rather go for implementing a matrix compatible api at least for federation. This would open a possibility to connect to matrix instances from within nextcloud talk. Or maybe it could even be possible to implement matrix's client api so existing matrix clients like riot could be used with nextcloud talk

violoncelloCH avatar Aug 27 '18 09:08 violoncelloCH

When I posted my first comment I didn’t know anything about Nextcloud Talk. Is there maybe anything planned?

I wish there were some easy way to connect Rocket.Chat with Nextcloud. That would make Nextcloud a real collaborative solution. But it seems that Nextcloud is building a completely new “messenger” from scratch.

GoetheG avatar Sep 09 '18 22:09 GoetheG

Well we want everyone, that runs Nextcloud, to be able to also run Talk with as many features as possible. When looking into the federation of chats/calls, we will surely think about all this again and what the best way is to achieve this.

nickvergessen avatar Sep 10 '18 07:09 nickvergessen

What @violoncelloCH mentioned is really interesting. I had not thought of Talk being supported by Riot, which is a front end for the backend Matrix Synapse server. There are actually many client front end implementations being used. It would be fascinating if these front ends could be used with Nextcloud Talk.

sunjam avatar Apr 25 '19 04:04 sunjam

Or if we had a matrix bridge which integrates Nextcloud Talk into the Riot client / Matrix network.

entfrickler avatar Jul 26 '19 22:07 entfrickler

As a user, I'd vote against a centralized solution like Slack, Mattermost, Rocket.Chat, Threema.. and would explicitely vote for Matrix, because it is federated.

Just my 2ct.

matthiasbeyer avatar Aug 09 '19 13:08 matthiasbeyer

Definitely some confusion in that last response. Matterbridge (linked in another request), can interconnect these services via python.

Threema and Slack are proprietary services. Mattermost is FOSS. Rocket.chat and Matrix are both Federated and FOSS. Hope this helps.

On Fri, Aug 9, 2019 at 6:37 AM Matthias Beyer [email protected] wrote:

As a user, I'd vote against a centralized solution like Slack, Mattermost, Rocket.Chat, Threema.. and would explicitely vote for Matrix, because it is federated.

Just my 2ct.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/nextcloud/spreed/issues/809?email_source=notifications&email_token=AANUKZX2C4BMURFH7OBHNBTQDVXH3A5CNFSM4E4KOWUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD36WB2Y#issuecomment-519921899, or mute the thread https://github.com/notifications/unsubscribe-auth/AANUKZU2G5LIQV4ORRR7SCTQDVXH3ANCNFSM4E4KOWUA .

sunjam avatar Aug 09 '19 15:08 sunjam

I was all for this integration initially, but recently discovered the following privacy issues with Matrix:

https://github.com/matrix-org/synapse/issues/4540 https://github.com/libremonde-org/paper-research-privacy-matrix.org

A new protocol called "The Grid" is being proposed and developed to address these issues:

https://gitlab.com/thegridprotocol/home https://gitlab.com/kamax-io/grid/gridepo

Seems to be led by one dev at the moment, though.

gtbuchanan avatar Sep 27 '19 18:09 gtbuchanan

Is there any official statement answering those points from Matrix?

Xananax avatar Sep 27 '19 19:09 Xananax

@Xananax The research paper claims Matrix did a full review of the notes here and he responded. Though, there's a lot of information to sift through and apparent contention between the two individuals.

gtbuchanan avatar Sep 27 '19 19:09 gtbuchanan

Is there any official statement answering those points from Matrix?

https://matrix.org/blog/2019/06/30/tightening-up-privacy-in-matrix https://matrix.org/blog/2019/09/27/privacy-improvements-in-synapse-1-4-and-riot-1-4

tilosp avatar Sep 28 '19 11:09 tilosp

It seems to me like the second part of the research is either old (written prior to the links @tilosp posted) or not entirely accurate. The response by Matrix in those blog articles seems to commendable to me and addresses a lot of (if not most/all? I didn't do a bullet-by-bullet comparison) the criticisms of the paper. I see this as a constructive attitude, far from the bleaker picture research paper #2 painted.

Xananax avatar Sep 28 '19 19:09 Xananax

I agree though the second blog link from @tilosp was posted only yesterday. Matrix seems to have taken significant strides to address the issues listed in the paper. They also posted an AMA on /r/privacy yesterday. Seems I commented a day too early!

gtbuchanan avatar Sep 28 '19 21:09 gtbuchanan

+1 for this topic, I'd really like my self-hosted communication platforms to be able to integrate with each other

wrapper avatar Oct 02 '19 08:10 wrapper

Yes, please. Matrix has a wonderful perspective to put all those slacks, telegrams, mattermosts, keybases, IRCs, and - eventually - even Whatsapp into that single box through https://dimension.t2bot.io/ with the right bridges...

My use case: consolidate customer care channels, professionally.

@nickvergessen You might even consider (seriously, and over time) to base your real time communication stack on matrix (giving it some time to mature).

blaggacao avatar Nov 18 '19 02:11 blaggacao

I would also advocate to link TALK with the Matrix ecosystem - would be a great and self empowering combo!!

dan-elevate avatar Dec 16 '19 12:12 dan-elevate

I too would appreciate matrix integration. Tbh I have not been impressed with the built in Talk. The chat is super basic without even offering a way to add/upload attachments or pictures and the video and voice chats were super spotty while on my own LAN.

I think it would allow the nextcloud team more focus on the "cloud" aspects to offload the Talk plugin in favor of a matrix integration. I think this would line up more with how the email integrations work where nextcloud isn't really the provider but just another client.

johnjaylward avatar Mar 04 '20 06:03 johnjaylward

It's already possible to embed Element Web as an external application if you find one that allows embedding. SSO and proper integration would be of course appreciated.

vranki avatar Mar 04 '20 19:03 vranki

Just another comment on how Matrix integration would be very appreciated passing through.

ghost avatar Mar 09 '20 09:03 ghost

Here's what Matthew from Matrix says about it. An encrypted search could also be implemented. https://github.com/nextcloud/spreed/issues/1437#issuecomment-586468169

4jNsY6fCVqZv avatar Mar 14 '20 10:03 4jNsY6fCVqZv

Now, it's possible (though in very early days) to run a Matrix server in the browser, removing the need to run and associate with a homeserver: https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix

stenwt avatar Jun 12 '20 18:06 stenwt

This should be possible now with the Matterbridge which we started shipping in Nextcloud 20. See https://nextcloud.com/blog/bridging-chat-services-in-talk/ for more information and feel free to comment or open new issues if something is still missing.

nickvergessen avatar Jan 27 '21 11:01 nickvergessen

We should record here that Matterbridge's relaybot-style bridging is not a complete subsistute for Matrix integration, which would deliver a much more user-friendly bridging solution if integrated with Nextcloud.

benparsons avatar Jan 27 '21 12:01 benparsons

Right, seems I misunderstood this then. But at least it lowered the priority a lot then

nickvergessen avatar Jan 27 '21 13:01 nickvergessen

Hopefully the priority isn't lowered very much. While the Matterbridge solution is something, the UX is not very user friendly.

Also, if the solution here is bridging rather than switching to Matrix protocol entirely (which I would prefer as it provides nice support for federation), double puppetting needs to be part of the solution, something Matterbridge can't (yet?) do.

plinss avatar Jan 27 '21 15:01 plinss

Hmm, we should clarify what people in this thread are thinking regarding further integration. If you have any screenshots or explicit examples please illucidate.

The earlier idea mentioned that stuck out to me is using the matrix client front ends on desktop and mobile with Talk.

On Wed, Jan 27, 2021, 7:43 AM Peter Linss [email protected] wrote:

Hopefully the priority isn't lowered very much. While the Matterbridge solution is something, the UX is not very user friendly.

Also, if the solution here is bridging rather than switching to Matrix protocol entirely (which I would prefer as it provides nice support for federation), double puppetting needs to be part of the solution, something Matterbridge can't (yet?) do.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/nextcloud/spreed/issues/809#issuecomment-768374950, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANUKZWNUMH6ZW6KDTZWX7DS4AYDRANCNFSM4E4KOWUA .

sunjam avatar Jan 27 '21 18:01 sunjam

To be specific, what I'm thinking regarding integration is ideally changing Talk from being an XMPP client (and including an XMPP server) to just being a Matrix client. You should simply be able to point Talk at an existing Matrix homeserver, and there could be a separate app that adds a Matrix homeserver to Nextcloud (most likely Synapse) for those that don't have one available.

Personally, I use Matrix as my primary chat service and I bridge it to everything else I need in order to talk to the people I need to talk to. My goal is to be able to stop using all other chat clients and have only one. The last thing I want is to run yet another chat client on all my devices just so a subset of the people I interact with can reach me in yet another walled garden. Furthermore, the Talk experience for text chat is considerably behind what most Matrix clients can do.

Where Talk beats Matrix (so far) is on group video chat. Matrix does 1 on 1 video chat fine, but for larger groups hands off to a (not all that well) integrated Jitsi widget. With the HP signalling server and a Janus gateway, Talk essentially matches what Jitsi can do (once SIP support is online).

Rather than see Talk try to replicate all the things other services can already do, I'd rather see the Talk expertise on video conferencing (and the Spreed/Janus back-end) integrated into Matrix, and be usable with all Matrix clients. Then the Talk app could focus more on adding a seamless integration with Nextcloud, e.g. file sharing, matching Nextcoud users with Matrix Ids, etc. and get the rest, like federation, encryption, rich text, and search, from Matrix where these are all solved problems.

In addition, Matrix already has a much better bridging ecosystem than what Matterbridge offers. By being a Matrix client, Talk would get to take advantage of that without having to re-invent bridging.

Keeping the existing XMPP back-end and having a good (i.e. double-puppetting bridge) to a Matrix homeserver would be acceptable, but it doesn't help having federated chats, and leaves all the rest, like e2e encryption to be solved somewhere down the road.

plinss avatar Jan 28 '21 01:01 plinss

In addition, Matrix already has a much better bridging ecosystem than what Matterbridge offers.

Thanks, could you get real nitty gritty on exactly what differentiates the Matrix bridging from the existing Matterbridge. Any screenshots or other details super appreciated. Cheers!

I'd rather see the Talk expertise on video conferencing (and the Spreed/Janus back-end) integrated into Matrix, and be usable with all Matrix clients

Perhaps this would be worth opening a feature request on the Matrix/Synapse end!

sunjam avatar Jan 28 '21 02:01 sunjam