k j

Patina: Dynamic Heatmaps for Visualizing Application Usage

Justin Matejka, Tovi Grossman, George Fitzmaurice
January 2013 · Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI)

Abstract

We present Patina, an application independent system for collecting and visualizing software application usage data. Patina requires no instrumentation of the target application, all data is collected through standard window metrics and accessibility APIs. The primary visualization is a dynamic heatmap overlay which adapts to match the content, location, and shape of the user interface controls visible in the active application. We discuss a set of design guidelines for the Patina system, describe our implementation of the system, and report on an initial evaluation based on a short-term deployment of the system.

Figures

Figure 1. A side-by-side view of the Patina heatmap overlay showing the usage patterns of both the active user and the user community on the left, and the standard underlying Microsoft Word interface
Figure 2. Organization of the Patina System.
Figure 3. Rectangle information collected from HWND data structures from standard Microsoft Word (A) and Au-toCAD (B) windows.
Figure 4. Rectangle data collected from the Accessibility APIs for Microsoft Word (A) and AutoCAD (B) windows. Yellow rectangles indicate regions which are reported as “offscreen”.
Figure 5. Filters dialog to specify parameters to narrow the data used to generate the heatmaps.
Figure 6. Overlapping rectangular accessibility regions for the “Bold: push button”, with the larger areas being the “Font: toolbar” and “Home: property page”.
Figure 7. Click point mapping from original control region to current control region.
Figure 8. Demonstration of Patina overlay persisting on the correct UI elements after a window resizing, even when the target UI elements change size and position between (A) and (B). During ribbon re
Figure 9. Intensity map creation.The intensity mapping process is done once for the active user’s data and again for the rest of the community data.
Figure 10. Color mapping used for the heatmaps ranging from low activity to high activity on the vertical axis, and the active user to the community on the horizontal axis.
Figure 11. Formula for determining the color of a given pixel in the combined heatmap.
Figure 12. Patina information panel.
Figure 13. Examples of the different overlay modes.
Figure 14. Combined usage overlay with rectangular re-gions matching over UI elements.
Figure Id. Visual example and time graph tor the automatic transient Patina view.
Figure 16. Scented interface for check box (A) and combo box (B) controls.
Figure 17. Warning icon and message for setting which are possibly set outside of normal bounds.
Figure 18. Command recommendation interface (left). Highlighted command in AutoCAD (right).
Figure 19. Scatter plot of the region sizes where clicks oc- curred during the internal deployment.

BibTeX

@inproceedings{10.1145/2470654.2466442,
 abstract = {We present Patina, an application independent system for collecting and visualizing software application usage data. Patina requires no instrumentation of the target application, all data is collected through standard window metrics and accessibility APIs. The primary visualization is a dynamic heatmap overlay which adapts to match the content, location, and shape of the user interface controls visible in the active application. We discuss a set of design guidelines for the Patina system, describe our implementation of the system, and report on an initial evaluation based on a short-term deployment of the system.},
 address = {New York, NY, USA},
 author = {Matejka, Justin and Grossman, Tovi and Fitzmaurice, George},
 booktitle = {Proceedings of the SIGCHI Conference on Human Factors in Computing Systems},
 doi = {10.1145/2470654.2466442},
 isbn = {9781450318990},
 keywords = {social learning, visualization},
 location = {Paris, France},
 numpages = {10},
 pages = {3227–3236},
 publisher = {Association for Computing Machinery},
 series = {CHI '13},
 title = {Patina: Dynamic Heatmaps for Visualizing Application Usage},
 url = {https://doi.org/10.1145/2470654.2466442},
 year = {2013}
}