# FabAccess ![](https://pad.ccc-p.org/uploads/33b7b25a-c72d-45d1-a687-5d454f596380.png =x300) ---- # FabAccess v0.4 ~ digging^Stuttgart ~ <!-- .slide: data-background="https://pad.ccc-p.org/uploads/02d3b469-0f81-47c2-90f1-89d297bc0542.png" data-background-repeat="repeat" data-background-size="100px" --></div> --- ## What is FabAccess? A machine access system for open workshops. <span>Sounds easy, doesn't it .. set 1 bit - machine on, reset 1 bit - machine off. Done. <!-- .element: class="fragment" data-fragment-index="1" --></span> <span>Well, turn's out .. not that easy. <!-- .element: class="fragment" data-fragment-index="2" --></span> ---- ### Why do we need it anyway? - There are two kinds of machines - those who hurt people - and the others. - There are two kinds of workspace users - those who clean up - and the others. <span style="font-size:32pt;color:#FF0000;">***If you need to get along with all four of them .. gl,hf - or use FabAccess.*** <!-- .element: class="fragment" data-fragment-index="1" --></span> Note: [^first]: The machines that hurt people are the most interesting (in most cases). [^second]: Normally - without Fabaccess - in open workshops, those who like to clean up are punished and those who leave the machines messy are rewarded. I work in a university - that's not an incentive I want to put in place. ---- ### Why wasn't it that easy? | role based access | federation | safety | | security | attribute based access | stability | | easy to install | modularity | different machines | | accessibility | time&money | different workshops | | complex activation schemes | <span style="font-size:32pt;color:#FF0000;">***We wanted (and needed) a lot more than "works for me" (TRL9)*** <!-- .element: class="fragment" data-fragment-index="2" --></span> Note: Lots and lots of requirements. ---- ![](https://pad.ccc-p.org/uploads/f53ace38-c401-4edc-a119-627c2b72d69d.png) ---- ![](https://pad.ccc-p.org/uploads/af17fb22-4871-4258-bc51-58ef9dd44f77.png =x900) ---- ![](https://pad.ccc-p.org/uploads/09ff193d-fb9e-4cee-9e60-44cdbca8bfe1.png) --- ## Perspectives * for the workspace manager, the system should ... * ensure safe operation * enforce some social guidelines * ... and ... * be easy to install & configure * be stable to operate * be maintained with little to no effort <span style="font-size:20pt;color:#DD0000;">***... fit into the workspace - not make the workspace fit into FabAccess.*** <!-- .element: class="fragment" data-fragment-index="1" --></span> ---- ## Perspectives * for the workspace user the system should... * be easy to access * be fast & clear to use * reduce effort --- ### Ease of installation & configuration * Installation is actively documented @ readthedocs. * Configuration via dhall / toml-files * GUI would be great * the files are well documented - and you only touch them once. * Attaching new machines is easy via python / bash / ... * growing nr. of examples are @ gitlab ---- ### Stability * selected programming languages / Frameworks * backend: rust * API: Cap'n Proto * reference client: C# / Xamarin * actively thinking about AvaloniaUI to address GTK / Linux ---- ### Maintenance * backward-compatible config & API as of version 1.0 * structured log files of events ----- ### Accessibility * App is in most app-stores (including FDroid) * Free apk available ---- ### Usage * Sensible messages via OLED / ePaper display * Federation ----- ### Effort / speed of usage * Machines can be activated via NFC card ---- ## Supported hardware devices ### Out of the box * DESfire EV2 * FabReader * Shelly Plugs (v1 & v2) * RasPi / LXC / Proxmox ----- ### Easily extendable * Python, Bash, everything that connects to Cap'nProto --- ## What next? * [x] ~~0.1 historic Alpha~~ * [x] ~~0.2 Joris-Alpha (*01/2022*)~~ * [x] ~~0.3 public Alpha (41/2022)~~ * [x] **0.4 Beta** (*now*) * [ ] 1.0 Stable (*Q1 2023*) ----- Primarily talking about the API-Version! server-/reference-client versioning can differ. Clients in the AppStores need to fit the version of the server until 1.0 ---- ### 1.0 ~ layover@BB ~ #### the more abstraction, the better. #### OpenID Connect (keycloak) #### even more complex states "Switch on only when cooling/ventilation is on." "Switch off, when the last one has left." ---- ### 1.x ~ tbd. ~ #### Federation "Workshops have the technical basis for contracts that make life easier for everyone & save plastic cards." #### Blink, colorful, stable & fancy (with glitter) --- ## Team \> 64, growing community ##### Berlin / Potsdam: @dequbed (Backend) @TheJoKlLa (Reference & Client) @rand0mu5eR (Deployment & NFC) @Knurps (confusion and other things) ##### Bocholt: @JorBi (hardware, pain, documentation & more) nobody: ~~Blockchain~~ ---- ### Organizations * Verbund offener Werkstätten (VOW) (https://www.offene-werkstaetten.org/) * Fab:UNIverse (https://fab101.de/fabuniverse/) * Berlin university of applied science (BHT) (http://www.bht-berlin.de/) * RKLM UG ----- ### Supported by ... * Prototype-Fund (https://prototypefund.de/) * FabCity HH (https://www.fabcity.hamburg/) --- ## Give it a try / get involved... * https://gitlab.com/fabinfra/ * https://fab-access.readthedocs.io/ ----- * https://www.fab-access.org/ ![](https://pad.ccc-p.org/uploads/3a6ffa7a-5401-4808-a0f4-46ba93f06e0c.png =300x300)
{"type":"slide","slideOptions":{"transition":"slide"}}