Blender: The Puzzle Box

  By Shamus   Sep 21, 2006   17 comments

What follows is a long rant about a 3d modeling program. This isn’t aimed at anyone in particular, but I wanted to set these words down for the sake of posterity. Read at your own risk.

I love open source software. I’ve found that in most cases, open source software can be many times better than software from a store. If someone went to the trouble to write a program, it’s because they had a need they could not fill with commercial software. I often find that their needs and my needs intersect, and their open source project becomes a prized member of my software library. The fact that it doesn’t cost any money is just a bonus: Often I would gladly have shelled out some bucks for what I’m using.

This is not the case with Blender. Blender is an OS alternative to the $500 – $3000 3D modeling suites used by artists in the production of games and animations. This sort of software is what they use to make Toy Story, Shrek, et al. This software is by its very nature large and complex, and it’s surprising to see the open source community tackle a niche product like this. Even more surprising is what a train wreck the whole thing is. I have never, ever seen a major OS project so impossible to use.

The bad thing about these programs in general is that every last one of them has a unique interface. This is the nature of the beast. To use 3d software, you need to do complex stuff like move around in a 3d world, and there aren’t any standards for that sort of thing. In one program, you move with the left mouse button, rotate with the right. On another, you hit “A” and move the mouse to rotate, and “Z” to move. Another uses F1 and F2, but the direction that you rotate when you move the mouse seems to be reversed. There are as many navigations schemes as there are programs.

Dr. Strange
This was the original design for the Blender interface, but it was abandoned early on for being too rigid and conventional.
But the interface of blender is SO flexible and SO open that none of it fits into anyone’s understanding of how software should work. There is no wheel they did not attempt to re-invent. Sure, it’s nice to know I can change the menu bar into a 3d window, or divide my views until I’m looking at my work from 10 different views at once, but I shouldn’t need to learn the controls for creating the interface before I can learn the controls for actually using the program.

I’ve used several 3d suites in my career, and I’ve never run into anything this incomprehensible. After using the program for about five hours I still couldn’t tell you how to do very basic, simple things like cut / paste / undo / copy. There’s no edit menu. You can try keyboard shortcuts, but I’ve learned to fear these. Often keyboard shortcuts will do something unexpected. I’ve had windows appear that I couldn’t get rid of, or windows that I was using change into some other window and not know how to make them change back. I’ve learned to regard my keyboard as a device which I may use to punish myself in humorous ways. It’s like a cartoon control panel where all of the levers will drop anvils, open trap doors, or deploy humorous hammers against the hapless user. After enough smacks to the head and pies in the face I’ve learned to avoid pressing keys unless I really need to.

The biggest problem is the help for new users. There isn’t any. OS software is never very newbie-friendly, but Blender seems to take this to a whole new level that goes beyond mere new user neglect and enters the realm of new user contempt and loathing. Blender is a feral beast that must be tamed. It is going to test your resolve in the first few minutes, and if you show any hesitation – if you show even the slightest hint that you value your time and hope to accomplish something useful, it will sense your weakness and devour you. If you have ever seen Kill Bill 2 then I can put it this way: Blender is the Pai Mae of 3d programs. It hates newbies, despises windows users, and has nothing but contempt for English speakers. It will let you learn, but mostly because doing so will give Blender a chance to amuse itself by making you suffer.

Blender – the puzzle box
What’s with this color scheme? Dark grey on medium grey with light grey buttons?Click on the image to descend into a world of madness and tears, where the embodiment of all your greatest fears will be given a more horrifying form with which to begin its grim new work: The slow unraveling of your very soul.
The wiki is one of those deceptive things with a huge table of contents that has a lot of unfinished stub articles and circular references, so no matter where you look you keep ending up on the same five useless pages. Of the little help you can find, many paragraphs are devoted to assuring you that yes, while this interface is totally different from anything you’ve ever seen on this planet, but trust us, it really is better this way and you’ll love it and it will be like second nature to you if you ever manage to scale the matterhorn-shaped learning curve. And lookie! Did you know you can zoom in on a button?!?!

When I’m reading about how to use difficult software, I don’t want to read a bunch of justifications about why the thing is so hard to learn. The fact that this needed to be written at all should be a clue to the sadists who made the interface.

I’m trying to learn how to build a skeleton, which is usually a collection of lines that controls a 3d model the same way your skeleton controls your body. Move a line, and the 3d model will bend. This is how games can make that 10,000 polygon ninja skulk around the screen: They just animate a little stick figure and the software bends the 3d model to move with it. Very cool. But I can’t figure out how to do it in blender. I read the noob guide and it says:

Blender now has a Modifier stack (Editbutton, F9KEY). As such, we should use it over existing methods to pair mesh and armature, as the modifier stack is optimised and simple to use. Note: You don’t need to parent the mesh to the Armature anymore. The only case you could need to do this would be animating the Armature object itself. Then the mesh should also follow the armature. In this case select mesh, then armature, and do CTRL-PKEY –> Object.

This is supposed to be for newbies, but the article discusses “old” ways of doing things, then switches to the “new” way of doing things, then compares them, then talks about buttons I don’t see with meanings I don’t understand, then tells me that the new way really is better, and then promises that the next pages will teach me even more. That last part should be a given: It would be impossible for a page to teach me any less, since this one didn’t teach me anything at all.

One thing that works against the people writing these guides is that the interface is so dynamic they can’t discuss it using specifics. They can’t say, “look for the ‘nerdle’ button, next to the ‘foo’ button on the right panel”, because the user might not have those controls on the right. They might be on the left. Or hidden. Or jammed into a little postage-stamp window at the bottom where the button can’t be seen. Or when they bring that set of controls into view it will replace the window they were working in, with no clue how to make it go away so they can go back to work. You can’t even say “look for the red button”, because the program has various interface themes that will re-shape and re-color everything. So, these tutorials must be coy about what controls look like and where you can find them. Once you do manage to hunt down the button, you may find it is disabled. Why? You don’t know, and the noob guide isn’t going to tell you.

After five hours I’d finally managed to wrangle some sort of useable geometry out of the thing and I was ready to save my work. This is where things turned ugly. Despite that fact that this is open-source software, they don’t have any open-source file formats. (To be more exact, they don’t have any simple text / ascii / raw dump of the data, which is easy to write and easy to read.) You can only save using various proprietary formats used by other 3d programs. The only one I could use was “3DS”, which is a very, very common format. So I saved it, but the resulting file was gibberish. No other program I have can read it. I have no idea what blender is doing, but it is not saving these files correctly.

The website explains that while the old version used a plugin for 3DS files, this feature is built in to newer versions! I don’t know if the version I’m using is the new or old one in their book, and I shouldn’t need to. They have a link that promises more info, but it’s dead. The linked page is gone.

So after all of this work the only thing I can do is save my work in a bunch of file formats I can’t read, or save it to one file format I can read but which Blender can’t write properly.

Many, many thousands of hours of hard work went into making this software. Niche software. The audience for this sort of thing is already small, and the program works at every turn to defeat and repell eager new users.

What a sick waste of everyone’s time. Including mine.

Jerks.

17Just 17 comments.


  1. BeckoningChasm says:

    I often think it’s the interface guy who needs a smack in the head. The 3D program I use (TrueSpace) is great, but I’m still on version 4 (of 7). Because every time they upgrade, they completely redo the menus; I have to learn the stupid thing all over again.

    I honestly fail to see the difference between re-learning their software or learning a competitor’s product. One is no easier than the other.

  2. Shamus says:

    I used TruSpace for many years. One of the reasons I’m ON this project is that TS 4 and 5 do not save the geometry and bones in a way that is useful to other programs, for a number of reasons. So, my current project is to find a program that will save this data in an easy-to-read format. MilkShape is currently WAY ahead in this regard, but it’s a little short on features.

    You are right – the continual re-design of the TS interface is a dumb idea. Their other sin is that the program can’t do boolean operations to save its life. Some of my friends at work have a saying we use: “Truespace is a 3d program that is bad at math.” Subtract 3d object A from B, and you have 33% chance it will work, a 33% chance it will do something that makes no sense, and a 33% chance it will crash outright.

  3. Have you run into the term “user surly”?

  4. Cineris says:

    I was actually considering giving Blender a try in the indeterminate future — Guess I’ll stay away.

  5. Shamus says:

    Steven: Yes. But I think it was when you said it. :)

    Cineris: It has been rage and tears for me. If you do, I hope you have better luck.

  6. BeckoningChasm says:

    Is one of the interface modes the Lament Configuration? I’m afraid I thought of that when I saw “Puzzle Box.”

  7. hank says:

    My experience with Blender was relatively painless… there were features that I thought could have been more intuitive, but I’m not going to bitch about free software. I mostly use TrueSpace for art stuff, and a combination of ProE/Autocad/Mastercam for work stuff. My experience with Mastercam was similar to your experience with Blender… the UI is on par with some early Atari 400 programs I wrote back in the day. But there’s one thing I need it for that it does really well, so it stays.

  8. The Death of Sulaco…

    I have two computers running here at Kaedrin headquarters. My primary computer is a Windows box called Sulaco. My secondary……

  9. Joe says:

    I’m a proud Blender user and, although I’m not exactly skilled with it, I think it’s easy to use once you learn the basics. I have zero experience with other 3D packages, but Blender definately gave me a good first impression. I still love it. It’s amazing that something this good can be free.

  10. Mikkel says:

    I tried blender and didnt find it hard at all. Once have to get
    the basic concepts then anything is VERY easy.
    You can control most everything from the keyboard if you want, which is nice.
    Really I dont understand this at all. Blender supports a myriad of fileformats, including maybe the easiest to program against, OBJ.
    I understand his frustration but it dont look as if he spent much time with the program. It takes more than 5 hours to learn ANY 3d program.
    Give it 2-3 weeks at least.

  11. Mikkel says:

    I also like the practical and accurate approach of blender. You know what its about. Some program websites are just a mess, like TruSpace. I was like WTF is this product supposed to DO ?

  12. AndrewNZachsDad says:

    Mikkel, I may have missed the boat here, but I think that Shamus’ concern was primarily for new users of an Open Source software. Open Source programs have historically been made by people who understood the need of the user because they ARE users. This one appears to have too much flexibility to make it useful within a couple of hours after first using it. I agree that it would take time (ie, a couple of weeks) to MASTER a program, but nowadays I rather expect that I can install the majority of Windows programs and at least know how to navigate them. I have many years’ experience using Windows, so I know to expect a Close button, a right-click context menu, etc. In Shamus’ case, I got the impression that he felt the same way about a 3D program, so he was extremely dissappointed in a product which provided difficulty in the usage AND the documentation.
    Shamus: forgive my impertinence if my take on this was wrong.

  13. Schmidt says:

    Good Sir, if you intend to putter about with 3D and have a programming mindset why not try POVRay?
    http://www.povray.org

    It’s 3D but built in code.

    It might be better for you to you tend to code alot

  14. Adam Prall says:

    I have to agree with Shamus (although this article is more than 6 months old…) – I just had to start learning this program for a project at the beginning of this week. Now, at the end of the week, I’m frustrated, have a crick in my neck, and feel like throttling the screen every few hours spent wasted on Blender. Sure, if you’re willing to twist yourself into knots to learn how to use it, it can be a nice program. I use OS software extensively, but I don’t think I’ve ever tried to use OS software with a purely OS GUI as well – and I’m sorry, but Blender’s GUI is a total mess, like Shamus says. After five days, the make-or-break for me is on the fence… I’ll post again in five more days ;-)

  15. E. Estle says:

    I have been using blender for perhaps 2-3 years. Yeah, I suppose it is a bit weird, but as as been said, once you understand the basics, it does a lot and the configurability of the UI is a bonus. I like the non-overlapping windows. Beats the heck out of trying to figure figure out which window (in windoze) you are trying to access.

    One thing that really helped me was the many video tutorials (as well as regular text-type tutorials) available. There is one that explains the basics of the UI.

    Part of it is, I think you started out with the expectation of “I intend to created this particular project in this software”. The way to learn blender, at least for me, was to go into it without any specific expectations and just start tinkering. I.e….”what does this button do?, what does that button do? etc.”

    The one thing that frustrated me with Blender at first was that I was in edit mode, then switched to object mode. I couldn’t figure out how to get back in and edit my model. Now that I understand how that works (right clicking on a component of my model and hitting the tab key to go back into edit mode), it is a breeze.

    …now if I can just understand how softbodies, and liquids and such work. Haven’t even messed with the physics engine yet.

  16. realsifo777 says:

    blender is the best u know :P that’s an old article :)

    and blender is free (freedom)

  17. Felblood says:

    I can’t help but wonder if, in linking back to this old article, Shamus is performing some sort of social experiment.

    A Research Study on Flamewars and Poor Reading Comprehension, will be a landmark, that get’s published in several major journals.

    Maybe, I’m being too hard on the human race, and there wont be any knee-jerk posts beneath this one.

One Trackback

  1. By Kaedrin Weblog on October 1, 2006 at 10:45 pm

    The Death of Sulaco…

    I have two computers running here at Kaedrin headquarters. My primary computer is a Windows box called Sulaco. My secondary……

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *

*
*

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!