Extending CoTech Nextcloud? XMPP/Matrix?

We have been using Nextcloud at Animorph since the beginning of the year (mostly Files+Collabora, Calendar & Deck), big thanks to WebArchs for setting up the CoTech instance!

Inevitably however, due to working with external bodies, we have been getting involved in various slacks-like ecosystems, which we resent using. One of the alternatives we have been looking into has been Rocket.Chat, which MediaBlaze Hosts set up for the housing co-op all members of Animorph live in. The partnership between Nextcloud and Rocket.Chat is fresh and the integration/user journey is still a bit clunky.

At the EMF this year we got into the idea behind Matrix. Not just because of incredible architecture (mesh of servers, be it Nextclouds or what have you is a captivating image) or the Riot client (which bridges slacks and rockets) but also due to their other trailblazing efforts such as WebVR + WebRTC, which is of a vital interest to Animorph.

So we started inquiring into setting up an instance of Matrix and contacted both MediaBlaze hosts and WebArchs.
@chris suggested we could look into extending Nextcloud XMPP chat with a Slack bridge Slack and use Android app on mobiles for XMPP group chats as well as IRC.

After a conversation within Animorph we could internally operate with the Nextcloud-only solutions (+IRC) but we doubt if those modules can be very approachable to clients we would want to share the communication infrastructure with during the development cycles.

Hence, due to a consideration that the (internal+outreach) platform would involve different clients on different ‘channels’ at various times, the system would need to be fully cross-compatible, having apps both for mobiles and desktop for Linux, Windows, and Apple people… I believe this is necessary also to take other CoTech members out of the belly of Google.

The downside of Matrix is that as of now it would be a separate system from Nextcloud. The discussion regarding the integration has been going on on a several threads such as this or that

What do you think? Would this be something we could also discuss at the hack?

1 Like

XMPP ticks this box, there are a lot of clients, I have used Gajim from Stretch backports on the desktop and Conversations on Android and they seem fine, but a little basic compared with closed clients which have the backing of global corporations, such as WhatsApp.

We have had a CoTech XMPP server running for a while as a part of the CoTech Nextcloud server, but it has hardly been used as far as I’m aware. You can access it using your Nextcloud login with a XMPP client, or using the Nextcloud web interface, there is the ability to create private channels/rooms for only people with CoTech Nextcloud logins and also the ability to create channels/public rooms that people on any XMPP server can join.

At the last CoTech event in Newcastle several people asked me if we could setup a CoTech rocket.chat server — do people think that this would be worth a try?

I guess Rocket.Chat could consolidate the discussions via one client unlike the XMPP and, given many people mentioned the need for a real-time communication platform, Rocket sounds like a great idea to me…

2 Likes

I’ve just ordered my first VPS in order to self-host Sandstorm as their hosted offer is coming to an end and I’ve various “Grains” I don’t want to loose (and I like the platform). It was remarkably easy to get my own self-hosted instance of Sandstorm (which includes Rocket.Chat etc) up and running, but sadly Sandstorm Rocket.Chat is not compatible with the Andriod Rocket.Chat app (I’m not personally bothered by that as actively trying to use my mobile less, but makes it hard to market it to others). So a CoTech Rocket.Chat server sounds like a good idea to me too :slight_smile:

2 Likes

Me too! Especially after our talks at Newcastle about improving skill sharing etc, it seems like a place to be able to connect groups is really the first thing we need.

What are the next steps on getting a rocket.chat instance set up?

1 Like

If people can wait a week or two then I should be able to take this on, I’d suggest we use a sub-domain such as chat.coops.tech.

I’ve had a quick look over the Ansible role that Agile uses for provisioning their Rocket.Chat server and I could take on adapting this to fit in with the various Webarchitects roles we are using.

2 Likes

@chris I was definitely hoping someone would say they knew what they were doing with this so from my perspective (and CoTech as a whole, I’m sure) that would be awesome - however if i can help with it at all then let me know! then we can kick off 2020 with so much great CoTech chat :laughing:

2 Likes

We use Rocketchat internally in Autonomic and also have deployed it for clients so deffo recommend it. You can do a Slack import also which actually works really well.

2 Likes

We use riot at https://hypha.coop, as our members are active with tomesh.net. It’s pretty wonderful, and the new reactions are pretty slick. The new RiotX Android app is also great. But imho it does lack a sense of channels beings as freely creatable as Slack/Mattermost/Rocketchat offers. matrix has added “communities” to bundle groups and users, but it doesnt really address that channel creation feels heavy, and so they don’t seem to be created liberally and experimentally like in other platforms I’ve used.

I think FACTTIC members were talking about standing up a Mattermost instance.

Oh, and if folks want bridging, matterbridge (despite the confusing name) is designed to bridge like 20 different platforms, and is perhaps a simple, mon-platform specific bridge that aspires to do more than riot’s bridge (e.g., bridging threads on supported platforms and “user is typing” msgs between tools)

EDIT: and also, this! Mozilla is going with Riot :slight_smile: Synchronous Messaging at Mozilla: The Decision - Mozillians - Mozilla Discourse

We use Signal for day to day conversation but with a 12 hour deletion point to prevent us from treating it as anything more than “can you answer the door?” or “where is the key?” We also use Keybase though not often. Riot we’ve experimented with, but I’ve personally found it buggy. In terms of the protocol model, it seems best in class and Mozilla’s adoption will help make it even better.

Incidentally, we made a decision last year to abandon real time chat as it feels overly ephermal and in fact uncollaborative. We replaced this with communicating more or less exclusively using Notion (though any Wiki software would do the same job), alongside voice calls and the results were night and day. Something to consider.

1 Like

Are you physically near each other a lot?

Sometimes.

We have been more or less face to face since October, but actually adopted this policy when we weren’t full time on the cooperative during the summer. Initially as an experiment, and then as policy. It seemed to work well. We were concerned that moving to face to face would mean we documented less, but in reality it didn’t happen, which we were pleased about.

We occasionally have to remind ourselves this is the policy but it mostly works.

1 Like

There is a proposal here to use a Startin’ Blox instance for chat if we don’t do that then we could use Nextcloud for SSO for Rocket.Chat see the documentation for how this could work here — the servers that this documention is for are configured using a fork of an Ansible project I wrote, so it shouldn’t be too much work to copy things from here, we could even migrate data from Slack, if we want.

2 Likes

Notion is not open source?

The idea of autodeletion is a clever one that I didn’t know was offered. The important thing to me is to separate the communications that should persist from the ephemeral ones. No doubt there are other ways of doing this as well, but doing it one way or another then facilitates the jokes / banter / social niceties from the important messages, and should lead to a lot less frustration.

Yup, it isn’t. However someone at some point will clone most of it’s UX, which is the real power and is pretty much night and day compared to every other piece of Wiki software I’ve ever used.

1 Like