[00:00.000 --> 00:13.200] the stage is yours. Thank you. I'm here for a quite short time. My head may not have [00:13.200 --> 00:17.920] switched completely to English, so if that happens, maybe someone of the audience can [00:17.920 --> 00:25.880] help me out. So, my talk is about FedExcess, and in the last time I held a talk, after [00:25.880 --> 00:30.960] the talk, people said to me, you need to tell more about FedExcess, so that's what I'll [00:30.960 --> 00:38.720] be doing, and first thing first, wake up, some color. What is FedExcess? For FedExcess, [00:38.720 --> 00:46.480] I'm a manager of a workshop in Berlin, in a university, and some people call me the [00:46.480 --> 00:56.680] product owner or the father of FedExcess, it's not really the case, I'll tell later why. [00:56.680 --> 01:02.720] Switching machines in a workshop sounds easy. You'll switch one bit on, the machine is on, [01:02.720 --> 01:12.920] switch one bit off, reset the bit, and the machine is off, but it's not that easy. First [01:12.920 --> 01:19.200] thing, why do we need to switch off machines? In a workshop, you have two kinds of machines, [01:19.200 --> 01:25.600] the one who tear off parts of the body of the users, if they do not know how to use [01:25.600 --> 01:35.960] the machine, and the not so interesting ones who are not hurting people, and there are [01:35.960 --> 01:41.360] two kinds of people in your workshop. There are the ones who know how to clean up their [01:41.360 --> 01:50.200] place after they leave the workshop, and there are the ones who leave the mess to you, and [01:50.200 --> 01:56.160] if you need to get along with this combination of people and machines, you need to get some [01:56.160 --> 02:01.480] structure in the workshop, and I'm the only one working aesthetically in that workshop, [02:01.480 --> 02:06.840] so I'm not enough people to get structure, and 30 people are using the workshop, so I [02:06.840 --> 02:20.240] need support, and I need the wonder of digitalization. So, I do not like good luck, have fun, that's [02:20.240 --> 02:30.120] why we began to work in FabExSys in 2019. I won't read all of that. There are requirements [02:30.120 --> 02:37.120] which are coming into software if you want to switch on machines and off machines. That's [02:37.120 --> 02:47.400] why it wasn't that easy, and next thing is we saw a lot of projects who began working [02:47.400 --> 03:02.360] in that area, but when we realized there are a lot of these projects, I think most of you [03:02.360 --> 03:14.200] know that XKCD, we tried to avoid that by becoming modular and getting more than works [03:14.200 --> 03:22.280] for me, technology readiness level nine, maybe some of you know what that means, and that's [03:22.280 --> 03:33.240] one more thing we wanted to reach, we wanted to reach the technical ground for federation [03:33.240 --> 03:40.480] in the future, not right now, we'll get there in September this year maybe. That's what [03:40.480 --> 03:47.280] it is FabExSys, in the last talk they said talk about what is FabExSys, that's it. We [03:47.280 --> 03:53.920] have machines, we have users, and the machines can be switched on by the user, not by the [03:53.920 --> 04:00.000] manager of the FabLab, but the manager of the FabLab has the user database and the machine [04:00.000 --> 04:06.240] database and can say who was allowed to switch on which machine, and in the next step here [04:06.240 --> 04:14.960] they can see which one of the users switched on which machine in the last time, and that's [04:14.960 --> 04:21.200] it, we do not follow our users or make surveillance of what they are doing, we want to know who [04:21.200 --> 04:35.720] left that mess, and that's it. There are some perspectives which need to be [04:35.720 --> 04:43.440] implemented in such software, first is the workspace manager, I won't read because time [04:43.440 --> 04:51.440] is running, for the workspace manager the software we are implementing should fit into [04:51.440 --> 04:57.720] his workspace, and not press his workspace into our software, that's one of the most [04:57.720 --> 05:04.840] important things for us, and for the user it should be easy to use, and that's it fast [05:04.840 --> 05:26.160] and clear as, English words missing, so that's how we approached to berücksichtigen, well [05:26.160 --> 05:40.360] you know what I mean, sorry, how to consider the wishes of the FabLab manager, yes of me, [05:40.360 --> 05:47.000] I think it's too much text for nine minutes, are there some questions for that slide, I [05:47.000 --> 05:51.360] think the most important is the last one, attaching new machines is easy for Python and [05:51.360 --> 05:59.200] bash, because we are not able to implement as a project in each and every workshop, so [05:59.200 --> 06:09.000] we need to enable the workshop users and managers to work as a community project, in the middle [06:09.000 --> 06:16.720] there is GUI would be great, if there is anyone in the audience who is willing and able to [06:16.720 --> 06:28.000] build a GUI which takes machines and throws out all files, feel free, that's some things [06:28.000 --> 06:35.920] in the back end that are important, it's written in Rust, so the language and the compiler [06:35.920 --> 06:44.560] guarantees some sort of stability, and in between the back end and Rust there is the [06:44.560 --> 06:51.400] captain proto API which enables the guys who are not working in the back end and in the [06:51.400 --> 07:00.400] core of the server to get a stable API where they can throw against with Python or I think [07:00.400 --> 07:13.040] easier languages which are, there are more people who can write code in these languages, [07:13.040 --> 07:33.800] we have two to three core developers who are having an eye on a very stable API, and this [07:33.800 --> 07:42.360] is also important because the FabLab manager doesn't want to take care of software updates, [07:42.360 --> 07:51.640] they should happen without any effort. Accessibility is for the users, the app which we have showed [07:51.640 --> 07:57.160] in the slides before should be really accessible for the users because if you have a workshop [07:57.160 --> 08:03.200] it doesn't help you if a third of your users say sorry I can't access the app, I can't [08:03.200 --> 08:16.160] use your workshop machines. The last line there is one more step to accessibility because [08:16.160 --> 08:21.320] not everyone has a mobile phone and not everyone wants to take his mobile phone and get the [08:21.320 --> 08:32.680] app and when he just wants to use a machine so NFC is a thing in that case. Well, supported [08:32.680 --> 08:39.560] hardware devices out of the box, this is what the core developers have been working at right [08:39.560 --> 08:49.440] now and the extensibility, it are not only the core developers developing modules for [08:49.440 --> 08:59.560] FabXS, that's where the community comes in. I think the list on the top will grow with [08:59.560 --> 09:07.960] time but the developers have an eye on stability so it's not growing that fast as the community [09:07.960 --> 09:18.600] wishes so it gives community unrights, I don't know the English words, sorry. That's where [09:18.600 --> 09:24.080] we are right now, we are in the beta and I think the beginning of March there is a deadline [09:24.080 --> 09:38.120] for 1.0 which will be the first release which can be used by a workspace without having [09:38.120 --> 09:47.720] software engineering guys in the background. These are targets which will be addressed [09:47.720 --> 09:56.760] in 1.0, open ID connectors which by a lot of guys in the community as most of the German [09:56.760 --> 10:08.680] work spaces in the Verbunte of Newerkstetten switched to key cloak in the background. I'm [10:08.680 --> 10:19.280] good in time. The federation, I already talked to the people of Matrix and I think there [10:19.280 --> 10:30.040] will be some interfaces between FabXS and Matrix to realize federation. Coming to the [10:30.040 --> 10:34.840] end of the presentation, we are a team, the most important are the community members. [10:34.840 --> 10:44.240] We have 64 number growing, we have a community manager, thank you. We have four people in [10:44.240 --> 10:51.520] Berlin, the first is the core developers than me, sorry, and one guy in Boholt who is doing [10:51.520 --> 11:00.160] a really good job in alpha testing and documentation because if developers create documentation, [11:00.160 --> 11:06.760] it's better when there is someone outside of the developer circle. Nobody in the team [11:06.760 --> 11:13.720] does anything with blockchain, sorry. These are organizations who supported us and are [11:13.720 --> 11:25.160] carrying the project and yes, the lower even spent some amounts of money, thank you. These [11:25.160 --> 11:34.680] are the URLs you'll need to get involved and give it a try. I think we have three minutes. [11:34.680 --> 11:37.360] Are there questions? Yeah. [11:37.360 --> 11:46.960] Did you guys think about interoperating with already existing authorization schemes like [11:46.960 --> 11:51.600] free IDA for example? Yes, of course. Right now they are implementing [11:51.600 --> 12:00.520] a summer and there will be many, many more. It's part of the modular design of FabXS [12:00.520 --> 12:06.720] because we do not want to press you into what we are using. If there are authentication [12:06.720 --> 12:13.280] systems which are in the market, we will implement them one after the other, but if you are [12:13.280 --> 12:28.360] interested, feel free to talk to us. Very good question. Thank you. You are not able [12:28.360 --> 12:36.200] to solve social problems with technology. Unplugging plugs which switch on and off the [12:36.200 --> 12:44.160] machines, I think for me it's a part of a social problem, but there is a technical aspect. [12:44.160 --> 12:50.000] Of course the Shelleys say, I am here, I am here, I am here. They have heartbeat and [12:50.000 --> 12:56.920] if that heartbeat is away, so the core of FabXS realizes all that Shelleys is unplugged. [12:56.920 --> 13:07.840] It's a technical and social problem. Inside the kernel, yes, inside the backend, yes. [13:07.840 --> 13:14.160] It throws out in the normal configuration into the memory, so it's gone in the time [13:14.160 --> 13:22.240] it's thrown out a log file. If you need to follow what your users are doing, then you [13:22.240 --> 13:27.720] may take that log file and configure FabXS, give me the log file and push that log file [13:27.720 --> 13:38.160] to ERP systems or whatever you want, but that's not in the scope of FabXS. Any more questions? [13:38.160 --> 13:44.280] One and a half minutes or? Yeah. Do you have the possibility to also get a signal from [13:44.280 --> 13:56.320] the machine to say it's working or it's voicing? Next good question. Thank you. It depends. [13:56.320 --> 14:02.680] Sorry. Sometimes if the information from the machine is important for FabXS to switch [14:02.680 --> 14:10.920] on and off machines, then we're taking the data into FabXS. Normally when there are data [14:10.920 --> 14:16.800] from the machine which are not needed to switch on and off machines, because the core point [14:16.800 --> 14:21.920] of FabXS is switching on and off machines and that's what we're doing good. If there [14:21.920 --> 14:32.240] are any other data in our package, there is a MQTT server and it may be far-bited by the [14:32.240 --> 14:54.960] MQTT server and FabXS does not need that data. 37 seconds. This is something you can [14:54.960 --> 14:59.760] do with the log file which is coming out of FabXS and your own software. You writing [14:59.760 --> 15:07.400] or maybe a dual or any other ERP system which needs to be filled with structured data from [15:07.400 --> 15:15.360] that log file. No. We are not an ERP system. We are not gaining money from people using [15:15.360 --> 15:30.600] our machines. That's in the scope of different software packages.