Andrew Price and Jonathan Williamson discuss Blender's interface in a THREE HOUR podcast! If you've been living under a rock for the last two weeks, there's a big debate going on following Andrew's posts on 'Fixing' Blender: part one and part two.
Jonathan Williamson and I sat down for a chat about Blender's Interface: what's good, what's bad and how it can be approached as a community.
We covered a lot in the 3-hour podcast, including:
- Jonathan’s ideas for interface improvements
- LMB/RMB pros and cons (and Sebastian’s video)
- How ZBrush succeeded despite it’s completely “asinine interface”
- Why learning Blender from a one-on-one tutor is easier than flying solo
- A few ideas from my upcoming proposal video
- My terminology blunder
- The developer/user divide
- The future UI Team
- Whether a ‘Steve Jobs’ approach to management is good
- Getting your ideas listened to
- Should Blender use dialogue boxes for serious errors?
- and more.
Great podcast so far!
As for "seed", it is probably named from programming function that uses random values. In programming, you can "seed" the random number generator with a value so that a coder is able to get a predictable or deterministic output from the random function each time it is called, otherwise the values will be different every time you call the function for the first time you start the application.
For something like blender, where a frame might even be rendered on different machines, it can be important that the random values are always the same when you render the same frame a second time. The seed helps this by giving us predictable output.
For example, if I create a simple hello world level program and print the output of a 3 calls to random(100), I might get "20, 57, 18". But if I call it 3 more times, I might get "12, 95, 15". Now if I were to set the seed to "0", then call random(100) 3 times, I would get "45, 67, 34", and then if I set the seed back to "0" again and called random(100) 3 more times, I would get "45, 67, 34" again.
So I guess that the history of calling it "seed" comes from programming languages which have called it this since as long as I can remember. Hope this helps :)
I came from the 3ds Max, Maya..... world. When I tried to use Blender I was completely stumped on how it worked. I kept left clicking and trying to get something to work but nothing would happen. I almost gave up and went back to the old reliable Maya or 3ds Max. I said I would give it one last try whereby I went to the web to see how this software worked. I found several video on the functionality of the interface where you uses right clicking to select items. I finally begin making headway. It is a very steep learning curve at the beginning where this could be changed.
As for "seed", I always saw it like a tree. you can take 10 seeds from a pear tree, plant them and you will get 10 trees that look very similar, but have some differences. To me, it is saying that it is taking something slightly different to start off of and then growing something a little different with all the same parameters. A new tree.
I don't know how it came about, but that's how I always see it.
I always found the word "normal" in 3D weird. cause to everything else, the word normal just means basic/standard ect. So when a new person to 3D sees that, they might go, oh, this is the standard, ok, cool. Nope, not at all. Of course, you can't call it something else really cause it's just what it is now. It makes sense when you know what it is why its called a normal, but it is very unintuitive.
I remember telling my friends how starcraft 2 has normal mapping and how its so cool. Still sure they thought I was talking about standard mapping.
I embrace changes to the UI overall and would like to see them implemented (look at how much better 2.5 is than 2.49. It took some time to relearn, but well worth it). My opinion is that the right and left mouse NEED to switch. that would lower the barrier to entry by soooo much. If nothing else, make that change.
As a side note, I work for a company that uses Blender and Octane render to render out furniture for the office furniture industry. I was the first person in their render department (they do other things with furniture) so I was able to choose everything I wanted. Once I showed them my results in Blender (and Octane) they were totally o board and didnt care that Blender was free. What's interesting is we just hired a second person who is a 3Dsmax user and looking to hire a 3rd. I have been training him in Blender for the last couple weeks and it is very interesting to see the questions and comments on things he likes and doesn't like. (we always switch from right mouse to left for selection, so he didn't have to deal with that).
If you guys want to talk to me about this stuff, hit me up. I am all for improving Blender and his insight might be beneficial.
For instance, he can't understand why when he has several objects selected and applies a material, it only gets applied to the active selection and not to everything. He thinks that linking the materials to all the objects is an extra, unnecessary step.
Also, how you have to hit "B" to box select instead of just dragging like Max and I believe Maya.
What we need is modular, swapable interfaces. Just load the one you want to work with - Blender Traditional, Cinema4d, something you jury-rigged yourself, etc.
I recently installed FreeCAD to allow me to import almost any 'pro' parametric 3D file type and then export to a Blender-friendly import format (STL). In FreeCAD, I just right-clicked in the edit Window and chose the 'Blender' navigation style - making basic control completely natural! As you said, Blender just needs a similar arrangement.
Wasn't blender redesigned, so that everything is callable as python function ? Why can't you guys simply sit down and create a first prototype of a new interface and discuss from that point ? As long as you talk, there will be all those legacy users who refuse because they dont like to get into anything new, but if you create something then they will start to digg into it ... what about a first UI prototype on paper and a first protoype of one of the many perspectives ? Maybe a prototype to show how easy it would be to create a new UI ... !?
If you watched all the way through the part 2 of Andrew's videos you will hear him telling you that he is actually working on a "prototype" if you want to Call it that. Which he will be showing in about 2 weeks time where he tries to "fix" the things that is "troubling" him with the Blender Interface, not to fix the Interface but to show one way it can be done.
This is already happening. I'm constantly experimenting with new keymaps and such to possibly propose to the developers. It just takes time.
I hope changes wont be drastic .I work with modo a bit and I could say for modeling is nearly same as good blender its more precise but lack some of best short cuts blender has.Im force to start using 3dmax and that program is real hell
I think seed its that called because it works with grain,seed grain create different paterns :) cool talk it seems to me lots of people like modo and zbrush but ui there is crazy
I've been doing 3D since about 2000 - Started with Strata - Amapi - Wings.
Moved to Cinema 4D for a while. I always knew Blender was powerful and capable, but before 2.5 I just couldn't get the hang of the interface.
All that changed with 2.5.
I'm now very comfortable with the interface. I know my way around it.
Hopefully the option for the present interface will remain for a while, if changes are made.
Some of us need time to adjust.
To follow up on the podcast discussion of undocumented features that are assumed to be obvious but are confusing in practice... I have never successfully found an illustrated example showing what difference changing the "nabla" setting in a texture accomplishes, neither in the documentation nor in searching the Blender Artist forums. The simple math discussion doesn't really do the job when one value appears as good as another in the final image. As a result, the entire nabla setting becomes just this curiosity, like a vestigial tail, that I have no idea how to make good use of! An illustration of a rendering problem using one nabla value and the corrected render with a different value for the nabla setting, and a clear explanation of what the different values mean in practice would be ideal to include in the documentation or in a tutorial section somewhere.
Well Andrew will be glad to hear that I was determined to soldier on because of his tutorials and his artwork; and a massive financial incentive. I still am no where near as good as Andrew (and probably never will) but I was determined to go on mainly because of financial reasons.
I was looking to add 3D effects to my productions. 3DS Max was in the beginning easier than Blender but still a massive headache. When I looked at what 3DS Max would cost me I was shocked! And deleted the student license and was determined to learn Blender.
People that jump on board just to learn how to model a glass.... We should not cater those. Those people are not serious and don't realize HOW MUCH WORK goes into learning even the most basic 3D.
3D is like programming, it takes a certain person and is most definitely not for anyone. The fastest most wonderful languages are the hardest to learn: C/C++ for example. Most people that want to do a little thingy they will use Visual Basic and don't want to be bothered learning about pointers and references. But when you need fine control you need C++. When you learn C++ you will have no issues learning any other language.
Final Cut is a great example of a revamp gone wrong. But Jonathan is right that Apple lost a lot of their pro users (me including, I ran away screaming to Adobe) and basically they are now catering for the hobbyist market. We should be sure not to do this to Blender.
Hobbyist or professional- the former will certainly struggle with an opaque application, the professional is busy and also doesn't want to spend unnecessary time figuring out someone's pet project that has not been honed or scrutinized by real world working artists. Admittedly there are those who get orgasmic over complication but in the real world pros are just looking for a button labelled 'Go'. That's not to say that 3d apps need to be less sophisticated in what they can output but that they need to be simpler to use, ie much of the donkey work needs taking out.
Andrew, there's a massive difference between loading and buffering :D
Loading, means that you read all the data into memory. Buffering is something that happens when you stream (not have to keep it all in memory, just enough to play it without interruption), you only cache enough to keep the stream going. So it's a small but very distinctive difference for computer engineers like myself.
Seed, is a very old term that comes from encryption. To "seed your random generator" is to give it an offset (but I don't know the complete definition from the top of my head).
This shows that Jargon has it's place. It's often in complex processes where there's no set lingo we always experience error of assumption.
And this is where the tooltips (and I agree with you) need to clarify. Even an link to a wiki page would be very welcome.
There's an interesting contradiction in the usability guidelines for 3d applications. On the one hand, you want to avoid jargon to make it easier for users to understand. At the same time, eliminating industry-standard jargon breaks consistency between programs.
I think this is why the tooltips are so important, and need a major revamping. The tools should use industry standard jargon, and the tooltips should clearly state the immediate effect of the button in conversational language, without referring to itself, and only using jargon to refer to other clearly labeled tools.
That should help beginners navigate and explore tools, and allow industry pros to slip into blender easily. It also reduces the need for a "beginner mode".
“Jargon” in any specialist field exists for a reason: it’s to allow accurate, concise expression of concepts specific to that field.
Where it goes wrong is, e.g. using programming jargon in an application meant for use by nonprogrammers. That is confusing and usually unnecessary. But using 3D jargon in an application meant for users doing 3D is not only appropriate, but absolutely essential. If they don’t get used to it, they won’t be able to make progress, and more importantly, they won’t be able to communicate with their peers in the field.
A thousand times, this!
This discussion is a good instance where the podcast here was useful. Both Price and Williamson follow along with these discussions, and this perspective on appropriate vs non-helpful jargon is certainly useful feedback to know. It helps those involved to more accurately chart their course, so to speak.
adding my "ditto" to this quote from Lawrence D'Oliveiro:
"...using 3D jargon in an application meant for users doing 3D is not only appropriate, but absolutely essential."
Well said and will contribute to creating better 3D artists in the end.
The problem is you need to make the application open for people who don't 'do 3D'- ie graphic designers doing Photoshop, Illustrator and Quark etc.
If jargon is industry standard then no problem. Its when unnecessary jargon is used- like a button which activates or controls the brightness of a light source. 'Radiant Exitance' in Modo, Brightness in Cinema- which is preferable?
Just as well that Blender says “Energy”, then, which is a far preferable term to either.
Another reason to stick with Blender?
Energy? No, that's what you get in Half Life to keep going through the game or supposedly drinking Lucozade... If I saw a button with 'energy' on it I'd assume it was something to do with a particle generator.
All this discussion reminds me of Flash/HTML5 drama that Jobs started. Now Jobs is dead and flash5 still isn't even close to flash when it comes to what can be done in it. Andrew likes to be in the center of attention as it generates him money - period. Sure some adjustments can be done in UI but all this drama? Come on...
Drama? Is it a drama wanting to make a complicated application useable? I fully applaud the attempt to make Blender's UI user friendly, which it certainly isn't currently. I must admit the survey just skipped the surface of what needs changing- I mean the point size of the interface, surely the type can't go bigger if they need to cram everything in that needs to be crammed in. I do 3D, but don't use Blender, but have looked at it and watched a few tutorials. I was very impressed with all the presentations and if implemented it'll certainly be going in the right direction.
I thought Jonathan and Andrew had an open and civil discussion of their ideas with a common goal of how to improve Blender. The Democrats and Republicans in the USA could learn a thing or two from these guys.
"...laughed out of the room for using Blender..." - too true...
Thanks to both of you for continuing this dialog.
Also, to be fair, Maya/Max interface are also hideous, but mostly because they grow too quickly to assert best practices in every update (IMHO); Adobe has similar issues. The Hierarchy/History in Maya is just as treacherous as some of Blender's faults.
"...make like Max..." is immediately rejected; also true and a negative of the open source "rebellion" at times.
Andrew/Jonathan, thanks for pointing out that this isn't about being better or worse than another app, but about making the app that we love as great and achievable to new users as possible.
Thanks to both of you for helping me along my own, personal, Blender learning curve!
Pros vs. Cons...
Don't you think that there are a million+1 "right" ways to do things? Should the plumb line that directs 'our' decisions regarding Blender be the overall goal for Blender? If Blender's goal is to be THE free, easy to learn 3D app, then Left click wins... if Blender is supposed to be a robust customizable tool for high-end users who are familiar with scripting, then let's forget about new users as it slows down the development of high-end capabilities... Or maybe it's another, different goal, but I don't think that a product can effectively serve diverse goals, so I believe that we let the agreed upon goal for Blender be the measure that allows/dis-allows feature sets and GUI features (within common sense reason).
High end users? I don't know what a 'high end user' is but unless you are talking about a studio environment where you have TDs most users are going to be lone 'artists' concerned with creating art not struggling with technicalities like struggling to understand an opaque interface. As inferred by the presentations most users want a spade to be called a spade not 'a multi element constructed implement, for translating components from one location to another destination'. You know how it is- sometimes when we say 'right' we actually mean 'right' (Basil Fawlty smile), sometimes we mean 'left', and sometimes we mean something totally different from left or right...
Right... I mean "right." :)
Maybe I'm wrong, but open source apps have some "anti-conformity" community members that have a pretty good knowledge of scripting and work-arounds to their custom Linux environments... my comment wasn't to imply high-end/low-end in terms of Blender project quality, but to say that Blender should envision the "demographic" (there's a better term I'm not thinking of right now) of its end user and let that be the design rudder.
My point isn't to divide up who uses it for what, but to suggest that by picking a clear set of values or "target user group", the decisions about what and how to do things can tend to be very intuitive and save time. Instead of saying "what tools do we need in our backpack?" we start with, "where are we going?" which then determines which tools we need - less wasted effort and less work done in the wrong direction because we're not carrying a spelunking rig on a sea voyage (though, I have not participated in adding code to Blender so my comments may be too ill-informed and I should add that I GREATLY appreciate the entire Blender team!).
This debate has not stirred much debate by way of comments here. Maybe there just isn't any passion for change. The need is there but not the desire.