 Yeah, so moving the Blender UI back to its viewport, it's the 2.8 project that's coming. So we need to start somewhere. And of course, your eyes always cool to talk about. So for this presentation, I'm going to ignore like the small tasks and I would really like to have a look at the big picture because it definitely influences the small ones. So we have to look forward. I'm kind of proposing a direction for the next years, probably, but we'll see. At first I'd like to define viewports in terms of Blender because I think the viewports are a bit more than just the 3D view. I think I will just show you my definition of it in terms of Blender. Viewport is a region whose main purpose is direct content interaction. So that's not only the 3D view, but also the image editor or the VSE or whatever. So I don't think the node editor is one. I think it's a different kind of user interface. So having said that, you can just have a look at what's currently going on in the Blender user interface. I think it's pretty easy to describe roughly. We've got buttons everywhere. We've got shortcuts everywhere. And we've got a big mess. So I think this describes it pretty well. Welcome to Blender. I think someone already showed a similar image to describe the Blender UI like one year ago or two years ago, I don't remember. That's open source. I can just do the same idea. Why is that? I think that's an important question to ask. Why is that happening? Why do we have such a mess in the user interface? You could say it's lazy devs, but I don't think so. I think the issue is a bit deeper. It is a big problem in the kernel of the UI. Not the code kernel, but in the core of the design. The interface is built out of paradigms, but lacking an innovative vision. That's how I see the current user interface a bit. I mean, we're sometimes a bit sloppy about the paradigms, but I think it's more important that we have an innovative vision. Looking forward, or you could also call it like the golden thread or whatever. You could also call it the idea, the approach, whatever. It's fine. What I think innovative vision measures pretty much. Paradigms are a bit more... I see them as a bit more long-term, but I see a vision as more of a short-term thing. Not really short-term, it can still take a couple of years to get a vision really working well in the user interface, but it's not that long-term as paradigms. I mean, you can keep paradigms for 10 years, 15 years, and they may still be up to date. So we need a vision. And that's where the proposal comes. In this proposal, I would like to provide tools that move the locus of attention close to the user's content. It's not the focus, it's the locus. The focus is basically just one point, one pixel on the screen. The locus is a location, basically, region, whatever. And we need to bring it closer to the user's content because it's... I mean, it's such a mess. There are buttons everywhere, but we could... We have this nice content, we have susans, we have our objects. We can just... Why don't we just touch them? So, the task is to move the user interface back to the viewports. And at this point, I think I'll just demo quickly something. Nothing new. And Qt Creator just crashed. So, just master. This is not a great user interface. A great user interface would look more like... No, that was the wrong key. Sorry. Sorry. I like the terminal, it's fine. We can just keep turning the terminal into a user interface. That's how I imagine a good user interface. Fullscreen, object, done. You know? And it's kind of like Sebastian currently works with this stuff. We'll talk about it later again. So yeah, I need to exit it again. It's not me. I think there are some ongoing and already finished milestones to look at. And the first one is the viewport project. Of course. The viewport project is kind of like a requirement viewport-oriented user interface. I mean, it doesn't bring much if we have super awesome viewport tools but the viewport is shit as hell. So, we need a good viewport. All that gives you a better feedback of what your final render will look like if you got a decent viewport or an awesome viewport even. I'm not going to tell you much about the viewport project because I'm not so involved with it. So, I think that's it for the viewport project. I also think that pie menus are is definitely the right direction. I know that some of you really hate pies and that there are also buttons but I think they are pretty cool to work with. And now I'm going to tell you what I meant with Sebastian's workflow because he just... Pie menus enabled. Search for them. Then he goes to whatever. Usually the motion tracking thing. And then he goes into the full screen and he has his pies and he works with them. And I find it... I think that's super awesome. Of course, it's not perfect because there are still buttons but it's definitely much better than... you know, like this. So, I personally like pie menus and I think it's good that we have them. Go back. No! It's really the internet which is really slow currently. Anyway, I can... It's just... No, it's fine. It's so much better. It's just nice. So, the next big thing is the cost of manipulators, the widget project. I like to call it the cost of manipulators project because we also have buttons and scroll bars which are also considered widgets. So, it's kind of confusing what kind of widgets do we mean now. So, I call the widget project or the weekly widgets. I like to call them cost of manipulators. I wrote a blog post about it. Good that I now have better internet. Or maybe not. Oh! I hate computers! Fuck you! I wrote a blog post about it on the code.planner.org blog. Pretty basic stuff, but user-oriented. So, everyone can read it up. But not me. I think it's not the internet. I think the computer is completely sleeping. Yes. Anyway, I don't need it really. I just wanted to demo it in a second, but that's fine. I can do this in a moment. Yeah, I know. Linux sometimes sucks. Usually not. I like it. Yeah, it's completely frozen. Can move the mouse and that's it. Yeah, I think I need a reboot. That's quick. It's an SSD. So, I think... So, the idea behind the widget project is that there are buttons which can just be displayed which don't make much sense to have them as values because you can see what they are doing. And you could basically do that in a much more intuitive way than just having ugly buttons. What's happening? It is buggy as hell. I'm gonna do the hard... the hardshuttle. Now I got the widget branch. Check it out. I wanted to demo the widget project. It's okay. Just a few seconds. A widget? Yeah, right. I started the whole widget thing. So, what is a widget? A widget... But it's charged. Yeah, a widget is basically a visual representation of a value. That's all. So, if people know character rigors, they create little interfaces on top of their characters. And it's important if you animate that you can pose by moving your hands or moving a foot or moving the pelvis. So, you make an interface inside of the viewport. And the widget project I started last year was to find out if we can make it a generic toolkit for users. I thought that users and developers can find tools inside of the viewport. So that you don't need to have shortcuts, which is invisible on menus and crazy selections. But you can actually say, okay, I have a number of operations I want to do on the viewport. And I create visible clues in the viewport for it. And now I can give it back to him. Thank you very much. You saved my life. So, this is the blog post which I was talking about. So, it's I should really mention that I wasn't the only one working on this. So, Ton, it was pretty much an idea from Ton. And Anthony, I'm not going to say his last name. Ria Kiotakis. Yeah. So, he started it. He did lots of hard work. But he was much too busy with the viewport and all the other projects. So, I sort of wanted to help him with it. So, the blog post is also by him. I'm going to be silly now and click on YouTube. Yeah, it's working. And you've seen that in the talk from Ton the other day. That's how they work at Dreamworks, for example. You know, there is almost no user interface in between. It's directly with the content. So much nicer. So, I'm going to give you a demo of it. I mean, it's not that far the project. I wanted to I wanted to work on them on such rigging widgets or animation widgets. But I didn't have the time yet. So, I was working on a couple of other things. So, the first thing you'll notice is the new manipulator. Which I find really cool. It got some new features like mouse hover highlighting. Can you see it somewhere? It's pretty subtle. I think it's fine. And you've got it doesn't disappear if you do something. There's this little gray thing in the middle, which stays there. And you've got those planier transformations which is also pretty cool. Yeah, of course rotation is working exactly the same. It's not, I don't think it's really finished. I think we can do some more fancy stuff with it. But it's getting somewhere. So, that's the transform manipulator. There's also some camera widgets. For example, you can you can now just take the camera and do this. Which is much more nicer, in my opinion. And you've also got the depth of field widget. It is so much better. And you've got a spot size widget. I should probably use the manipulator widget to scale it up. So, this is now Spotlamp obviously. And you can just do such things right from the viewport without buttons. Who needs buttons? Yes, sure. Yes. Yes, right. It's basically proof of concept. I think we can do that a bit better. We talked about it yesterday, Jonathan and Paolo and myself. It would be better to have a cone for it. And an arrow for example for the strength. But we'll see. It's kind of detailed. Kind of detailed. So, we can look at that later. What else do we have? Small one. The the force field wouldn't widget arrows everywhere, especially if I do this. Arrows, arrows, arrows. You can just just the force field. Gottfried, I know where he is. Gottfried Hoffmann. Where he is? Oh, yeah. No, hold on. He wanted to come. Now I'm disappointed. Anyway, we've also got for the graph editor something that has been requested. So, I just added it at some point. I hate laptops, by the way. And computers. So, I can just go to the graph editor enable a backdrop and then you have this backdrop. If I had animation to it. Then dark somewhere. Re-stupid. So, yeah, you have this instant feedback. So, yeah, this is kind of cool. And of course you can you can freely you can press W at the moment. Shortcuts, of course, will change. Then you can just resize it and move around whatever. Same for the compositing background, but it's kind of pretty, so I won't demo it. Yeah, it's also for the backdrop for the sequence editor. Yes, sure. Sure, why not? I mean, it's basically the same thing, just in 3D. No, it's totally possible. Yeah. Right. Yes. Really, that's totally possible. So, yeah, just to show you that I'm not lying to you, it's also here. So, I think that's it for the widget demo. Yeah, pretty much. Right. So, there are also face map widgets which are not that nice working here. Face maps are basically groups of faces like vertex groups. And the plan is to make them to turn them into something like you can see in this video. When you hover them, you get some feedback and the faces get highlighted and you can do whatever you like. So, it's working. I think instead of having buttons area, shortcuts area and mess area, it's really time that we think forward and look for some other solutions like viewport project, Pies, widget project, get them done somehow and then we've, at some point we'll have not this stuff anymore, then we have finally objects, then we have Susan's area which I think nobody can resist having Susan area. All right, I think that's it. Any questions? What goes into creating a custom manipulator? So, I mean, you've mentioned that I know in the past that you have the complete Python API for it and then also to have a series of supported widgets just by default. So, I mean, if a user wants to create a custom widget, whether it's for a rig, for a custom modeling tool or whatever, what goes into that? Is that strictly Python scripting or? There's a basic Python API. I don't think it's working anymore because code has quite changed. But the idea is to have a really easy Python API for it and I think even allow users to create some widgets without any scripting should be possible. But it's different. Yeah, exactly. The current idea is that you just model some shape, export it and then you can use you can use the data that you just exported from a Python script. So, it might be possible to also do that without any scripting at all. Yep. Talking about widgets, what about moving animation parts or motion parts? I don't know how they call them there for keyframes. Yeah, Antony was walking on it, but I think it's a big issue with the dependency graph. So, I don't know the exact status of it, but I think it's pretty difficult. But possible, of course. I mean, we got a new awesome dependency graph. Right, Sergey? Yeah. Okay. What? Right, one more here in the corner. So, we've seen some custom updates and work there as well and Tom was mentioning also more natural interfaces. How do you see this moving forward in terms of evolving an interface that is usable both from this keyboard mouse concept and, in fact, the tablet style that you showed there was also still using basically a stylus as a sort of a mouse. So, moving forward to that to more intuitive interfaces like touch or anything else that might be there so that the two are somehow living together so that we don't need to create a wall that, you know, mouse and keyboard users and then something else. So, you mean that it integrates nicely with tablets and stuff? Right. It's not really that's related to widget directly. It's more of supporting tablets and generalized and then they also work with widgets fine. Right, right. Asking just because, so I don't know if you have seen a Sprout Sprout by HP. So, it is a device that has a touch mat basically down. It's another screen, a projective screen and then of course it's far more natural to use hands there but you would still retain the vertical screen which is a classic kind of pointing device which would you use on the boundary interface? Yeah. If you haven't there is one upstairs or we'll be set up shortly. So, then I can ask more questions. Great. What about feedback? I mean in the interface now there are not only buttons there are also feedback. So, if you don't have nothing how I would know where is my cube, how is thick how is big and all the feedback that you have back that are not buttons. Yes. I mean a big goal of the widgets or the custom manipulators is feedback. So, I think that's already improving pretty much. But feedback in blender in the user interface can be improved in general. I think we maybe will talk tomorrow about it a bit here. So, yeah, Richard have a lot I think but it still can be improved of course. Anyone else? Yes. Thank you. I suppose there's two parts. Will there be a visual cue or visual feedback to like similarly to what you were just talking about to show things like the precision like at the moment it's shift to do precision movement. Will there be a visual cue to control the granularity of precision movement? Yeah, I plan to do that. I did some changes in the key map so you can basically for each widget group the individual widgets are grouped like for the manipulator we've got for each axis we've got one widget and they are grouped together to be the manipulator. And you can set custom key maps for each widget group. I did that like two weeks ago so stuff like that will be possible and you can expand that to do things like precision tracking or even number input. Fantastic and I hope I love the look of the new widgets they look brilliant. I love the look it looks fantastic. I put some effort into it making it some how look appealing. I just I hope there'll be a way as well to switch between the widgets without having to move your mouse out of the viewport so yeah, right. Should also be somewhat doable. We'll see. Thank you. No problem. Sorry. Yeah, right. So we are thinking about having a global key for widgets in the entire interface but really that's key map related. Yeah, one more question maybe. With the graph editor and the key frame editor is there any chance that there'll actually be some visual feedback on key frame types because obviously you can still change the way a key frame displays by hitting R and changing it but it'd be really, really great if I mean in my opinion if you had a constant interpolated key frame or you know a Bayesian key frame they display slightly differently so when you're looking at it it's not just a block of yellow squares you can actually see maybe a little more about what's happening in those modes. I was just wondering if that sign which is actually possible and nobody was saying similar in After Effects and I suppose because I started there it's saying I miss but it might just be me. Yeah, I mean I think it's of course possible I mean it's blend up you know everything's possible but yeah I don't think it's that related to the widget project maybe.