[Bf-funboard] Modes & modes

Ton Roosendaal bf-funboard@blender.org
Fri, 12 Sep 2003 22:54:06 +0200


Hi,

I've only read excerpts of Raskin's book (but I've ordered it!), and I  
don't think many people here have read it. You clearly know more of  
this topic, but you introduce a little bit too many definitions with  
the word 'mode' in it, which doesn't make it all more clear for us  
ignorant Blender folks.
The aim here is not studying general UI theory, but try to agree on  
definitions to guide us through the UI make-over.

> A mode is a user-interface state (or part of a state). So state mode  
> is doubled.
> But when a mode or state must be explicitly turned off / left, then we  
> could call
> it persistent or sticky. In contrast to temporary or maybe closed  
> modes.

Sticky, thats even better!

>> For tools we get a bit into trouble for a simple definition. Tools
>> itself are not really 'UI' elements, but are made available through  
>> it.
>
> Tools are UI modes. One could talk about the _scope_ of a mode, what  
> part of
> the interface is affected, which gestures change meaning. You could  
> say that gestures not
> handled by the actual mode are bypassed to the parent mode or general  
> mode (Or at least
> they should be).

Here I meant tools as 'operations on data', not as the UI element that  
works with it.
Many tools can be made available in different ways. "Selection" is a  
tool for me, not "click the RightMouse button"...

What you mean with "Tools are UI modes" I completely miss...

>> However, when the tool is consistantly available it still makes it a
>> non-modal tool.
>
> You mean the availability is non-modal!?

Yes. :)

The finer distinctions you further make in: parent modes, sub modes,  
quasi modes, closed modes, mode scope and scope hierarchy makes my head  
spinning! The UI make-over was not meant to go this deep.
Originally I tried to discuss whether or not to accept 'selection  
mode', and how we in general will treat the current modes that exist in  
Blender. That's it!

Below the definitions part rewritten: and please read it from Blender's  
perspective. My aim is to classify (in further docs) the conventions  
for restructuring and future development in Blender 2.3 and later.

--------- conclusion ----------
The definitions then could be:

- blocking dialog
a menu or button panel waiting for user input, and blocking all other  
UI elements
(example: "quit blender")

- non-blocking dialog
a persistant menu or button panel, non-blocking
(example: material buttons)

- 'mode' or 'sticky mode'
A persistant change in visualization or state that enables different  
editing methods and which changes meaning of gestures (keys, clicks,  
mouse-movement).
(example: vertex edit-mode)

- non-modal tool
A tool consistantly available
(example: middle mouse view rotate, screen-edge dragging, Y-key split)

- 'temporal mode' tool
A tool that while execting temporally changes gesture meaning, but  
intuitively returns to normal
(example: grabber)

- modal tool
A tool which is available by a persistant change of meaning of gestures
(example: you hardly find them in Blender... but it could be assigning  
the grabber into leftmouse-hold-drag)

---------------




-Ton-

------------------------------------------------------------------------ 
--
Ton Roosendaal  Blender Foundation ton@blender.org  
http://www.blender.org