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 .