WEBVTT

00:00.000 --> 00:09.000
Yeah, let's figure out how we do to enter the matrix.

00:09.000 --> 00:14.000
I'm also very interested by saying that, and thanks for coming here.

00:14.000 --> 00:18.000
And in this big round of people, thank you very much.

00:18.000 --> 00:20.000
And a big applause.

00:20.000 --> 00:26.000
Thank you very much.

00:26.000 --> 00:28.000
My name is Mikhail.

00:28.000 --> 00:31.000
Here we have Gregory, Nils, and Melon.

00:31.000 --> 00:35.000
And we are part of the Ubuntu Matrix Council.

00:35.000 --> 00:39.000
And Melon is part of the Ubuntu Community Council.

00:39.000 --> 00:40.000
Excellent.

00:40.000 --> 00:45.000
Yeah, first let's have a short call.

00:45.000 --> 00:46.000
Yeah, I did.

00:46.000 --> 00:52.000
First let's have a short call to see how many people here are using matrix.

00:52.000 --> 00:57.000
How many are using R.C. and how many of you are using both.

00:57.000 --> 00:59.000
Okay.

00:59.000 --> 01:01.000
We're going to use our hands.

01:01.000 --> 01:02.000
Yeah.

01:02.000 --> 01:03.000
No, no, no, no.

01:03.000 --> 01:04.000
Yeah.

01:04.000 --> 01:11.000
We wanted to do it on matrix, but then the results might be a bit skewed.

01:11.000 --> 01:14.000
Yeah.

01:14.000 --> 01:15.000
Yeah.

01:15.000 --> 01:17.000
Sorry.

01:17.000 --> 01:18.000
Yeah, sure.

01:18.000 --> 01:19.000
It comes to slow me.

01:19.000 --> 01:22.000
Flip part you to see.

01:22.000 --> 01:24.000
Maybe we can go to the next slide.

01:24.000 --> 01:26.000
There's going to be an out.

01:26.000 --> 01:27.000
Yeah.

01:27.000 --> 01:28.000
The QR code is here again.

01:28.000 --> 01:30.000
So a bit of history.

01:30.000 --> 01:36.000
Why did we need an alternative to the R.R.C. and other chatting platforms?

01:36.000 --> 01:40.000
First of all, we are using all kinds of different platforms.

01:40.000 --> 01:43.000
For example, canonical is using metamose.

01:43.000 --> 01:46.000
Other communities are using this code.

01:46.000 --> 01:48.000
Telegrams like rocket chats, etc.

01:48.000 --> 01:53.000
There's a little bit of this joint communication between groups,

01:53.000 --> 01:55.000
teams and communities.

01:55.000 --> 02:02.000
So we figured that it was time to find something that we can all commonly use.

02:02.000 --> 02:05.000
And that we can all commonly collect.

02:05.000 --> 02:07.000
Some of you might say, why not R.C.

02:07.000 --> 02:08.000
It works.

02:08.000 --> 02:10.000
It has worked for decades.

02:10.000 --> 02:15.000
The problem is that it might work for all the folks or more traditional folks,

02:15.000 --> 02:21.000
but as you can see, even within open to communities,

02:21.000 --> 02:29.000
the message count for IRC support rooms has been steadily declining.

02:29.000 --> 02:36.000
So why is IRC declining?

02:36.000 --> 02:41.000
We figured that it was mostly because of these three causes.

02:41.000 --> 02:47.000
Like of modern features, most people actually like sharing images, links,

02:47.000 --> 02:51.000
widgets and occasional gifts.

02:51.000 --> 02:58.000
It is kind of obscure to get started for newer contributors and newer members of the community.

02:58.000 --> 03:03.000
Getting push notifications, getting AFK messages.

03:04.000 --> 03:06.000
It's not ideal.

03:06.000 --> 03:09.000
Let's say that way.

03:09.000 --> 03:14.000
And there are no pretty much no IRC users apart from Linux nerds.

03:14.000 --> 03:21.000
And we might want to embrace other people than us.

03:21.000 --> 03:24.000
So we started our journey.

03:24.000 --> 03:29.000
I think that you recognize this expertise in the comic strip.

03:29.000 --> 03:31.000
It's a little bit modified.

03:31.000 --> 03:35.000
So we are currently somewhere around here.

03:35.000 --> 03:38.000
We've got almost everybody on Matrix.

03:38.000 --> 03:44.000
There are some people that will probably stay on IRC until the heat death of the universe.

03:44.000 --> 03:49.000
So we can do anything about that, but we can still maintain a bridge to the IRC.

03:49.000 --> 03:53.000
So at least they can be somewhat happy.

03:53.000 --> 03:56.000
So why Matrix?

03:56.000 --> 03:59.000
Matrix is a modern chat platform.

03:59.000 --> 04:00.000
Pretty modern.

04:00.000 --> 04:03.000
Where you can use a single account to talk with multiple communities.

04:03.000 --> 04:08.000
I think that you probably all know that from the past few thoughts.

04:08.000 --> 04:10.000
And of course it's open.

04:10.000 --> 04:12.000
It's open source.

04:12.000 --> 04:15.000
So that's a big plus.

04:15.000 --> 04:19.000
Other reasons it's popular in Linux communities.

04:19.000 --> 04:22.000
A lot of other communities such as open-source federa.

04:22.000 --> 04:24.000
They all use Matrix.

04:24.000 --> 04:27.000
So we can already talk to them.

04:28.000 --> 04:31.000
It's a similarly open to IRC.

04:31.000 --> 04:33.000
And there is encryption possible.

04:33.000 --> 04:37.000
We don't really recommend encryption in group chats,

04:37.000 --> 04:40.000
but that's for another slide.

04:40.000 --> 04:43.000
And there is adoption by some large players.

04:50.000 --> 04:55.000
So I think this pretty much summarizes our experience

04:55.000 --> 05:00.000
and most people's experience with Matrix.

05:00.000 --> 05:06.000
It is a wondrous land, but here beat dragons.

05:06.000 --> 05:11.000
One of the issues and so the rest of this talk basically we're going to talk about some of our issues

05:11.000 --> 05:16.000
and how we solve them or are trying to solve them within our community.

05:16.000 --> 05:20.000
And the first issue is that Matrix is an open federation.

05:20.000 --> 05:24.000
This is an advantage, but this is also a disadvantage because a lot of people

05:24.000 --> 05:28.000
come from different home servers from different communities.

05:28.000 --> 05:33.000
They come join our rooms and they don't actually know our customs.

05:33.000 --> 05:39.000
Because of this, we are creating a culture inside of our own rooms.

05:39.000 --> 05:43.000
And we use defense and moderation for that.

05:43.000 --> 05:47.000
We basically all typical moderator actions.

05:47.000 --> 05:50.000
We basically divide them in two types of actions.

05:50.000 --> 05:52.000
The first type is defense.

05:52.000 --> 05:55.000
This is specifically about combating spam.

05:55.000 --> 05:59.000
The idea of defense is that this will happen very quickly.

05:59.000 --> 06:02.000
If you're spamming multiple images or not say fork images,

06:02.000 --> 06:04.000
you will get immediately banned.

06:04.000 --> 06:10.000
Most of this happens automatically or automatically using a whole bunch of volunteers in the background.

06:10.000 --> 06:12.000
This is without mercy.

06:12.000 --> 06:19.000
You don't get a lot of ways to appeal such a ban because you've been spamming.

06:19.000 --> 06:21.000
And this is also without context.

06:21.000 --> 06:27.000
Which means that we have a team of defenders who defend the entire home server.

06:27.000 --> 06:30.000
Some of these people actually are from other communities.

06:30.000 --> 06:32.000
And they simply, it's very easy.

06:32.000 --> 06:37.000
If it's spammed and it gets blocked and it gets blocked across the entire federation.

06:37.000 --> 06:44.000
Even if the user, for example, would be a user that has been a long time participant in a room.

06:44.000 --> 06:47.000
Even if that participation initially used to be positive,

06:47.000 --> 06:49.000
they will just get blocked immediately.

06:49.000 --> 06:52.000
But this is only for spam.

06:52.000 --> 06:55.000
And the second type is moderation.

06:55.000 --> 06:58.000
Moderation is basically coaching users to communicate better.

06:58.000 --> 07:03.000
We and the Ubuntu community, we have a very strict code of conduct.

07:03.000 --> 07:07.000
We have very high standards in terms of communication.

07:07.000 --> 07:13.000
Standards that we have applied to our own discourse forum,

07:13.000 --> 07:15.000
for example, for a very long time.

07:15.000 --> 07:18.000
And that we are now also applying to matrix.

07:18.000 --> 07:22.000
But this often requires actually coaching people,

07:22.000 --> 07:26.000
actually giving people feedback, allowing them to learn from their mistakes.

07:26.000 --> 07:31.000
And ensuring that people who want to improve, who want to learn that they can improve.

07:31.000 --> 07:34.000
So this is a process that is very slow.

07:34.000 --> 07:40.000
If you are a participant in our room, and sometimes you use two file language,

07:40.000 --> 07:42.000
or sometimes you are too abrasive,

07:43.000 --> 07:44.000
we will contact you.

07:44.000 --> 07:45.000
We will work with you.

07:45.000 --> 07:48.000
We will coach you to become better part of our community.

07:48.000 --> 07:50.000
This is also very manual process.

07:50.000 --> 07:55.000
Basically, each room has a moderator or is should have a moderator.

07:55.000 --> 08:01.000
That will just contact people when their behavior is not in line with our code of conduct.

08:01.000 --> 08:04.000
Failure is a teaching moment here.

08:04.000 --> 08:08.000
And this is always done by people familiar with the room tone.

08:08.000 --> 08:12.000
So some rooms will have much trick tone and other rooms.

08:12.000 --> 08:17.000
Other rooms people can maybe, maybe banter a little bit,

08:17.000 --> 08:18.000
depending on the room tone.

08:18.000 --> 08:21.000
And so this is always done with context,

08:21.000 --> 08:26.000
with the context of which room is this user communicating with.

08:26.000 --> 08:32.000
The second challenge of the open federation is that the internet is full of

08:32.000 --> 08:34.000
gadgets who like to troll.

08:34.000 --> 08:40.000
Basically, Matrix has a very big issue of spam waves.

08:40.000 --> 08:42.000
Spam waves across the effort.

08:42.000 --> 08:45.000
Across the federation.

08:45.000 --> 08:52.000
The single one project that helped us enormously with combating this is the community moderation effort.

08:52.000 --> 08:54.000
Also known as CME.

08:54.000 --> 08:59.000
CME is perpetually working on a website to better explain what CME is.

08:59.000 --> 09:02.000
But this website is still not online.

09:02.000 --> 09:05.000
So I will explain it.

09:05.000 --> 09:08.000
I will try to explain it myself a little bit.

09:08.000 --> 09:12.000
CME is just a group of Matrix room admins.

09:12.000 --> 09:15.000
Mostly of notable open source projects like Ubuntu,

09:15.000 --> 09:22.000
Fedora, Mozilla, privacy guides and some people who are contributing to the Matrix standard

09:22.000 --> 09:25.000
and are who are creating moderation tools.

09:25.000 --> 09:30.000
They have a shared ban list to fight spam.

09:30.000 --> 09:32.000
Only very, very clear spam.

09:32.000 --> 09:34.000
But when spam is detected.

09:34.000 --> 09:39.000
Anywhere on the network of all the communities who are connected via CME,

09:39.000 --> 09:43.000
they will be banned across the entire network immediately.

09:43.000 --> 09:50.000
And then there's some very, very strong bands ACL bands.

09:50.000 --> 09:55.000
If an entire home server is deemed to be incredibly toxic,

09:55.000 --> 09:59.000
too toxic, too just banned individuals from that home server.

09:59.000 --> 10:09.000
CME is also a community of all these admins who coordinate of the fence who coordinate the fence during spam waves.

10:09.000 --> 10:16.000
And so we also coordinate on how to improve moderation tools, building moderation tools and things like that.

10:16.000 --> 10:21.000
And the idea is that only trusted members can actually update this ban list

10:21.000 --> 10:26.000
because this gives you power to ban someone across the entire network.

10:26.000 --> 10:31.000
Miolener and Draugner, basically specifically Draugner,

10:31.000 --> 10:37.000
is one of the tools developed by some of the people of CME.

10:37.000 --> 10:47.000
That's me.

10:47.000 --> 10:52.000
Well, the automatically spam response is mostly done by CME.

10:52.000 --> 10:58.000
And it works a long way for the spam that Miolener described right now.

10:58.000 --> 11:05.000
But further of that, we had to develop some own tools for the community that worked for us.

11:05.000 --> 11:06.000
They may work for others.

11:06.000 --> 11:08.000
The codes and links are here.

11:08.000 --> 11:10.000
Can get through some of them, maybe.

11:10.000 --> 11:18.000
The first one is actually Ubotu is more or less like a conversion of our old RC board with some added functionality over the time.

11:18.000 --> 11:21.000
So that's most of our public rooms.

11:21.000 --> 11:22.000
The bot is there.

11:22.000 --> 11:23.000
That's stuff.

11:23.000 --> 11:29.000
But also, that's some spam detection now, like if you spam multiple images in a short time.

11:29.000 --> 11:32.000
And it also does a not-see-for-work check.

11:32.000 --> 11:38.000
Then those images get redacted and you can spam any more for a few minutes.

11:38.000 --> 11:40.000
It's configurable.

11:40.000 --> 11:41.000
Yeah.

11:41.000 --> 11:42.000
Sign up.

11:42.000 --> 11:49.000
In my checker is actually a module for signups that more or less improve the limitation that people can invite you to other rooms.

11:49.000 --> 11:52.000
Because part of the spam was detected.

11:52.000 --> 11:54.000
Hey, we can spam images in me more.

11:54.000 --> 11:58.000
But we can just invite people randomly to our spam rooms.

11:58.000 --> 12:00.000
And that's annoying, too, of course.

12:00.000 --> 12:07.000
So this kind of combines the CME list with our own list that we can add.

12:07.000 --> 12:10.000
Home service to that are blocked from inviting people.

12:10.000 --> 12:13.000
That only helps with people from our own home service server.

12:13.000 --> 12:18.000
So every home server would have to implement that.

12:18.000 --> 12:19.000
Yeah.

12:19.000 --> 12:24.000
The next one is the not-see-for-work board that's basically in addition to my do not spam.

12:24.000 --> 12:28.000
There's the images stuff that's happened a lot actually.

12:28.000 --> 12:33.000
And if you want to get more into those malware,

12:33.000 --> 12:37.000
the framework to write easy metrics boards, we did at the last.

12:37.000 --> 12:40.000
We did a workshop about that.

12:40.000 --> 12:45.000
That also goes into detail how to set up a board and do some basic steps.

12:45.000 --> 12:48.000
We didn't have time to go to the whole workshop here.

12:48.000 --> 12:53.000
So if you're interested, please go there.

12:53.000 --> 12:54.000
Yeah.

12:54.000 --> 12:55.000
Yeah.

12:55.000 --> 12:59.000
The last challenge that everybody knows, I think if you use metrics in any way,

12:59.000 --> 13:04.000
that I think there's, I don't think there's too many clients.

13:04.000 --> 13:06.000
That's, I don't think that's even true.

13:06.000 --> 13:12.000
They're just not enough clients that actually can do everything or most of it.

13:12.000 --> 13:15.000
They're spawning new clients all the time.

13:15.000 --> 13:17.000
But then I don't have spaces.

13:17.000 --> 13:18.000
I don't have this.

13:18.000 --> 13:19.000
I don't have that.

13:19.000 --> 13:21.000
So nothing of that is complete.

13:21.000 --> 13:28.000
And yeah, varying quality and features, right.

13:28.000 --> 13:32.000
And to get rid of that, or at least a little bit,

13:32.000 --> 13:37.000
we decided to do documentation right from the start.

13:37.000 --> 13:42.000
Right there, we have a nice getting started guide online that for new users,

13:42.000 --> 13:47.000
you just get on there, get a nice guide, how to get onto the metrics.

13:47.000 --> 13:50.000
Because of those, well, problems with the clients,

13:50.000 --> 13:55.000
we still recommend using element just because it is the future complete one,

13:55.000 --> 13:58.000
basically, at the moment.

13:58.000 --> 13:59.000
Yeah.

13:59.000 --> 14:04.000
So we can, if you don't use element, our guides may not be so useful for you,

14:04.000 --> 14:10.000
because we have exact documentation, how to use that client for our home server.

14:10.000 --> 14:13.000
Yeah, please come join our home server.

14:13.000 --> 14:17.000
We should have put a link on there, but maybe it's Ubuntu.com is our home server.

14:17.000 --> 14:19.000
So, think you can find us.

14:19.000 --> 14:21.000
Yeah.

14:21.000 --> 14:24.000
We have a lot of tips in our documentation, basically.

14:24.000 --> 14:26.000
Well, link is on the side here too.

14:26.000 --> 14:29.000
And, like, do not use encryption in public rooms,

14:29.000 --> 14:31.000
because it just slows stuff down.

14:31.000 --> 14:32.000
For us, it makes no sense.

14:32.000 --> 14:34.000
You enable it there at all.

14:34.000 --> 14:36.000
So, just do it in the public room.

14:36.000 --> 14:39.000
And you get instructions on how to set up your private rooms,

14:39.000 --> 14:42.000
your public rooms, how you do moderation.

14:42.000 --> 14:44.000
Be careful with elements that.

14:44.000 --> 14:49.000
So, all the little things you should, yeah, we remind you of.

14:49.000 --> 14:54.000
Oh, that's all you.

14:54.000 --> 14:55.000
Thanks.

14:55.000 --> 15:00.000
So, the documentation of Ubuntu and most of the canonical open-source project

15:00.000 --> 15:01.000
relies on discourse.

15:01.000 --> 15:06.000
So, it's pretty easy to document, because you create post-using

15:06.000 --> 15:08.000
and mark down on this course.

15:08.000 --> 15:11.000
And that post is then available as a documentation

15:11.000 --> 15:13.000
on the documentation.com.

15:13.000 --> 15:16.000
But it easy is a lot the work we need to do.

15:16.000 --> 15:21.000
And it facilitates contributions, reviews, commands,

15:21.000 --> 15:25.000
and we can iterate over the documentation

15:25.000 --> 15:28.000
and implement good documentation, thanks to it.

15:28.000 --> 15:30.000
So, the previous page was the markdown,

15:30.000 --> 15:33.000
and this is the handout markdown discourse post

15:33.000 --> 15:35.000
into our documentation.

15:35.000 --> 15:42.000
So, most of the discourse, most of the canonical open source

15:42.000 --> 15:45.000
documentation is done on this course and handles that way.

15:45.000 --> 15:51.000
So, the third challenge we faced is operational challenge,

15:51.000 --> 15:58.000
maintaining updating, scaling, sign-ups, the right way.

15:58.000 --> 16:04.000
And for that, canonical uses a tool called Juju.

16:04.000 --> 16:08.000
Juju is an operator framework, so it allows us to create

16:08.000 --> 16:10.000
automation around operation of applications.

16:10.000 --> 16:12.000
Typically, I use the database example.

16:12.000 --> 16:15.000
You want to operate the database, scaling us,

16:15.000 --> 16:18.000
scaling down back up rest or disaster recovery.

16:18.000 --> 16:21.000
The knowledge is spreading to people, usually pass strips.

16:21.000 --> 16:24.000
Juju allows you to cut that in Python and do the automation.

16:24.000 --> 16:27.000
And we did that work for sign-ups.

16:27.000 --> 16:30.000
And that's how sign-ups is run into,

16:30.000 --> 16:32.000
for the Ubuntu community.

16:33.000 --> 16:36.000
So, Juju is an orchestration engine.

16:36.000 --> 16:40.000
That allows you to create software operators,

16:40.000 --> 16:44.000
and it allows the integration and the flow

16:44.000 --> 16:46.000
of the lifecycle of your application.

16:46.000 --> 16:48.000
At scale on any infrastructure,

16:48.000 --> 16:54.000
Kate's machine cloud on premises.

16:54.000 --> 16:56.000
And Juju relies on charms.

16:56.000 --> 16:59.000
So, charm is an operator for an application.

17:00.000 --> 17:02.000
And it has all the business logic to operate properly

17:02.000 --> 17:05.000
the application, and follow the lifecycle

17:05.000 --> 17:07.000
back up rest or scale up scale down,

17:07.000 --> 17:11.000
and automate all that for the operator.

17:11.000 --> 17:16.000
So, simple common lines, perhaps still need to be improved.

17:16.000 --> 17:19.000
But if you start from Kate's cluster,

17:19.000 --> 17:21.000
with NGNX ingress integrator,

17:21.000 --> 17:23.000
an NGNX ingress deployed on it,

17:23.000 --> 17:27.000
you can use Juju to add your kid's cluster to Juju.

17:28.000 --> 17:30.000
It's a bootstrap controller.

17:30.000 --> 17:33.000
The controller allows you to manage the terms on your cloud.

17:33.000 --> 17:35.000
And then Kate's a model.

17:35.000 --> 17:37.000
So, a model is where you will put your terms,

17:37.000 --> 17:39.000
and assemble them together

17:39.000 --> 17:41.000
in order for them to communicate and configure properly.

17:41.000 --> 17:44.000
Once you've done that, you can deploy your applications.

17:44.000 --> 17:46.000
So, you deploy the database with three units.

17:46.000 --> 17:49.000
So, you have redundancy.

17:49.000 --> 17:51.000
And you can deploy sign-ups with three units,

17:51.000 --> 17:53.000
also, or five, or ten, or whatever,

17:53.000 --> 17:55.000
depends on your resources and your need.

17:55.000 --> 17:57.000
So, the way the operator works,

17:57.000 --> 17:59.000
it will spawn a main process,

17:59.000 --> 18:04.000
generic workers, and the Federation sender worker.

18:04.000 --> 18:06.000
You can also deploy, enable,

18:06.000 --> 18:10.000
be only, and such kind of features.

18:10.000 --> 18:12.000
Then you need to have your ingress.

18:12.000 --> 18:14.000
So, you deploy an ingress indicator.

18:14.000 --> 18:17.000
It's a term that will just communicate with

18:17.000 --> 18:20.000
Kate's to manage the ingress.

18:20.000 --> 18:21.000
You deploy a Lego provider,

18:21.000 --> 18:24.000
that allows you to get a TLS certificate.

18:24.000 --> 18:30.000
To let them keep and using your DNS service.

18:30.000 --> 18:31.000
Could be any DNS service.

18:31.000 --> 18:33.000
They go as a lot of interactions.

18:33.000 --> 18:36.000
And then you deploy reddish for all your workers

18:36.000 --> 18:37.000
to communicate with each other.

18:37.000 --> 18:39.000
And this can be also scheduled for three units,

18:39.000 --> 18:41.000
or five units or whatever.

18:41.000 --> 18:43.000
And you have a bunch of conflict to do.

18:43.000 --> 18:45.000
You need to configure your sign-ups,

18:45.000 --> 18:47.000
telling it what's your own server.

18:47.000 --> 18:49.000
Few options, the base URL.

18:49.000 --> 18:51.000
You need to configure your ingress.

18:51.000 --> 18:55.000
Also, to specify the ingress class,

18:55.000 --> 18:58.000
the URL for the TLS certificate.

18:58.000 --> 19:00.000
And you need to create some secrets,

19:00.000 --> 19:02.000
which was, and that that secrets mechanism.

19:02.000 --> 19:04.000
So you create your secrets to pass the token

19:04.000 --> 19:05.000
for your DNS provider,

19:05.000 --> 19:08.000
so that the DNS validation is done automatically.

19:08.000 --> 19:11.000
There is a granting, you need to load the secret

19:11.000 --> 19:13.000
to be read by the Lego provider.

19:13.000 --> 19:15.000
You configure the Lego provider,

19:15.000 --> 19:17.000
which is your address in AL and the plugin you want.

19:17.000 --> 19:18.000
I'm using of each.

19:18.000 --> 19:20.000
And then you pass the secret ID,

19:20.000 --> 19:24.000
so that Lego gets the access to the secret.

19:24.000 --> 19:26.000
And final step is,

19:26.000 --> 19:30.000
allowing all these components to communicate together.

19:30.000 --> 19:32.000
So you integrate sign-up with Sposkers,

19:32.000 --> 19:35.000
but we'll happen behind the terms,

19:35.000 --> 19:37.000
we'll create a user, create a schema,

19:37.000 --> 19:40.000
create the password, send it to sign-ups

19:40.000 --> 19:42.000
without you manually doing it.

19:42.000 --> 19:44.000
So sign-ups will reconfigure.

19:44.000 --> 19:46.000
Similarly, sign-ups to reddish.

19:47.000 --> 19:50.000
And then the last one is sign-ups to the denress.

19:50.000 --> 19:52.000
And once you've done that,

19:52.000 --> 19:53.000
your application is available,

19:53.000 --> 19:55.000
the sign-ups is running.

19:55.000 --> 19:58.000
So the way we manage and we ease the operation of metric

19:58.000 --> 20:01.000
from our side.

20:01.000 --> 20:04.000
So a few more features that we support.

20:04.000 --> 20:06.000
We have an A3 integrator,

20:06.000 --> 20:08.000
where you can pass some buckets,

20:08.000 --> 20:10.000
so that you can do that.

20:10.000 --> 20:11.000
So we have an A3 integrator,

20:11.000 --> 20:13.000
where you can pass some buckets,

20:13.000 --> 20:16.000
credentials,

20:16.000 --> 20:19.000
and then relate your S3 integrator to sign-ups

20:19.000 --> 20:21.000
for media to centralize the media.

20:21.000 --> 20:22.000
Also, backups.

20:22.000 --> 20:26.000
We also have backup and restore actions on the terms,

20:26.000 --> 20:28.000
so that you can backup, schedule backups,

20:28.000 --> 20:30.000
and get your private key backed up,

20:30.000 --> 20:31.000
and your media backed up,

20:31.000 --> 20:33.000
and the backup is encrypted,

20:33.000 --> 20:36.000
also using an encryption key.

20:36.000 --> 20:38.000
So they are this safe.

20:38.000 --> 20:40.000
SMTP integrator to get emails,

20:41.000 --> 20:44.000
so the integrator allows you to specify credentials

20:44.000 --> 20:46.000
for your email account,

20:46.000 --> 20:48.000
that your SMTP relay that sign-ups

20:48.000 --> 20:50.000
will use to send emails.

20:50.000 --> 20:52.000
We also have mailbox feature,

20:52.000 --> 20:55.000
that allows you to deploy mailbox,

20:55.000 --> 20:58.000
and all the authentication application

20:58.000 --> 21:00.000
to authentication configuration for metrics

21:00.000 --> 21:02.000
will be done automatically by the term.

21:02.000 --> 21:05.000
So it requires some configuration on theumserver

21:05.000 --> 21:06.000
and a mailbox.

21:06.000 --> 21:08.000
This is done automatically,

21:08.000 --> 21:10.000
and we've worked also on the IFC Bridge,

21:10.000 --> 21:12.000
as mentioned earlier,

21:12.000 --> 21:16.000
in order to look ISE users to get into metrics

21:16.000 --> 21:18.000
or vice versa.

21:18.000 --> 21:20.000
Huge challenges.

21:20.000 --> 21:24.000
We get issues with the non-HAS aspect of sign-ups.

21:24.000 --> 21:27.000
Once one worker is down,

21:27.000 --> 21:33.000
one ends of your events and messages will be down,

21:33.000 --> 21:36.000
and your user will fill it.

21:36.000 --> 21:38.000
Big rooms is a challenge.

21:38.000 --> 21:40.000
It can kill your own server.

21:40.000 --> 21:42.000
It ups all of your resources.

21:42.000 --> 21:44.000
We've got a few more times

21:44.000 --> 21:46.000
due to people joining the metrics,

21:46.000 --> 21:48.000
the metrics.room.

21:48.000 --> 21:52.000
You can forbid some complex room.

21:52.000 --> 21:54.000
There is an option in the term that tells you

21:54.000 --> 21:56.000
if the room is to complex,

21:56.000 --> 21:58.000
you won't be able to join it.

21:58.000 --> 22:00.000
It's a challenge to know how

22:00.000 --> 22:02.000
to operate properly matrix.

22:02.000 --> 22:03.000
The community helps a lot,

22:03.000 --> 22:05.000
but it's a lot of learning,

22:05.000 --> 22:07.000
effort, and back-end force,

22:07.000 --> 22:09.000
and trying to get it,

22:09.000 --> 22:11.000
and fine training for the caching.

22:11.000 --> 22:15.000
Canonical is a corporate proxy.

22:15.000 --> 22:17.000
Federation and corporate co-opsie,

22:17.000 --> 22:19.000
the proxy don't come along together.

22:19.000 --> 22:23.000
You can be federated with any servers.

22:23.000 --> 22:25.000
The proxy doesn't allow you

22:25.000 --> 22:29.000
or doing or incoming things.

22:29.000 --> 22:31.000
We had to find a bit,

22:31.000 --> 22:33.000
basically have a dedicated proxy for sign-ups.

22:33.000 --> 22:37.000
And then we also have as a community

22:37.000 --> 22:41.000
and one Canonical employee lives.

22:41.000 --> 22:45.000
Some challenges in managing the room

22:45.000 --> 22:47.000
and means when they live.

22:47.000 --> 22:51.000
Only the admin himself can demo itself.

22:51.000 --> 22:57.000
So if the user is not doing that,

22:57.000 --> 23:01.000
you need to use some API impersonation

23:01.000 --> 23:03.000
and demo them.

23:03.000 --> 23:05.000
If it's the last admin of the room,

23:05.000 --> 23:07.000
we developed some scripts

23:07.000 --> 23:09.000
and I had some challenges here

23:09.000 --> 23:11.000
in order to manage properly,

23:11.000 --> 23:15.000
levers and admin in the rooms.

23:15.000 --> 23:19.000
That was the last slide for that.

23:27.000 --> 23:30.000
In summary, we are slowly moving to matrix.

23:30.000 --> 23:34.000
The entire Ubuntu community is slowly moving to matrix.

23:34.000 --> 23:38.000
Many teams have already moved or are planning to move.

23:38.000 --> 23:42.000
We just heard that something

23:42.000 --> 23:46.000
sneakily moved a few days ago without even informing us,

23:46.000 --> 23:48.000
which is great, which is how it should be.

23:48.000 --> 23:54.000
But some critical IRC channels might be bridged initially,

23:54.000 --> 23:58.000
partly to ensure that there is still something

23:58.000 --> 24:02.000
to talk to other people with

24:02.000 --> 24:08.000
when we have one of the robustness issues with our home server.

24:08.000 --> 24:12.000
If you go through our Ubuntu community space,

24:12.000 --> 24:14.000
it already has so many communities here.

24:14.000 --> 24:17.000
Ubuntu chilling, Ubuntu budget,

24:17.000 --> 24:19.000
Ubuntu Mate, most flavors,

24:19.000 --> 24:21.000
kernel discussion,

24:21.000 --> 24:25.000
a support room with almost 2,000 members,

24:25.000 --> 24:27.000
a very, very active support room.

24:27.000 --> 24:31.000
However, many challenges remain.

24:31.000 --> 24:35.000
We need to fix these challenges in order to

24:35.000 --> 24:38.000
have this as a reliable tool

24:38.000 --> 24:41.000
that our community can depend on.

24:41.000 --> 24:43.000
And then maybe in the future,

24:43.000 --> 24:47.000
reliable tool that canonical itself as a company can depend on.

24:47.000 --> 24:49.000
Because most of us here are volunteers.

24:49.000 --> 24:53.000
The Ubuntu's move to matrix is a volunteer

24:53.000 --> 24:55.000
offered of the Ubuntu project,

24:55.000 --> 24:57.000
not of canonical itself.

24:57.000 --> 24:59.000
Canonical itself is still using

24:59.000 --> 25:02.000
matter most until they feel themselves

25:02.000 --> 25:07.000
that matrix is stable enough in order to actually move.

25:07.000 --> 25:09.000
There are still some open challenges.

25:09.000 --> 25:13.000
Server stability is a big one that we're also working

25:13.000 --> 25:15.000
a lot on Gregory,

25:15.000 --> 25:18.000
is working a lot on that he is part of the canonical team

25:18.000 --> 25:22.000
that does the operations for our synapse.

25:22.000 --> 25:26.000
And then you have less helpful people

25:26.000 --> 25:28.000
in our chat say,

25:28.000 --> 25:31.000
why do you join the matrix.org room?

25:31.000 --> 25:34.000
Everybody knows not to join that room

25:34.000 --> 25:36.000
because that always brings down your home server.

25:36.000 --> 25:39.000
And yes, but should it?

25:39.000 --> 25:42.000
Should we really depend on our users

25:42.000 --> 25:45.000
knowing that they shouldn't join certain rooms?

25:45.000 --> 25:48.000
Because then we did those our own home server.

25:48.000 --> 25:51.000
This isn't how it should work.

25:51.000 --> 25:55.000
We have the issue that element is currently in maintenance mode.

25:55.000 --> 25:57.000
We do recommend element to all our users

25:57.000 --> 26:01.000
because we have noticed that that's the least painful way

26:01.000 --> 26:03.000
to use matrix.

26:03.000 --> 26:06.000
But element itself is in matrix mode with a whole bunch of bugs

26:06.000 --> 26:08.000
that do not get fixed.

26:08.000 --> 26:11.000
Element X is being developed,

26:11.000 --> 26:13.000
but it isn't actually ready for us.

26:13.000 --> 26:14.000
We need single synone.

26:14.000 --> 26:16.000
We need support for threats.

26:16.000 --> 26:20.000
We need an actual stable long-term support or release.

26:20.000 --> 26:25.000
And then finally, moderation tools is incredibly limited.

26:25.000 --> 26:28.000
Even though CME is helping us a lot,

26:28.000 --> 26:32.000
CME is basically the reason why we are still on matrix.

26:32.000 --> 26:37.000
They are basically unfounded or underfunded.

26:37.000 --> 26:39.000
CME has no funding throughout near itself.

26:39.000 --> 26:43.000
It's funded by an outlet,

26:43.000 --> 26:47.000
which is losing its funding this year.

26:47.000 --> 26:51.000
Thanks to stupid decisions by the European Commission.

26:51.000 --> 26:54.000
That's the result.

26:54.000 --> 27:00.000
Well, the poll results.

27:00.000 --> 27:03.000
Well, it's obviously a good thing that we are not killing our C

27:03.000 --> 27:06.000
because there are still five people using it.

27:06.000 --> 27:12.000
But more than 85% are already on matrix.

27:12.000 --> 27:16.000
So I think that it was a good decision to slowly start

27:16.000 --> 27:20.000
moving towards that.

27:20.000 --> 27:21.000
All right.

27:21.000 --> 27:22.000
Thank you.

27:22.000 --> 27:26.000
And I'm not sure if you have time for questions.

