Understanding and Supporting Window Switching
Thesis DisciplineComputer Science
Degree GrantorUniversity of Canterbury
Degree NameDoctor of Philosophy
Switching between windows on a computer is a frequent activity, but finding and switching to the target window can be inefficient. This thesis aims to better understand and support window switching. It explores two issues: (1) the lack of knowledge of how people currently interact with and switch between windows and (2) how window switching can be supported better.
Having a good understanding of how users interact with windows is important for informing the design of new and improved window management tools. However, there have been relatively few empirical studies of window manipulation on commonly used operating systems, and those that do exist may no longer reflect current use. To address this lack of knowledge a three week log-based longitudinal study of window use by 25 participants was conducted using the custom-made tool PyLogger, which recorded actual window switching behaviour.
However, the analysis of longitudinal log data, such as the data gathered by PyLogger, is problematic as it is difficult to extract meaningful characterisations. Therefore, this thesis also presents a visualisation tool called Window Watcher that assists understanding and interpreting the low level event logs of window use generated by PyLogger. Window Watcher’s design objectives are described, and examples demonstrate the ways that it summarises and elucidates window use.
The results of the PyLogger study provide an empirical characterisation of interaction with windows, and results include the following: (1) the participants had fewer windows open and visible than in previous studies; (2) window switching is a frequent activity; (3) several findings related to specific window switching tools, including that acquiring a particular window by navigating through application-grouped items on the Taskbar is slow, and that Alt+Tab is seldom used for retrieving anything other than the most recently used window; (4) an updated classification of stereotypical window management styles (pilers, maximisers, near maximisers, and splatterers); and (5) there are strong window and application revisitation patterns. Finally, implications of the results of the log study for the design of window switching tools are discussed.
The findings from the PyLogger study led to the development of a new window switcher called SCOTZ (for Spatially Consistent Thumbnail Zones). SCOTZ is a window switching interface which shows all windows grouped by application and allocates more space to the most frequently revisited applications. The two design objectives of SCOTZ are (1) to provide a spatially stable layout of applications and windows, and (2) to support revisitation to recently and frequently used windows. Additional design objectives are to support various display sizes, to support both keyboard and mouse input, to provide possibilities for application launching and to provide options for end-user customisation.
The design and features of SCOTZ are described, followed by theoretical and empirical validation of its underlying design principles. Findings include that (1) spatially stable layouts allow for faster acquisition of targets than recency and random layouts, (2) the instability inevitably caused by size morphing does not severely impact user performance, (3) size morphing leads to an overall performance advantage because of the Fitts’ Law targetting time advantage of increased target size, and (4) size morphing facilitates finding items because of guided search. Also, findings from an empirical study demonstrate that SCOTZ yields performance and preference benefits over existing window switching tools. Finally, as SCOTZ employs a treemap algorithm to generate the layout of the application zones the suitability of various treemap algorithms for the purpose of SCOTZ is explored, particularly in terms of spatial stability. In previous work, many different treemap algorithms have been proposed, often with the aim being to optimise performance across several criteria, including spatial stability. However, none of the existing treemaps are stable when data updates, and when items are added/deleted, and when many changes have taken place (i.e., the cumulative effect of data changes). Therefore, this thesis introduces the novel ‘Hilbert’ and ‘Moore’ treemap algorithms, which are designed to achieve high spatial stability. Their performance is theoretically assessed in comparison to other treemaps by using various metrics, including a novel ‘location drift’ metric to better capture spatial stability than the commonly used ‘distance change’ metric. The theoretical evaluation demonstrates that Hilbert and Moore treemaps perform well across all stability metrics. An empirical study examines the validity and usefulness of the location drift metric, showing that location drift can explain some effects on user performance that distance change alone can not.