 Okay, welcome! This is gonna be one of the most, it's kind of like a little bit like low-profile type of presentation because we're here to talk about online infrastructure so it's not like as blender as it gets, it's more like as everything that is not blender as it gets. So we start with a little bit of you know anecdote, a little intro about where you know we come from and what this is all about and then we actually get right into the into the talk. So this thing, well we don't need, we don't need sound actually it's okay. Yeah it's actually better. This is found footage from 2014 so this is at the anthropodox so the place where originally Blender Institute was established and this was the day where we, so me and Pablo were working there after doing a few open movie projects and we were sanding the floor together with Tone and so we had to remove all the furniture and all the computers and so we were staying there at the time so in the evening there was this big empty space and then we were like let's just place some football and that's basically how you know we started collaborating on different type of projects on the web so we needed to build stuff for the Blender project online and so we went through a few of these kind of projects like the Blender Network which was an idea to connect Blender professionals and Blender educators it was a little bit ahead of its time as a project and we actually run this for a few years. We worked on the Blender Conference website the one that you are seeing today is probably the third fourth iteration of that but originally Blender Conference was hosted on Blender.org so it would just be a page on the Blender.org website slash conference the schedule used to be a spreadsheet that was a screenshot in PDF format and uploaded to the website. There were like you know one room where the presentations were happening then two so it was manageable and Tone was doing all of that by himself with the help of a couple of people so then both me and Pablo were very motivated to take over these things and try to make more so we made a new version of the Blender.org website using WordPress for example and at some point we also did the Blender cloud and that was a big kind of a big turning point because obviously this website was actually meant to make money this website was meant to provide financial support to the activities of the studio so there was like a lot of things connected to that to make sure that people could sign up have access to the content. I started doing that by myself and then Pablo joined the team for the Gooseberry project again we designed and redesigned and we made this website a bunch of times and the crowdfunding part of course and of course like this you know again I'm talking about what we are doing like we worked on Attract we work on Flamenco we did a bunch of stuff until one day there was a lot of things which is what we are gonna talk about today but this was not possible obviously this is not something that we did by ourselves so this is something based on work from others in the past lots of contributions lots of help so obviously take this with that context in mind so that being said I wanted to I'd like to go over a couple of things here like what is the goals of the presentation it's to share how we are organizing these projects and to show potential ways to get involved and that's about it and before we say more it's like why are we doing it like this right like for a project like Blender there are ways there is a lot of infrastructure today online commercial projects platforms that people have figured out to facilitate development or to facilitate making a conference to facilitate publishing stuff there's a lot very well done very polished very highly functional websites that allow you to do this kind of thing so why do we want to do this ourselves well to begin with it's important that Blender has all these online infrastructure because it's a collaborative by nature so Blender started as an online decentralized project and so it always needed ways for people to come together it started with IRC and it started with a project's website where people could just publish the code and share the code review and leave comments and forums and stuff like that so this is like very much embedded in the you know in the in the nature of the Blender project itself and of course to be aligned with Blender using free and open source software that's a natural choice it's very important to stick to that it's not always easy and it's not always possible it's more like harder than impossible but we try so like one recent example you know that sparked quite a bit of debate and a lot of like introspection about this was when we were doing the GTA right projects of Blender.org awesome it's like it's like github it's like you know github you know how big github and how well made of a product it is and then we are busy making Blender we have to make this work for ourselves so that we can self-host it self-manage it it's free and open source software we are in control of it and that way Blender can be available for everyone yes it's a great idea but in practice it required like quite a massive effort to migrate this data from the previous website where everything was to the new one and making sure that a new website actually works and delivers at that level because that's what people expect right you expect to have something that behaves like github if you said it was like github so why isn't it like github so that's always a challenge so that being said yeah just just to add on to why that that is another reason that it's part of the why it's that we were actually using open source software before it was fabricator but I'm maintained by Facebook but they stopped maintaining it and we have to move to something else that is actually actively maintained so that's another reason of the why getting involved with developing the software and helping develop the software that we are making yeah yeah and indeed like a note about the Facebook it started as a Facebook project and the developer at some point went independently and he maintained it for a while like as a community effort but as Pablo mentions it's hard to keep momentum on these projects and to keep them going and to keep people engaged so it's in the end the project right now is inactive so we had to move on basically and we think that for example for for Githia there is a lot of promise there's lots of potential but that's one of those things that having people involved to help would be really really nice so talking about the goals and values like for what what is it that makes a piece of our infrastructure it has to be free and open for software like we really do not like if we do use tools or things that are considered not free and open source we's not some it's something that maybe we use internally or for some specific tasks but it's not something that is offered for the community like because the idea is that anything that the Blender project does anyway in the community should be able to check it out modify try running contribute to it and that's like super important so anything that is done is done that way self-hosting is a very big factor is a very big very important dimension of the way we work because we do self-host pretty much everything or we try to self-host as much as possible so self-hosting means that you run the infrastructure to provide a specific service or website yourself and this can be done at different levels it can be done just with virtualization so for example you could have somewhere a service a commercial service that provides you a virtual machine where you can run things but in other in our case often it's like we even have the hardware we even have like the hardware level so in a data center somewhere we actually have computers that run virtualization layer on top of which we run the websites and the services that we provide and so that's like a very important side of this and of course like what I mean with Taylor to fulfill our needs is that we I mean this is a thing that I believe in a lot that's something that I'm lucky to have Pablo to be aligned with as well and we really try our best to make things that are tailored like design for the purpose because you can easily take websites and hack them around or frameworks and hack things around to make it look like or make it work like you want that we try to do it like right so we try to really make it to to answer questions like an example is we at some point built this ideas platform like right click select based on something we built before and like there are many ways to make this already today right you just make a forum with upvotes and you can do it but you're like let's just actually build something specific for this that people can ask their question you can manage the upvotes you can see who's upvoting there is a lot of specificity to these issues and the more you can address them with your product the better experience they're gonna have in theory in practice is very hard to them maintain 20 different websites of the 20 different super specific things but that's why help is welcome this chart shows a little bit of the kind of ecosystem the landscape of websites that are around Blender so you see Blender at the center and in a concentric like the closest ones are things that are really key they're really core they're really vital to Blender right the projects website the download you can download Blender without download Blender or Blender itself like you can't go on Blender and download it if you don't have the website so some of these things if they weren't around it would be pretty difficult for Blender to function to exist to be popular to be discovered the chat is important because people communicate through it but then you get a little bit more outside and you get something more like the conference or like other communication platforms the code blog so but still important things to share platforms to translate for example the builder the delivery pipeline it's a list of things a little bit wider you get the archive you get development fund you get the Blender studio these websites while they're not like core of making Blender some of them are pretty much important for its financial sustenance like deaf fund and Blender studio they are the website that are used to collect donation and funding for the Blender studio and the Blender development projects and these are websites that we built ourselves the deaf and in particular it's fun because it really started as a like there was nothing first there was like just a simple PayPal button PayPal donate button before the 2.8 code quest project and then we thought okay we really need to make this a bit more functional more interesting and that's when then we built the entire the entire website that you know today with the badges and with with the donation different payment methods and so on and we are working now to make it even better because the easier you make it then for people to to give you something then the more likely it is that it actually happens but these websites are super important but they're not as close you know things that you need to have you know Blender functioning with and then more around the video for example where we you know it's a peer tube instance where we publish videos the Blender UI there are some websites that you probably never even know they existed it is open data for the benchmarking and so on so like this is to show it's a gradient of things and also when in our work and in our way of handling and asking for contributions then we look at this from this point of view like what is really essential what is less important so like there are projects that are less high stakes that you can contribute to without feeling like oh you know but you have to go through I don't know we have reviews or real requirements to contribute something some some things are like very very easy to to get into this is called like you can consider is almost like an infrastructure of websites because they're connected with each other but they are built on top of an infrastructure so infrastructure means like what are the the foundations of this and I'm name dropping some tech that maybe some people know so it's more for technical interest where people that know these kind of things a lot of the infra rounds using Linux and free BSD a lot of things are running based on Proxmox V which is like a virtualization environment as I was saying so you don't just have a computer that you turn on install your software and run it there is like some wrappings around to keep it safe and to keep it managed PF sense it's a thing for load balancing and firewalling and network traffic analysis and protection and so on self storage is a system for managing storage in a flexible and scalable way you can think of it similar to a block storage to object storage like S3 but more it can do lots of different things and a data center rack so what I mentioned much earlier is that we actually have our own hardware and that needs maintenance so while you may not have to go and pay the AWS like the Amazon data center fees for hosting a computer you need to buy hard drives so you have to buy a thousand euros of hard disks every few years to make sure that your data stays safe and so on right so there is still a cost to do these things but then you are you have more control over how those things are set up this infrastructure is managed almost full-time by a small team of people which is mostly done and earned you can find their names and their contacts on the infrastructure projects to blender work and they are online that in the chat they are available just want to give them a shout out because without their work everything that we built on top would not be possible the way it is do you want to talk about the of the shelf things well of the shelf are just software that we basically just download and start using we hope we would be that easy but it's not build but it's a software that is used for the for the build builder that blender or dog which is not only daily builds but every time a developer has to test that their patch works has to go through the build bot and that is one of the pillars of what keeps blender running or not we find out when it's not running thanks to that website too rocket chat powers blender that chat unfortunately this course is dev talk the dev talk forum it's yeah it's just for communication and it works okay gt it's the it's well gt is the project we're using but we have a branch with some changes that are not on mainstream yet but that's a goal to push to do some research and push some of those changes upstream media wiki for the for wiki.blender.org we might be switching to something else in the near future we'll go and beat by press it's kind of the how where we could be going in terms of the documentation for is right now is used for studio pipeline website which if you haven't checked highly recommend studio.blender.org slash pipeline WordPress powers blender.org and the code blog on top of WordPress there is also ACF advanced custom fields which allows us to make the website a bit more interesting without having to code too much web late is a new project that the new project in blender.org is hosted in translate the blender.org where you can see where your language is at I can see today I was showing that the Spanish is 96% in the UI but the the manual is 48% so I did some finger pointing plus the world is the the software behind analytics dot blender.org that's one of the big things we did this year is to get go away from Google analytics and house the wrong so you shouldn't see any more Google analytics no more like cookies weird things going on on the blender.org websites now we host our own and what I mean one of the reasons is because it's open source but also because we don't need all the kind of weird tracking that Google does we like just we getting the visits where people are using and how many downloads there are of course we we well we named it analytics dot blender.org because most ad blockers they ignore that website so actually if you go with an ad blocker to blender.org websites your visits don't get registered because of analytics dot blender.org and Grafana is used for metrics of blender.org which is a website also not many people are aware of but it has some numbers regarding the commits the high priority bugs that are in currently in blender and some more metrics in the future. PeerTube is video dot blender.org that's a website that it's maintained by it's not known or itself we have for getting his name already but he's basically all the videos that we are hosting and from YouTube from our YouTube channel and then puts them on PeerTube on our own video that blender.org which is federated so everybody has access to it and that's okay so just want a quick a couple more things about development itself then you know we are here mostly to do a little Q&A for the people who survived this so we do some bespoke development as I mentioned right because of course we try to use that just to show you that we look around before developing something ourselves try to use our you know brains and be like okay has this been done before because probably it has but then sometimes we have to make something ourselves because it's gonna be simpler easier to maintain very specific use case so you know very often it's just easier to develop a couple of functions for yourself or what you need than to get a multi dynamic AI framework that is supposed to be able to do everything and then it does the thing that you want only 50% that can take you can see it Python PHP and go a lot of PHP for historical reason and easiness of deployment Python is very well spoken by a lot of blender developers as well so it's like a very common language a lot of people know it yeah it's also inside a blender go is a little bit more recent but it's appreciated for the portability so building things that are like easy again easy to deploy and it's a very robust language to build applications with well yeah we used it for for the flamenco website for flamenco itself as an app and also for the blender benchmark runner that's done with we go for the front end we have a SAS bug and JavaScript JavaScript in this wider sense so like the sense of its ecosystem and a lot of packages a lot of tools there is a lot of nuance and difference in how they still these tools are used depending on the websites from the front-end part of public and spend a few words later and for frameworks themselves Django the UJS workers and web assets those are like the things that we use a lot to build things from scratch Django is a Python web framework this is very very one of the most popular and well-established Python web frameworks that are out there and we use it to do a number of websites that we're gonna walk through now VJS is a JavaScript front-end framework and WordPress you might have heard of it it's a very versatile as well it can be it allows you to turn your blog into a CMS which is essentially what we did with the door and web assets is a front-end framework made by originally by Pablo and maintained by a couple of people to try and give a coherent look and feel to a lot of our applications and to run quickly through these things I want to this just to give you an example because you know these things right you know the blender ID centralized authentication system for all the for a lot of blender websites you log in here we want to count you're able to look in everywhere so like making this work it's obviously not super trivial and but we really like that kind of experience that if you want to contribute to blender you just need one account and then you can look in everywhere the blender conference you may have seen it this is dying with mostly just Django and of course a bit of a front-end coding and do you use web assets for this yes okay so web assets and open data this is like a more complicated thing because it has the online component an offline component because it's a benchmark runner that you can run and publish benchmark over but it works the same again it's like it's very similar you can see also given the design in the design language there is some similarities development fund this website we are working on currently to to make something that goes beyond what we have here but it's very cool because this website actually has been used by the critical project so if you go to fund dot critical org you actually find a very similar version of the website and the same kind of design language or metaphors have been adopted also by Godot so if you go to fund dot Godot the door while they are not exactly running the same website the spirit the idea behind this is basically there as well and we are very proud we're very happy that people take these ideas and they bring them further in there in their communities and their own ecosystem so that's very very cool and this is the blender studio which is also done in a similar way and it's our own self-hosted self-made website for allowing artists to publish and share the work that they are doing as part of the studio and give value to the people who sign up to the platform and support it and for the front end development yeah that is web assets is a well it's based on bootstrap so it's very similar the the class naming is very similar it's just an extension of well basically it's one what keeps all our websites looking similar based on bootstrap and you seeing a fontello I don't know if you're familiar with it it's a website where you can make your own fonts and just by putting things together like a Frankenstein font and it's pretty cool and there is a screenshot which has the bit of a design system so why was it is that you can clone it from the projects of blender other website and run with npm it's very simple but it gets you up and running this we consider products so these are the mindset that we have when building and designing these things is like for blender it's a product you are meant to have a user experience you're meant to have a user story we treat it as products it's not just that you know utilitarian infrastructure for us especially the way we think and we build it so if you think like this and if you like this kind of things then you're very welcome to get involved and contribute to these projects because that's like a way of thinking that we appreciate a lot and that that helps these experiences and websites to be as good as they can be so thank you for your attention and if there are any question we are happy to answer them otherwise we can of course like wrap it up and talk one-on-one so however you like thank you okay there is one question over here mm-hmm so the question is about ongoing projects what is high priority where help is more welcome than others I mean I guess it depends a little bit on the area of contribution so if you are doing for example back-end development so you're more like for server side of things and things like that there is as you know from software development there is always the concept of technical depth and things that are like falling behind and getting bad all the time with web it's even worse because there is usually security risks involved so you need to keep things up to date not just on the infrastructure level even on the applications themselves so there is a lot of those things like that is pure maintenance that is just like in a way relatively low stake is just effort because you have to download the website run it figure out if I update this library what's gonna happen and then you know that's that's like a big thing that is it can be done on any on any basically website that we have and it's very very welcome because it's a lot of effort is the same for blender too by the way like blender has lots of challenges with it's with the with the library maintenance like making sure the libraries are up to date they compile that they run it's a thing that we struggle to find maintainers platform maintainers so for web is basically the same situation because it's a not so glamorous job that you know people you really need to be passionate about it we do it because you have to so that's also why we do it right but yeah so that that's the idea when it comes to front-end and front-end design and things like that that's a little bit more involved right it's the same way as doing blender user interface design well then you start to have opinions so that's more about communication so being able to share your vision share your idea of how something should be done both on a design point of view but also then on the implementation because you know designing it's already hard but then you have to make it too so that's like I would say that that's more difficult so yeah I hope that gives you a sense okay I think we should wrap and then you know thank you guys for coming this was I'm sure not what you expected so yes extensions yeah I mean it's a project that it was announced last year and it's been we've been working on it actually there's a post on the code blog and that is still ongoing so it's not like we forgot about it it's just still ongoing yes okay thank you so much and enjoy the rest of the conference