31.05.2013 Views

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 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.3 Specifying the User Interface INTERACTION CONCEPT<br />

composition is snapped to the regular grid or to other shapes, or is simply moved<br />

pixelwise. In any case, all sizes, proportions and relations of the participating shapes<br />

remain untouched.<br />

The original PowerPoint paste operation doesn’t allow the user to specify the<br />

paste location. Objects from the clipboard are inserted at a default location: Shapes<br />

that stem from a different slide are inserted at their original location while shapes<br />

that originate on the same slide are placed with a little offset to the right and to<br />

the bottom.<br />

For insertion into the smart grid I decided that move and paste should appear<br />

similar to the user: In both cases, a shadow is attached to the mouse cursor that<br />

can be placed with a single click. The shadow indicates where each of the selected<br />

elements would go. This approach is much more appropriate for the smart grid than<br />

the original PowerPoint usage of move and paste, because it allows the elements<br />

to snap to existing gridlines, thus implicitly ensuring alignment with the existing<br />

layout.<br />

In my prototype, a dynamic programming algorithm is used to determine the<br />

optimal placement of multiple elements. The mouse cursor is assumed to be at<br />

the upper left corner of the elements’ bounding box. Based on the mouse cursor<br />

location, each element is bound to appropriate gridlines, if there are any. To achieve<br />

an optimal insertion, elements may be stretched and shrunk. The cost function of<br />

the dynamic programming algorithm ensures that gridlines are matched without<br />

too much distortion of the elements.<br />

Figure 27 shows an example of a composition of elements being moved (or cut<br />

and pasted) together. Thanks to snapping, a somewhat sloppy mouse cursor move-<br />

ment is tolerated. Since the moving elements are of the same types as the shapes<br />

next to the intended placement, there is a very strong preference to match those<br />

shapes’ gridlines. After the insertion, the solver rearranges the smart grid in order<br />

to accommodate for the required size of the inserted elements. The screenshots are<br />

taken from my prototype, but are manually arranged to simulate the behavior of<br />

the solver.<br />

(a) User interaction . . . (b) . . . and the resulting layout (after update<br />

by solver)<br />

Figure 27: When multiple elements are inserted, a dynamic programming approach<br />

ensures optimal fit into an existing layout.<br />

59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!