Elastic layout dynamics use a first-degree transformation function.
Higher-degree transformation functions can be beneficial in that it
distributes the effects of the operation differently based on
distance. For example, when the transformation function in
Figure is applied on the original window layout in
Figure
, when resizing window A, its effects are more
visible on distant windows. Such a transformation function can be
beneficial in that it preserves the spatial properties of windows
close to the focus (window A) and affects more the distant windows.
On the contrary, a transformation function that affects the focal
windows more, might be beneficial in that it preserves the overall
structure, and operations only affect windows close to the focus.
However, the effects of higher-degree transformation functions might
be harder to perceive and not easy to undo, thus violating R6.
In the non-space-filling layout situation, I have explored three different layout dynamics: Block, plow and bubble dynamics. These dynamics satisfy most the above requirements with different strengths.
Block dynamics consider windows as solid blocks on a solid ground,
where moving one of the windows pushes the other windows on the way,
without changing their size (Figure ). Thus, windows might
get blocked when the boundary is hit. Block dynamics preserve the
aspect ratio of windows, since window sizes are not changed. However,
relative locations of windows are preserved only to some degree, since
when windows are hit their relative locations change a little
bit. Block dynamics are simple to perceive as they simulate a real
world dynamics, however undoing does not follow the same metaphor as
its counterpart.
Plow dynamics are the application of elastic dynamics in
non-space-filling layout situations (Figure ). Similar to
elastic dynamics, only windows in the direction of plow are affected
and the effects are distributed evenly based on the window size. Plow
dynamics also satisfy all the above requirements, however the aspect
ratios of windows are not preserved.
In bubble dynamics, when a window is moved in the layout, the
neighboring windows contract to allow the moving window to pass
through (Figure ). When the moving window is out of the
way, contracted windows are relaxed, and they restore their previous
size. When windows contract, their absolute location is kept fixed and
aspect ratios are preserved. More detailed description and algorithms
of these dynamics are given in Section
.