think-cell technical report TC2003/01 A GUI-based Interaction ...
think-cell technical report TC2003/01 A GUI-based Interaction ...
think-cell technical report TC2003/01 A GUI-based Interaction ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.2 <strong>Interaction</strong> Toolbox INTERACTION CONCEPT<br />
part, but snaps to certain snapping objects when the mouse pointer is sufficiently<br />
close. Snapping objects may be virtual guidelines that serve the purpose of ruler<br />
and compass, or the mouse may also snap to drawing objects that are part of<br />
the document. A gravity function determines what “sufficiently close” means and<br />
resolves conflicts between two or more snapping objects which are about equally<br />
close to the mouse pointer location. There may be gravity functions of different<br />
strengths, relating to the significance of different snapping objects.<br />
A lot of research has been conducted on snapping (see Sect. 3.2.1) and it turns<br />
out that the distinction between mouse pointer and drawing caret helps to un-<br />
derstand and efficiently use snapping mechanisms. In this distinction, the mouse<br />
pointer always moves smoothly in the continuum, exactly reflecting the movements<br />
of the mouse, while the drawing caret indicates which position in the document will<br />
be referred to when a mouse button is pressed. It is the caret that is snapped to<br />
discrete positions while the pointer continues to move freely. Some recent software,<br />
including Microsoft Visio [Micc] and Autodesk AutoCAD [Aut], adheres precisely<br />
to this definition, while other programs like Microsoft PowerPoint do not explicitly<br />
display the caret but implicitly apply mouse interactions to the closest snapping<br />
position. In the latter case, it may be a good idea to highlight the snapping object<br />
when snapping occurs, so that the user has a chance to move the mouse further<br />
away if snapping is not intended.<br />
As for zoomed views, the velocity of gravity functions is usually <strong>based</strong> on screen<br />
coordinates, not document coordinates. As a consequence, in an enlarged view<br />
drawing objects appear more detailed and the sphere of influence of a snapping<br />
object becomes smaller in relation to the drawing. Thus, in the case of many<br />
snapping positions being close to each other, using a highly zoomed view makes it<br />
easy to snap to the desired position.<br />
4.2.4 Mode Switch<br />
In the present scenario of one application being built on top of another, there is a<br />
radical method to avoid interference of distinct applications’ user interfaces: I could<br />
implement some sort of escape key that switches between two completely indepen-<br />
dent user interfaces, one for each application. This is in fact how the Microsoft<br />
implementation of OLE (Object Linking and Embedding) appears to the user, a<br />
technique that is used to embed charts, diagrams, images, movies, formulae and<br />
other complex objects in documents created with PowerPoint, Excel, or Word.<br />
Double-clicking an OLE object switches to the UI context of some other applica-<br />
tion. The advantage is obvious: Menus, toolbars and shortcut keys are completely<br />
changed by the mode switch and can all be used without any restrictions that<br />
emerge from another application using the same UI widgets.<br />
But this advantage is only of theoretical relevance. If some well-known Power-<br />
Point shortcut key takes on a completely different meaning in “<strong>think</strong>-<strong>cell</strong> mode”,<br />
then mistakes in the user input and user dissatisfaction are almost guaranteed.<br />
Another problem of this approach is the <strong>technical</strong> and cognitive overhead that is<br />
49