[Bf-funboard] With respect to interface simplicity

Jeffrey F. Cuff bf-funboard@blender.org
Tue, 07 Oct 2003 00:52:00 -0230


I feel like I'm late at this party, so to break the ice and get down
to business quickly I'll make this initial posting fairly general.
I'm still wading thru archived postings, so it may take
me a while to get up to speed.

This first posting is a statement of what I have really liked about 
the Blender UI which I've used it since version 1.5, and I guess
stability / consistancy counts for a lot. I'm not into change for its
own sake.

I've boiled what I like about the Blender UI down to one principle which
I will state as the prime directive in UI design.

1. Respect the user.

Blender assumes that I will spend most of my life as an experienced, 
intelligent user who knows what he's doing instead of a naive user in
need of constant hand-holding, training wheels (used for 1 week but
welded to the frame of the bike), and wizards (who insist on asking
seven questions in seven different windows, when one will do). 

Like: assuming that if I ask the program to do something, I mean it
(e.g. Yes, darn it, I do want to overwrite that file, not change from
the default answer of "no" first). Like: when a window does pop up, I
want the cursor be in it. That I will learn the meaning of a simple icon
which can be drawn small to save screen-space (e.g plus/minus means
zoom, I don't need a detailed picture of a magnifying glass).

Respect is probably the most important UI design parameter, as it
ramifies through the system. Ulimately, it is more important than
"friendliness" to the new user.

2. Even-handed operation (one on trackball, one on keyboard). 

Crucial to efficient use of Blender. (imagine how cumbersome it would be
to have to trundle the cursor to the menu bar and select Grab every time
you wanted to move something instead of using Key-G) This has
implications for hotkey assignment, as keybrd real estate is even more
limited than screenspace.

There are still a few unassigned keys on the keyboard. The core
features, properly, got first call on the "simple" [one press] key
functions. Before taking up the remaining ones for new features, thought
should be given to how often the function will be used.

I'd also like to see one or two keys explicitly declared off limits 
("reserved for user"). Then in the absence of embedded macros, an
external kbd buffer-stuffing macro program could be called into service.
 
See "respect", above.


3. Uncluttered screen.

e.g. Non-overlapping windows, small icons, low chrome-content. Muted and
restrained use of colour. Named views.  

Having ten (related) options on one pane instead of ten.

I like bars, buttons and icons, small and simple. When I'm working, I
want to see my work, not the UI.

I like the idea of auto-abbreviating the words on a button instead of
making the button bigger... although honing the abbrevation algorithm
might lead to more legible labels. For instance when I cram the render
pane into a small area :

'Border' becomes 'rder'; 
Gamma is  "ma" and 
"Unified Renderer"  is "ed Renderer"

A "smarter" truncation algorithm would favour dropping 
double consonants, vowels (latter dropped first), 
split the losses in multiword  lables, and try to preserve capital
letters. 

Even straight-up trailing end truncation would be an improvement over
beheading words.

(oops, i didn't mean to actually make a suggestion in this post)

Brdr , Gm, Unifd Rndrr much more mneumonic for a given letter count, no?

See "respect", above.

***


I think it is important be explicit about the good points (and
principles) before making suggestions, lest an important principle be
sacrificed for a mere feature.

And though this may be late in the UI design process, I figure it's
never a wrong time to say "you're on the right track".