UNIVERSITY of  WASHINGTON Information School Computer Science & Engineering
Jacob O. Wobbrock Associate Professor, The Information School
Adjunct Associate Professor, Computer Science & Engineering
  Jacob O. Wobbrock, Ph.D.
The Information School
University of Washington
Box 352840
Seattle, WA 98195-2840   USA


My students and I develop software as part of our research, and some of it exists as reusable tools, libraries, or end-user applications. (The rest are programs designed for non-reusable purposes, such as for conducting specific experiments.) The following downloads are posted as-is free of charge, without warranty or guarantee of any kind. To the best of our knowledge, everything here is bug-free... but you know how that goes. Please let me know if you find something useful.

Understanding Research

Seven Research Contribution Types in HCI: for understanding research contributions in human-computer interaction. [pdf]

Input evaluation

TextTest: for performing studies of text entry performance. [pdf]

StreamAnalyzer: for analyzing and measuring text entry performance. [pdf]

FittsStudy: for performing and analyzing studies of human pointing performance. [pdf]

Input Observer: for unobtrusively measuring text entry and mouse pointing performance "in the wild." [pdf]

Gesture recognition & analysis

$1 unistroke recognizer: for recognizing unistroke gestures (JavaScript, C#, Python, Java, and other versions available). [pdf]

$N multistroke recognizer: for recognizing multistroke gestures (JavaScript and C# versions available). [pdf]

$P point-cloud recognizer: for recognizing unistroke or multistroke gestures (JavaScript and C# versions available). [pdf]

Gesture Clustering Toolkit (GECKo): for clustering stroke gestures based on how they are articulated. [pdf]

Gesture Relative Accuracy Toolkit (GREAT): for calculating what happens during stroke gesture articulation. [pdf]

Gesture HeatmapS Toolkit (GHoST): for visualizing what happens during stroke gesture articulation. [pdf]

Mouse pointing

Angle Mouse: for improving the efficiency and ease of mouse pointing for people with motor impairments. [pdf]

Pointing Magnifier: for improving pointing accuracy for people with motor impairments through magnification. [pdf]

Bubble Lens: the fastest known general purpose pointing technique. [pdf]

Endpoint Prediction: for continuously predicting endpoints during pointing movements. [pdf]

Text entry

EdgeWrite: for entering text using any number of devices or platforms. [pdf]

EdgeWrite DLL: for developing custom text entry methods using the EdgeWrite system.


ARTool: for conducting nonparametric factorial within- or between-subjects analyses using only ANOVA procedures. [pdf]

ps4hci: Practical Statistics for HCI: independent study modules and data sets for learning statistics and statistical tools. [pdf]


WobbrockLib: my C# .NET 2.0 library of application-agnostic formulae, widgets, data structures, and algorithms (v. 3.0.2).

PolledDevices: my C# .NET 2.0 library that makes it easy to acquire and process mice, keyboards, and joysticks (v. 3.0.2).

Cleanroom: a JavaScript editor that uses intelligent edit-time highlighting to prevent bugs. [pdf]