WEBVTT

00:00.000 --> 00:09.760
Activity Pub support for 3D printing, and he's now going to talk about something slightly

00:09.760 --> 00:13.000
different but related, so wonderful, thank you James.

00:13.000 --> 00:14.000
Thank you Andy.

00:14.000 --> 00:20.000
President McMinds, you have more 3D printers than me, because I've only got 2.

00:20.000 --> 00:26.280
Anyway, hi, I'm James, I'm going to talk about something that's been mentioned

00:26.280 --> 00:32.120
a couple of times today, already, but I'm glad to be able to give more detail, which

00:32.120 --> 00:39.560
is Fediverse, Fedus Gavary, or the Fediverse Observer's Providers, and it's fast, I don't

00:39.560 --> 00:44.560
really know why I named the talk this naming is hard.

00:44.560 --> 00:50.600
I speak, but yeah, I'm going to talk about Fediverse Discovery Providers, which was a project

00:50.600 --> 00:53.600
that was launched, I think, in the death room last year.

00:53.840 --> 00:56.720
If I remember correctly, it was sort about last year.

00:56.720 --> 01:04.160
Talks about last year, and then, through the year, it's been sort of built, and why am I talking

01:04.160 --> 01:05.160
about it?

01:05.160 --> 01:11.760
I am not involved in the project at all, is an NGO search project run by MasterDog and

01:11.760 --> 01:21.240
Capably done by David down there, give everyone a wave, there we go, I am just some guy

01:21.240 --> 01:26.280
who read this back, and thought, oh, I'll have a go.

01:26.280 --> 01:27.280
Why?

01:27.280 --> 01:28.280
I thought I'd have a go.

01:28.280 --> 01:34.440
I built a thing called Manifold, which is, as Andy said, it is a tool for organizing and sharing

01:34.440 --> 01:39.000
3D print files, anyone with 3D printable know about thingiverse, it's a bit like having

01:39.000 --> 01:46.560
your own one of those, but now also Fedorates with activity pub, so you can have 3D models

01:46.560 --> 01:52.360
on one instance, and you might have your account on another, and how do you find them

01:52.360 --> 01:57.120
between different things, it's the problem, so there was this Fedorates cover thing, and

01:57.120 --> 02:04.120
I thought, all right, let's see what that's all about, because that would build my own.

02:04.120 --> 02:10.920
So Fedorates, auxiliary service providers, are these extra services that sit and connect

02:10.920 --> 02:16.280
to your Fedorates services, so we have various things like it could be mastered on it,

02:16.280 --> 02:23.280
it could be pitch you, but whatever, and then you have the search provider instances for instance

02:23.280 --> 02:27.600
that you might choose to connect to that one over there that's run by somebody, I know,

02:27.600 --> 02:33.200
or that, you know, it might be another one, so it's sort of opting in to a shared search

02:33.200 --> 02:40.160
index anyway, and not just for search, it's starting with search, but I'll come to that.

02:40.160 --> 02:46.520
So I'm going to talk a little bit about how it works, see how we did it, the first thing

02:46.520 --> 02:56.640
that you do is that you register your server with the fast, the service provider, and you

02:56.640 --> 03:01.680
do a little registration dumps, you can initially go to the fast, sign up for an account,

03:01.680 --> 03:07.600
and you tell it where your server is, it then does a bit of back and forth, gets the provider

03:07.600 --> 03:14.600
info from the node info, does a little bit of key exchange backwards and forwards, and

03:14.600 --> 03:21.960
then says, yep, okay, we've talked and showed you a fingerprint of the keys and then

03:21.960 --> 03:26.400
redirects you back to your server, where you check that fingerprint, make sure that everything

03:26.400 --> 03:31.880
is lined up properly, and you say, yes, okay, cool.

03:31.880 --> 03:40.320
So this is that in action, this is the sign-up page on the Fediscovera reference implementation,

03:40.320 --> 03:50.480
I guess, of the fast, this is the one that David built, and I'm running my own off, but

03:50.480 --> 03:55.000
you would find one of these out of that, sign up for a thing, you say, there is the base

03:55.000 --> 04:02.480
URL of my service, and it does a little dance, and it says, right, you're registered now,

04:02.480 --> 04:07.240
thanks signing up, here's a fingerprint, and because it's taught to the server, it knows

04:07.240 --> 04:13.680
where to send you back to, in order to then go back and check, so it will then, like that,

04:13.680 --> 04:20.920
send you back to Manifold, you can check that fingerprint, and hit the big green approved

04:20.920 --> 04:28.120
button, and at that point, you're connected up to servers, know about each other, they

04:28.120 --> 04:35.040
can securely change information, they know how to tell what's what, and you get then this

04:35.040 --> 04:42.280
list of capabilities, the overall protocol is about the sort of the registration, and how

04:42.280 --> 04:48.120
you discover what's available, and then there are sort of mini specs within that for

04:48.120 --> 04:53.960
different capabilities, which you can see here, there's a counter search, follow recommendations,

04:53.960 --> 05:01.400
trends, and data sharing, those of the ones that initially are in the thing at the moment.

05:01.400 --> 05:05.880
Some of those, most of those are really simple, they're actually just, okay, you're

05:05.880 --> 05:10.560
registered now, you can do calls to this thing, and a counter search is just to get to

05:10.560 --> 05:18.120
the account search thing when you're keyword, simple as that, likewise follow recommendations,

05:18.120 --> 05:21.680
follow recommendations you can give it an account, you're right, so it's like this person

05:21.680 --> 05:28.680
follow, and if the fast is able to do something with that, it will, and like my trends,

05:28.680 --> 05:33.080
it's just a thing, the one that's a little bit more complicated is data sharing, the top ones

05:33.080 --> 05:38.400
are all sort of fetching information from the fast, but how do we tell it what we've got,

05:38.400 --> 05:46.640
so they'd share in part, they'd share in capability, if you enable that, the fast will send

05:46.640 --> 05:51.200
back a request saying, okay, could you let me know about these things, and it will set up

05:51.200 --> 06:01.120
events, subscriptions for different things. In this case, it's sent back to subscriptions,

06:01.120 --> 06:07.360
back to Manifold, so, right, could you tell me when any lifecycle events happen for any account,

06:07.440 --> 06:13.520
or any content on your server, so now it's up to my servers to respond to those and let the

06:13.520 --> 06:21.040
fast know when those things happen, of course that is in control of my server, the client,

06:21.040 --> 06:30.160
cool, so a quick example, this is in, in my death manifold instance, I can go to the right

06:30.240 --> 06:38.480
lots of that page, I can put in a search term, and up pop some results from a different server,

06:38.480 --> 06:43.680
and all it's done is just go to go to the, go to the fast, fast for the results for that keyword,

06:46.000 --> 06:52.480
so we have, these are all from a 3D print not social, which is the, not really flagship

06:52.480 --> 06:58.000
manifold server, but the one that I run publicly, where people can sign up and post their own things,

06:58.960 --> 07:04.960
flagship makes it sound a bit too grand, but yeah, but there, and then, there you go,

07:04.960 --> 07:08.720
you found them, and also you have follow recommendations that you can set up at the right

07:08.720 --> 07:13.440
in Fediscovera, it's no preview, so it's not very pretty, but at the moment you will be recommended

07:13.440 --> 07:19.440
to follow me and that's on my personal instance, so again that's a different system,

07:19.520 --> 07:28.400
and these things all fit together, you can get started with it, it's a really nice system,

07:28.400 --> 07:35.360
it feels you're really in control of what information is going where you can choose the search

07:35.360 --> 07:39.520
index or whatever that you want to come use, and then what you'll serve as sense to it is

07:40.960 --> 07:44.880
you're in control of it, it felt nice as a developer, it didn't feel like I was giving everything away,

07:45.520 --> 07:51.760
anyway, you can go to Fediscovera.org to have a look at the details that are linked to the

07:51.760 --> 07:56.400
specification, which is on GitHub, there are lots of PRs open for new capabilities, and I'm sure

07:57.200 --> 08:05.360
they would welcome more, there is a dev chat, talk to Andy about that, and yeah, that's it,

08:05.360 --> 08:14.240
that's me, thank you James, traditionally for short talks, we're going to do one

08:14.240 --> 08:21.600
question if anybody has a question for James, it's all completely clear everybody's going to

08:21.600 --> 08:26.400
implement Fediscovera as soon as possible when I get back to there, I would give it a go, it's

08:26.400 --> 08:32.000
excellent, it's pretty cool Dave, it's going to have a great week, I did a I did a rails

08:32.000 --> 08:37.680
end for it, if that helps, I forgot about that, can I also ask for an extra round of applause for

08:37.680 --> 08:41.840
James who has stepped up to help myself and Evan today, he's been doing the time keeping,

08:42.560 --> 08:48.640
he's a tremendous human being, we are very grateful, I can I can wave a card around for the

08:48.640 --> 08:54.400
best of them, and he has left and lovely manifold stickers on the table as well, as anybody is

08:54.400 --> 08:59.200
welcome to do if you have stickers that you would like to share with the community please, do that,

08:59.200 --> 09:00.000
who's next?

