RedShark News - Video technology news and analysis

Blender: love it and/or hate it

Written by Phil Rhodes | Dec 4, 2012 4:00:00 AM
Blender Helicopter

Phil Rhodes has strong personal opinions about this powerful but unintuitive software

I love Blender and I hate Blender.

Perhaps that's putting it a little baldly, so let me explain. Blender is a piece of open source software in the vein of 3ds Max or Lightwave which provides, if you look no deeper than the spec sheet, many of the same features as any piece of expensive commercial 3D modelling and rendering software.  There's all the usual stuff – the modeller, smoke and fluid, hair and fur, solid and soft-body physics, rigging and animation. There are several different renderers with Blender compatibility and it's possible to do high precision lighting simulation and advanced materials. Recently, a camera tracker was added and it is - and you will frequently be told this by its adherents - theoretically possible to do high-end, live action integration for feature film effects work in Blender.

As far as I know, nobody ever has.

Where's the finished work?

The actual finished work done in Blender, with the exception of a thousand and one YouTube videos of Jenga towers falling over, is pretty limited. The Blender Foundation itself has produced four short films heavily involving the software, three of which (Elephant's Dream, Big Buck Bunny and Sintel) were entirely computer animated, whereas the fourth, Tears of Steel, involved live action integration. A few other projects, mainly short films and commercials, have been completed, although I can find reference to only one fairly obscure Argentinian commercial animated feature which used Blender throughout.

At least some of this work has been of high quality. Certainly Big Buck Bunny apes Pixar's style quite successfully, and the motion tracking for Tears of Steel  is reasonably solid (though other aspects of the production struggle a little).

What's the problem?

So it's a 3D animation package that does a large amount of what expensive software like Maya does, and as with all open source, it's hard to beat the price. So what's the problem? Well, if you'll excuse me, I'm going to take a paragraph to talk about history, because Blender's troubles are so subtle and so powerful, so fundamental and so very deeply ingrained, that they go to the very core of what modern computing is all about.

Operating systems, as we discussed in the Linux article, exist to provide services to software. Often – in fact most frequently – these services are things that we don't see, like network access and disk control. The stuff we do see, though, is crucially important. Under Windows (and OSX, and most variants of Linux), a program exists in a rectilinear box with a menu bar at the top, and we interact with items using a mouse cursor and a keyboard. We select things by using the left mouse button; we duplicate things using the copy command, which is invariably mapped to the CTRL+C keyboard shortcut. I mention these trivia because they're examples of things that quickly become fundamental even to beginners. Experienced computer users will have all of these things in muscle memory, and even minor changes to them – as occasionally happens when we move between, say, a Mac and a Linux box, can be extremely disorienting.

I find myself struggling to adequately express how violently Blender often offends these sorts of conventions, so let's start off with a few examples. In Blender,

    −    right click is select (except when it isn't, which is about half the time).
    −    Every pane in the UI has its own menu, which is at the bottom (except if you've moved it to the top, or if the person who last saved the file had moved it to the top, or if it's a Thursday)
    −    save is CTRL+S, which is fine, but it causes a little confirm box to pop up under the mouse cursor, which vanishes when you move the mouse (so don't be moving the mouse when you hit CTRL+S)
    −    Things that would usually be in context menus appear at the side of the pane in response to hotkeys such as S and T.
    −    What appears to be (but isn't) a context menu appears under the mouse cursor when you press a shortcut key, listing several options, all of which appear to use the same shortcut key.
    −    There is a huge amount of duplication between all of the menu bars, popups, and other Blender-specific impedimenta.

I could go on all night.


It's not trivial

Defenders of the software – and this being open source, it has many extremely forthright defenders – like to point out that each of these issues is really quite trivial. Especially, they'll tell you that you can optionally swap over the mouse buttons, which you can, but all that does is switch the situations when it seems right, and the situations where it seems wrong. Regardless, the issue is not how the mouse buttons work, or how the menus work, or any of these individual issues. To believe that is a fundamental misunderstanding of how modern operating systems and their user-interface conventions are supposed to work. Of course it can be learned; people clearly learn it. The real problem is that it shouldn't have to be learned, and even experienced users will always suffer a degree of awkwardness and unfamiliarity when switching in and out from other software. I speak from personal experience when I say that switching out of Blender into related software such as After Effects is downright confusing, with a several-minute switchover period involving a lot of misclicks. Blender's UI is such a comprehensive mess, it actually manages to screw up your interaction with other pieces of software.

Of course, any nontrivial software – and Blender is highly nontrivial software – has a need for new and innovative approaches to user interface, but it always seems like an excuse with regard to Blender. Software like Max and Lightwave offers a comparable feature set without feeling the need to be anywhere near as, er, innovative.

Frustration

Ultimately my concern with Blender is one of frustration. It's capable of great things, as the Foundation's shorts show, but then you can pogo-stick up the Sears tower if you really want to. It's easy to get the impression that these productions are really little more than technical demos (Bunny demonstrated the fur, Tears the camera tracker), and like a lot of open source software it seems to exist in a permanent state of chasing the cutting edge. This would be excusable if Blender were solely the free world's answer to Maya, but it requires so much more of the user that it isn't just a straight open-source alternative. Ultimately, I just can't shift the feeling, when looking at the dragons of Sintel or the robots of Tears of Steel, that it could all have been done in half the time in Max, and that starts making Max look really cheap.

The question of Open Source

It's often difficult to get through to the people who are involved in open source development, many of whom are dyed-in-the-wool software specialists of enormous talent and ability but who frequently have very little regard for outside input. Certainly there's a core of developers who are unshakeably convinced of the brilliance of Blender's UI paradigm, which is no surprise in the open source world where non-technical management of any kind is frequently seen as optional. Beyond that there's the fact that a lot of open source, despite the opening of the GNU public license, that is not actually written in the hope that it will be useful, but simply as an intellectual exercise for the software engineer.

Which is fine. Nobody can require anything of someone who's working for nothing. That's absolutely fair. But if you're going to take that attitude, you can't promote an “open source VFX pipeline” on your website. A choice is involved between running a properly-managed software project that has a degree of regard for its users, both current and future, and playing around in an open-source free-for-all which is wonderfully egalitarian but doesn't actually produce very usable software. I would love to see the Blender project make the right choice.