OK, I’ve figured it out.
I know why Blender’s UI is good and other interfaces can go die in a ditch somewhere.
Stick with me here, I actually did do some research.
I was keeping one eye on G+ today and someone asked about rendering for 3D displays. I was going to comment on that post, but I buggered it right up and lost everything I wrote, so I got a bit miffed and wrote up what I was going to say on this site instead – can be read here if you care about the subject at all.
Anyhow, the questioner was using Lightwave 11. Now, I’ve used Lightwave before, but at the time it was a demo version on my Amiga, so you can Imagine (snrk, I actually preferred Imagine at the time) how long ago that was.
I figured I’d have a look and see what Lightwave was up to these days.
NewTek offer a 30 day free trial of Lighwave and after a few minutes I was up and running.
Within about five seconds of loading up the modeller application, it hit me like a bolt of lightning, and now I know, specifically and absolutely why I think all non-Blender style UIs make me so frustrated that I want to smash them to tiny bits.
They *RUIN* my mouse.
That sounds odd, I know, but if you’ve read this far, maybe you’ll hang on a little longer to see what I mean.
OK, so when you want to move a bunch of verts in Blender, you select what you want to move (or grab if you will), hit “g” on the keyboard then move your mouse and hit left mouse to confirm or right mouse to cancel.
What’s missing from that action? At least one click, and normally a click-hold according to other UIs.
In the Blender interface, once I’ve hit the key on the keyboard, the mouse becomes the active tool. It’s activated. It’s on. Get cracking.

You see, hitting the key on the keyboard WAS the click. Not only that, it was a STICKY CLICK! (not sure I like the sound of that, but still…) I can let go of it now, and until I’m done doing what I need to do, all I have to do is move the mouse.
There’s still a choice left to be made of whether I wanted to actually *do* the thing I’m doing or not, but if I didn’t, I needn’t ctrl-z it under most circumstances (some exceptions apply), I can just right-click to cancel.
OK, now contrast that with what I experienced in Lightwave. Same job, shift some verts.
I found out pretty quickly that “t” will get me into translate mode. Makes sense so far. Once in translate mode, the status bar tells me I can “Drag to translate in view plane. CTRL forces one axis motion”.
But now I have to actively hold the left button down for the duration of the repositioning, letting go of it to confirm the new position.
There *is* no “hold on, I didn’t want to do that” function, other than to let go of the left mouse button, confirming the action, then undoing it again.
This may seem like almost nothing from a UX standpoint if you’ve never experienced anything else, but the way I see it is that by jumping straight from pressing a key to having the mouse active in the current context, you’re effectively getting a *several hundred button mouse*, which sounds perfect for complex tasks with lots of different modes if you ask me.

I was going to carry this on to talking about on-screen buttons for navigation.
Well, actually I will, albeit briefly.
Just don’t.
I can’t think of a single reason why panning, rotating or zooming the view should be done by left-click dragging on a 16×16 pixel icon in the corner of the viewport.
It’s frankly ridiculous.
I know that’s not the only way to do it, and to each his own, but seriously, if you had to use that method to pan/tilt/zoom, everything would take about fifty times longer and you’d very quickly go insane.

This is the thing that broke me when I tried UnrealEd too. Actually click-dragging on manipulators is so slow and error prone as to be essentially a joke.
Sometimes it might be unavoidable, I’ll admit. By all means provide some manipulators for those corner cases where the user’s keyboard has caught fire or something.
But also provide a mature, admittedly different, but blazingly fast way to interact with your work and I’m guessing that those who *can* get it, *will*.

Leave a Reply

Your email address will not be published. Required fields are marked *