 Here we go. Hello, everyone. Wow. Thanks so much for being here. There we go. It's interesting for me to be talking about design in the developer attic because the design is a core part of the development and we should be talking more about it and we don't talk enough about it. So a little bit about myself. I studied architecture back in Brazil. I considered doing computer science or design, but I did something in between and I somehow transitioned to be a developer. Working with games, like technology, Blender was my debut professionally as a software developer. I liked big time nowadays. I work here in Amsterdam as part of the Blender team and I've been doing more design and product management. But let's start with the basics. What is design? There are so many different definitions and some people see design as UI, UI UX. Now there is design thinking, product thinking. So I go by definition from Tom, Tom Orozendal. Everyone knows Tom, I believe. And design is something that exists in between UI UX and engineering. Something that's trying to balance both inputs, trying to find a big picture, big metaphor that works on the implementation level, but also in the user facing level. Bless you. For example, when we're doing view layers and collections back in 2.80, so 2016, we're trying to find different ways for users to basically to work and interface with their data within the scene. So we already had this metaphor within Blender of a database. That's why we have all the objects in Blender, all the data blocks. But we wanted to present a different way to splice that data in a way to be nicely visualized. So okay, what is a collection? Maybe you can show that as a folder, as a little bit you can have a different end view layers. That is just a different way to visualize the same data. But a design doesn't need to be something that visually from its conception or even that technical. So you can see here we are leveraging that we have a lot of technical input when you're thinking about all the implications of those solutions. But a design can be as simple as an answer to a question. So here from the audience, who knows what is an asset? Think about within Blender. Can you define what is an asset? Yeah, you're eating poor guy. An asset is something that you created that you can use in multiple ways. Well, we tried a more minimalistic approach. Asset is a data block with meaning. Okay, so if what are the implications of this? If it's a data block, you don't create an asset. You created a data block already and you just add extra meaning to it. Okay, how do we communicate that? What does it mean? So here we're trying to use the same visual language we had already established for layers and collections. And okay, if you have the main database, you select a few data blocks and you want them to be asset. That's why in Blender you mark something as an asset. You don't necessarily create an asset. The so-called metadata or the meaning is what you developers would call as metadata. So the I mean the license, catalog, author, the thumbnail and so on and on. And those simple like one-liners have a lot of implications. One of the long feature requests people have is, hey, I want to save these as an asset. Why can't I go and save as an asset? Well, because it has to be a data block. So maybe you could export as an asset, but save it as it doesn't give you all the answers because do you want to have all the dependent data linked to that or appended? How do you do that? So say, you know what? Let's keep it simple. Let users be able to handle all their database and what they want to share and link. They do it locally and then Blader just leverage these as we do for data blocks. The other implication of these is that anything that you want to be an asset, then it has to be a data block. So for example, pose a library, which was the first data block we got to support the new asset system, wasn't a data block in the beginning. So we say, you know, so in order to support these, let's make an action data block when you save a pose as a pose library. And if users want, they can have one single continue action with a bunch of keyframes. Those are the pose libraries or I can even just have an individual ones. So there are a lot of implications to those one liners, but we try to care them further and further within all the entire development process. Another example who wants to guess what is, what are geometry nodes? Habib. Do you want to try it? Get it wrong. That's fine. Nodes that help you create mesh for geometry. It's also right. This is my asset. Everything is right. But we try to say, what, what, if we just treat jump to node as a modifier, a modifier that can handle complex behavior, but that can just leverage being in the modifiers stack and do everything. Another modifier can do. Okay. But what is a modifier? Modifiers for the non-technical users, they're just black boxes with some inputs and outputs. Okay. That means we want to be able then to have a jump to node as well abstracted where all the low level complexity is hidden away from the users. And you just have to deal with this high level interface. And that means for blender, we want to make sure the first citizen of the design is people make sure that all external dependency is listed as an input and people that really want to violate this design and have some hard coded values. Yeah, we do it after the fact, but we try to have this concept over and over and over, reiterated with the implementation. This is older. Less people might be aware of this because it is pre 2.80 as well. So for 2.80 or before 2.80, we had the render mode taken over all the interaction. So if you go to cycles and put on rendered, you could, you couldn't do anything but to look at the scene. So don't have this idea. Why don't we have an overlay layer that contains all the interaction, which is composed stacked on top of the, what comes from the render engine. So this is like one of the early videos we had trying showing that already. So in this case, whereas I was able to move the object in cycles, it's still playing catch up. So you see like the little darkness behind the object for shape. And then you have the gizmos as a composed layer. In this case, it's not only as a one liner, but then we also try to communicate these so-called diagrams and try to say, okay, how good that, how, how good that metaphor is, how easy it is for users to understand for developers to understand. I've been farmed at this design change a little bit in the implementation level. So things are more intertwined, but we wanted to make sure that each mode had its own overlay layer, like edit mode, the object mode, the post mode, and to give us more freedom to develop them as well. Now throughout design, there's the big task of communication, right? Because you think about something, you're going to have to iterate over that. You're going to have to gather feedback from the team. You're going to make sure the whole team is aligned and sharing the same concept. A approach I've been trying a lot recently is the, I call A4 design. It's effectively a full HD because I almost never print those. And this is inspired by Toyota. Toyota has an A3 design approach where with one page of paper, you have all the information you need about a project and you can go and talk to everyone, gather all the kind of feedback, show to those stakeholders, the CS active levels. And of course, you cannot tell a whole story in a single full screen piece of paper, but you can exercise the power of synthesis and see how clear the core of the concept is. Thus the one line is like the one line expanded in four of using for not only feature design, but also anything you want to communicate. So try to go from bird eye view to examples and, you know, try to communicate. These we used for the new data types when you wanted to have volume and hair data types in Blender. And even the simulation node, these, I don't know what I'm going to do once you get later into simulation, but this we're trying to find about a metaphor, a lot of CPU. Can we think about the logic and events and forces us this unit that would be make it clear for people to understand. Now, so far I've been talking about big picture design, which is traditionally strategic design, it comes from oftentimes from Tony himself. He's involved in a lot of those projects. But design is something that permeates everything we do. So it's actually, it's also in the everyday work of the modules. Well, the modules have this big task. Okay. Animation 2025, how to define the future of animation or for sculpting. How do we make sure people that are already using Blender for rendering can also use for sculpting people that come from other sculpting tools. And there's a lot of work on flashing those out and get to the specific feature set we need and try to nail down what are the user cases that can actually better serve those projects. And a while in the strategic level at Blender, we have this really tight structure where we have an institute in the studio. So Tony and his keynote was mentioning how we have 50 people in the payroll nowadays from DevGrant to people on the staff. A lot of these are the studio artists, which are a core part of the development team. They help us with the, well, use cases and testing the features. So for example, the whole hair project we had last year was possible also thanks to bringing people over. So Hans, which works from America to over, and then we could work the trial two months together with the production of charge on how they make a scrubby male character with a whole new feature set for hair sculpting. And again, the use cases in that case. Okay. It's very what are the use cases? How do we flesh out to make sure everything you do is anchored on something that people need to do? However, as a Blender is a open source community driven project. We also have what we call stakeholders. So artists who get involved in the modules, either we invite them or usually they come and say, Hey, I really want to help. How can I help? So on the question we get a lot of, how can I help? I have a lot of ideas. Ideas are great. Your professional expertise is really something very valuable. So for instance, we did all the hair development also on top of what Daniel Bice did. And Daniel, by the way, is giving a talk now at one o'clock. So it could be there. Maybe I can speak fast. And what does a design look like at that level? From we have the wireframes of, okay, you have a use case. How do you flesh that out for jump to nodes want to do basic scattering? Okay. Which kind of functionality we need? What kind of building blocks we're going to need for this feature? And more recently, we're doing French Spanish for the nodes, right? We want to be able to organize the principle shader, want to be able to organize all the node groups people are doing to share their creations and tools, whatnot. And this is more like a bit more operational, but you know, we just have to iterate and again, talk to people, show to people. Now, those are so-called wireframe mockups. There is still a moment where you do want to transition to pixel perfect mockups or high fidelity and mockups. It's always a tool. Forgot it. It's a, you've got to find a balance on when to do that transition because the moment you go here, people are going to be pointing to why is that color that tint of gray, but I still with the digital tooling we have nowadays is a waste not to go there and you can definitely leverage just be able to copy, create variations to create iterations. Nowadays, we use a lot of pen pot is an online open source vector application. And besides basically mockups, we also still encourage like storytelling. Like what is the user journey when they're using a new tool? So this is for the upcoming brush assets system. So the draft system, like how do they expect people to experience? Can you, it is not even a wireframe is like a oversimplified high level picture interaction map of the feature set. And again, these we can then communicate and like their concepts, which are very abstract, like drafts. What does it mean to have a draft for a brush? Okay, how we can do it in a way that we can teach and then people can learn and teach again and understand and maybe the metaphor don't work. And then it will roll back, rise and repeat. But it's also, it's funny because we do design decisions every day. And it's one of those classic Mac that people say is like, if no one is a designer, someone is doing the design work, so go find who that person is and make sure they have the design sensibility, they have design training, because everything we do, we're going to have to make a decision. So I might as well own that and make sure we can raise a flag when, okay, this is beyond what I think I could elaborate myself and beyond my capabilities. Let me try to find more people to help. This quick example was something we needed to create for the warning system for when you open Blender with a file that has a mismatched version. What do you do? If you save that file, you're going to have a MyLoseData, you'll not be able to save it again. So quickly draw something on the white board. And then I think this is a mock-up. I couldn't even remember, I was showing this yesterday, it's someone like, is this a mock-up or the final result? Like, I don't remember because mock-ups got so good nowadays. I think it might be a mock-up, but the background is a screenshot. So saving time is as much as possible. Now, we do have models. Did it house structured Blender development, right? So nodes, modeling, rendering. But we do also have like 30 million downloads, 20 million downloads. How do we make sure we leverage the community without getting overwhelmed? How do we make sure we still have a centralized, cohesive design reveal without being pulled into every direction and yet make sure people can participate in the process? This is like the Holy Grail, right? You don't want to do design by committee, but you don't want to alienate people that can give you their own point of view, a feedback. So we do have a passive and active approach. Throughout all of these, it's always interesting when you see people standing out based on their attitude. I would never mind clarifying a design topic for someone who can position the self nicely. Say, I don't understand, can you explain why you went that route or not? But you also see a lot of people that going to find a lot of friction if they're already come from a position of feel alienated from the process or entitled, you name it. But basically we'll do a lot of passive feedback, which is we just go to the jump to nodes hashtag, for example. What are people creating with the tools we made? Because you can talk the talk, you can say whatever, but if you talk the talk, walk the walk, it's different, right? We know where your feedback is coming from and it's more grounded and you can work together to find, okay, for this, this, this case, maybe a solution can contemplate all of them. One recent example was the repeat zone we have in Jerome to nodes, because you saw people were just taking a node group and duplicating five times, six times, 10 times, when we introduced the simulation nodes, because it needed more sub steps. These require two different solutions. One is to have just a repeat zone and the other one is to have simulation sub steps. This is still coming, I believe. But basically developers do go to YouTube, to Twitter, to Massa, don't whatever. They try to go where the conversation is. They don't go necessarily to user forums because it can be triggering for a lot of people because of the attitude and the energy. At the end of the day is a work, right? If you're doing your work, you have to deal with toxicity. It won't make you happy. It doesn't make me happy. But this makes us very happy. The other approach, what I'm calling the active feedback, is sometimes for new features we try to ask for very focused feedback. Hey, for simulation, for, hey, we're having our simulation nodes. This is what you can do already. Can you show, not your ideas and opinions on the backbone, but can you show what you try to do with the feature? Tell us which workarounds you had to use and which showstoppers you might have had. And that's all we need to work together to get your kind of feedback. So even if you're going to post in our blog, in our video, if you can frame it like this, it's fantastic. Because then we know where your ideas come from. We know even the workarounds, which ones are problem, which ones are not. Maybe you don't even know other workarounds you could do. And so we did recently, not so yeah, we even did, sometimes we go as far as having a artist reaching out to us. Or in this case, I actually asked Erndale, so here Erndale, can you try to reproduce this, I saw a tutorial from probably, I guess with any Go figure. Say, hey, can you try to do this bridge effect or this castle with those gates and some ivy? He couldn't do the ivy. One of his feedback was like, hey, I need a for loop or for each. So maybe you need to revisit that attempt. But this is also a very interesting approach. Hey, you try to do something and you can share your frustrations, but also what you managed to do. Again, your workarounds and your showstoppers. So unvaluable. We actually might be able to free you for the Erndale hair talk. This is the last topic I wanted to bring, because this is a very condensed talk and I'm going to open for questions, of course. But so far I've been talking about almost an idealized work. Okay, we have this one big picture and everything worked great. These are the tools you try to use and we communicate and people like, yeah, they all shake heads and it's fantastic. It's not, so this is more a cautionary tale of something that's happening right now. So for grease pencil or grease pencil 3.0, you want to integrate a grease pencil with jump to nodes. And for that we say, okay, within the jump to nodes, what if we could try this one liner that grease pencils are just curves as far as the user is concerned. Or if you want to have a specific layer or care about specific performance, maybe you need to know how to do more. But it's one of those like try to do simple things simple and complex things possible. It's a cliche, but it's a pretty good cliche. Okay, so grease pencils are just curves for jump to nodes. Okay, first that means we expose then grease pencil as a new component on the spreadsheet and on the separate component nodes. Okay, then we have a layer as a new domain. So you can, you know, evaluate. I'm getting too much into jump to nodes. Sorry about that. Don't need to follow along that closely, but then we have to you can treat the layer of domain just as we treat spiline, splines and points. And then we went over then all the curve specific nodes and converted them to also support grease pencil. So instead of having like one big node called grease pencil to curves and now any curve node that people are already used to how it works should just be converted to it. We did this in the past two weeks being fun. But then that's interesting when you start developing something, you're like, oh, then we didn't thought about that or that has too many implications. So in our case is how do we handle the layers in the case where we are not outputting curves anymore? For example, the curve, the point node. Do you want to flatten and all the layers in one single point cloud? Or do you want to keep the point cloud of each layer still grouped as an instance? It's not an easy answer. Like for us so far, what we have now in the daily version of Blender is a version where we have the different groups with instances. But then, and that's super interesting because it's super fast. So hey, performance. But then for users, that means all of my group, which I don't know the black box concept again, if these are black box, I don't know what's happening. I usually put a curve and get a point out of this. Why if I put a grease pencil now I'm getting an instance? What the heck is an instance? So it has some implications and tradeoffs. So what we try to do is to make sure we don't make those big one-liners lightly and then make sure like we try to do what's called reality check a little bit to try to say, okay, can I have everyone on board of that? Is it clear to everyone? Because again, design is not something that should be delegated only to a design team that's not talking, but it's something that everyone in the team should be, you know, should be respectful and sensitive to it and try to work together on that. I talked a bit more about some of those topics in the presentation I had at PEMPOT. If you're interested, go check it out. And I think we're done with the talk and then open for questions. Thank you very much. And we have six minutes if you want to go to Daniel's talk. But does anyone have a question? I have here, I have the whole date. Okay. Ty, I mean it'll be the node in Jump to Nose. Okay. But I'm not, but Karen, we saw the question was about how I'll co-inspecting tools and how can we analyze the specific data coming out of a node. How do you treat debugging as a legit use case as well in the case of Jump to Nose. So we first started with the spreadsheet editor as a tool which usually you don't need. That's interesting. Like, okay, usually we're making tools for artists to use the tools. But sometimes you need to make a tool for when things don't work. It's a very interesting challenge. So we did, we do this in two ways. One is having to adjust the spreadsheet editor which is also an educational tool for people to even understand what is inside my object. Oh, those are, this is my mesh. You also have the concept of the viewer node where we make sure and again those things are easy to say and hard to implement because we make sure you cannot at any point stop your node three and see, okay, what is being evaluated at that point and show me on the on the spreadsheet. We didn't go far beyond that. We know there are a lot of needs for debugging tools, especially you want to bring the debugging for the viewport like with gizmos. But I mean, within the context of the design topic, I think is a is an is a case where interesting to look at is as I use a case for the technical artists or debuggers. And so I think it's an interesting challenge, but we're open to understand what is missing on the existing tool set. So come talk into the oh, sure to me, but to Jack or to Hans. Overall people with the green pin, they are developers, they can be praised and harassed with your class. Speaking of people that need a blooping, it's for you, how for you? Howard is oh, the gift on our developer. Howard helps the whole Boolean for a developer with commit access with Caron. Okay, so the question I mean, I'm repeating because a microphone doesn't catch people speaking. So it's, I think basically saying that it's nice to have a big concept and whatnot, but how much of that gets to the final users, right? It's a fair question, because in theory, it don't even need. In theory, if the design is cohesive, the users would just feel that things work. It's a classic thing in blender where it can just press G anywhere. And it can just move your node or your object in the viewport. And things, so we have this cohesive abstraction that works everywhere. So it's like the spreadsheet editor. You shouldn't have to explain a design for people for it to click. But we do try that in two ways. In a way, like the user manual is something that people downplay its importance. But the user manual is not for the final users necessarily. It's also for educators, content creators, because those are people that are going to replicate what is the message, how we should be using that. So what we do also is make sure we are communicating, again, communication, communication. So I do write a lot of in the blog posts in the code blender.org. And I think we should do more work on that. So every one of those images I had in, this is on the wiki page, but all those examples here, they are fleshed out in the basically in the code blog. And I don't know what else it could be doing, but I guess it could be hammering more and more like those concepts. For me, it's a bit less of the concept more about trying to encourage developers to think about those one liners for themselves as well and for their project and see how far you can carry that metaphor. So, for example, before we had fields we've jumped to nodes. We're, we could, we had a different approach, right? And then we were trying to have a approach where everything we have is a data flow. So every node just get data in and the data out. And we try to see, okay, how far we can push that. And we had a few more caps on that. So this is what I call, I forgot the name of this, but basically have like two explorative designs. So what are the implications with the use cases to have to pass every single attribute you want to be propagated to every single node? It gets a little bit annoying at some point because you might want to retrieve a selection that you created in the beginning of your node three in the end. So Jack came up with the concept of the fields. And then, okay, it's a very, very hard concept to understand. But then how do we indicate to users that something different is happening? Okay, we have the dashed line, we have a different socket. And there's something we never achieved is that we have ways sometimes to illustrate a concept, but for, it's like sometimes it's very abstract. But there's a difference between illustrate a concept and to visualize what that means. Or maybe it's not the way around, but one of the things to show like for the simulation zone it's clear that we have a different color is something interesting is happening there. The way we visualize not necessarily help users to understand what is happening there. So there's a lot to be improved in that phase of the design as well. But first and foremost you try to make sure that different concepts are shown differently. And if you have one concept defining blender like layer so the grease pencil layer we've been having this debate like yesterday like is layer just grouping? Then come on we're gonna have in the future layered texture. So layer is something specific for grease pencil now because it's about composition. Not about grouping about compositing and the order of drawing. Okay, so that's not if you want grouping for mesh then that's a different concept let's try to have then a different concept. So more questions? Curiosi? Oh, like what format? CSV? Okay, CSV. Yeah, okay. Yeah, the question is specifically about how could I export for a file like a CSV file or we have something that works within Blender but then you want the outside of Blender in a different format. I'll try to reframe it for the context of design and what you're talking here. That's a pretty good question though. So short is we don't have an option but we thought about that but for us is also about maybe the use cases and I mean we do plan to have importing and exporting of CSV files but one of the challenges of design that we try to do is you know design the naive design we believe is just trying to make everyone happy and less make design for everyone and that we don't believe that much in that I don't believe that much on that. So we get to pick a specific audience and use case so we've been focusing so far into the animation pipelines that's why we see use cases which are grounded on the what you need for short film and we're hearing more and more feedback from the scientific I'll guess scientific community the game industry like hey we also like to do procedural more modeling or not the other we hear a lot also hey I want to do in setting I want to do a lot of modeling operations like we know is in the roadmap but we haven't been prioritizing that so in its context is more like we haven't been prioritizing those features yet because we have been trying to first make sure we have one audience that is well supported and then we can use that to basically to check what are the features that that design is valid and eventually can expand further it is one of the things that would easily I mean you can probably do that in Python already by the way should it should be very straightforward yeah yeah for me I'll then say it's one of those cases where it would be really nice if you feel invited to go to the dev talk forum and say hey this is what I'm doing this is what I'm trying to do this is the current work around yeah using Python what not those are the problems of this work around and the show stoppers pretty good example of that dev dev talk dev as in development dev talk the blender.org so it's a pretty good question because there's two more hands and I think I have no idea about time but I guess it's their talk here at one o'clock I hope not right okay so we can see have those questions the spiderman is outside of the node three oh the color map it's a good question so the question is about whether we could have color for the color map color space control within a specific shader no okay I got a question so basically we have a few specific nodes that have a very specific interface like you can do a curve slide you can hold a color ramp color map and then those things work well as individual nodes but you don't have a way to wrap them to a higher level node group that uh they have the same problem in jump to nodes where you cannot expose this for the what fire this is uh again a very interesting question because one of the ideas for jump to nodes as I mentioned is to be able to just be a modifier where is the modifier and if you know the modifiers in blender you know that some modifiers they have in their interface a curve profile or so we have they have different inputs than what they're available if you just expose something so we have a list of those like recently we implemented for 4.0 the annum socket oh no it's 4.1 sorry for 4.1 we have annum socket which is this drop down where you can pick different options and as far as design is concerned we do have this idea that anything you do any node in blender could have been a node group built with building blocks so we still have a way to go there so the color ramp is a good example the those menu switch is another example the idea the sub panel I showed one of the slides is another example of that because the modifiers they can have nice sub panels so if I'm creating my own modifier with my custom tools I should be able to also get that it took more than two months to implement it's not so straightforward but the idea that we want to be able to do everything you can do within a node should be able to do it as a node group and more and more it can have users dealing with middle level node groups or modifiers and people more tech savvy then work with the building blocks and the components pretty good question so that was a one Paul last question here for the question is in within the design process and I guess not so much in the big picture but when you try to flesh it out and how we deliver it to that idea how much do we handle reference from other software other projects so the first thing to that is that we have a we intend to be in between let's say Houdini and cinema in terms of complexity so again it comes with this idea let's have one clear try to have this very clear from the beginning so any decision we make is informed by that so we see that for instance Houdini is a more technical audience in a way you have to use nodes we have no option cinema I think cinema now has some node based thing but cinema was known for be a more graph heaven you know we can do everything with the duplicators and whatever clones without having to do a single node connection or not super powerful super powerful but we try to have this initial target audience that is different than those software so even if you could wanted to just take those experiences one and one and put into Blender is very different right of course in Blender we want to make sure that the tech side of people can also you know have a good time that's why we have this concept of okay for the average user maybe you just have a modifier that someone your TD or someone on the internet prepared for you and it can work on that for the TD people we have the building blocks and maybe even some media level like a random random rotation node group for 4.1 I shouldn't say that online because then it become biting but I want to do a node group for scattering it's always tricky because I won't be able to handle every single situation but we probably don't need to handle every single situation just want the incisor the geometry the transformation the random rotation option so I do have a prototype for that already my computer because again we want to make sure different audiences can interface with different parts of the software besides that there's a question about I don't say how we handle with reference but usually how can users share their experience coming from a different software and present that as a problem with the blender feature set so flipping this around a little bit you as a I guess Houdini artist or how can you like say I miss that feature so much in Maya, in Houdini, in SketchUp how can I make the developers aware of that what we recommend people is to focus a bit less on the feature and more about on what you're trying to do and what is that the tool gives you or another way of framing that is if you had that tool what you'll be able to do this in this best case scenario and we can try to think together what will be the blender way of doing that which what is the way that would click because people are used to those principles every else in blender we I mean I have more time but I don't know if if I have more questions and yeah pretty good question like by the way pretty good questions plural so how do we handle a let's say if you see an add-on an extension of Blender that's doing something which would be adding value to everyone do we consider implement that in Blender bring that add-on itself into Blender we don't do anything because people can already you know go there and handle that were you here for the first the talk from Julian on UX and add-on okay because a is a there's always there are a few angles so that that question the first one is not add-ons would comply to the Blender high level standards for the user interface and the interaction you'll have I've been mentioned a few times that we want a cohesive experience and sometimes you see add-ons taking shortcuts and finding solutions for UI and UX which is all fine but that is not something we can just plug plug and play yeah I guess plug and play into Blender and expect this to lead to a very nice experience to everyone part of a one of the solutions you want to we're pursuing for that is the extensions platform because you know production code is still valid code even though it's taking shortcuts but if you have to maintain in Blender has more implications but I guess with something like the extensions platform would allow more people to have a place to open to share open and free extensions of Blender without having to fight a little bit with the core design of Blender now there's a second angle to that question is okay most of the add-ons all the add-ons are GPL compliant the ones which are shared and distributed some of them are self-contained some of them are have ways to connect to the blue box and the black box Tom was showing his keynote right but let's focus on the ones which are let's say I'm an add-on developer I have something that's fully GPL compliant doesn't require any asset which is not creative common you could say that you could just take this add-on and put into Blender legally it's fine it's not necessarily the best course of action because you're also alienating a contributor from the project from sometimes even the livelihood they have but even the one way they know how to contribute is doing their own solution so we know that a lot of good design and designers got channeled into the add-on space not even say marketplace but just the space no people can explore more ideas more easily there so one of our challenges not so much trying to find the feature set which are we're lacking but who out there are getting pretty much a pretty good UX designers and UI designers like who can actually have a neck for how we do things in Blender and those people would like them to be welcome to contribute to the core of the project so that's the best case scenario you know they feel like you know what yeah I want to find a way to either help partner these into as a core feature or help maintaining more aligned to the Blender UI UX guidelines that's part of the one of the ideas we'd like to explore the final the final angle I'll go there is like how can we make sure the Blender out of the box is a complete experience there's always going to be things that are specific and niche that you're going to be better served by outside plugins right Blender supposed to be general and useful for a lot of people but but then how do you balance okay so we do are very aware that if something is not in the core Blender shipped with Blender is something that Blender is lacking so we don't treat as okay is an add-on it's fine if you can just go there so you do take that seriously it's even one thing don't ask me to try to pursue recently was hey can you try to map out what are the core add-ons people cannot leave without and try to see why and try to see whether we could maybe invite those developers to maybe they already made enough you know money from those add-ons they can just be first contributors to the extensions platform like why not is that we're all building something together to everyone and I think there's a lot to be gained by closing that bridge and closing that gap ultimately I also see add-ons more as a space for experimentation and exploration and then again those things could be used as a start point for all projects as even as a validation for you know okay it's worth pursuing this pipeline we did this in a way for even for core features like you think about Evie Evie is started as a project by Clement on his own time doing a PBR renderer like okay that show that people are excited about it it validates already the product let's now design this the core we have this also for sculpting tools that Pablo Barra was developing it was developing on his own time we bought it back so it's not different for add-on is not so different than those forks and experiments the tricky part is when people are ready making a living of these and I think it's interesting for is what I mentioned about attitude blender is you know providing a living for a lot of people it's interesting for people that want to contribute to the project to feel welcome then I think that's one of the ways I don't have an answer because this is not a simple question so that was a simple answer I think I will you can I'm gonna wrap it now I'm gonna be here every day all days and thanks so much again for your time any questions