Andrew J. Ko

Associate Professor

The Information School

University of Washington

Box 352840

Seattle, WA 98195

ajko | @ | uw | edu

Mary Gates Hall 015E

Fall 2015
– Teaching INFO 360
– Office hours by appt

Play Gidget, our new debugging game!

AnswerDash is a spinout of Parmit Chilana's work on LemonAid, serving instant contextual answers in web applications.

New NSF project! Variations to Support Exploratory Programming


Many spreadsheet systems allow users to specify units with their data (e.g. 5 lbs.) in order to help users detect errors (some of which cost millions of dollars). Slate is the first to allow users to specify the object of measurement (e.g., 5 lbs. of apples), in addition. By intelligently propagating labels representing these objects, Slate helps users identify errors in their spreadsheets that other spreadsheet systems can't.

For example, 1 lb. apples + 1 lb. oranges = 2 lb. fruit. The system knows that apples and oranges are both kinds of fruit, and displays this new object of measurement in the result of the calculation. The user can then see that this generalization has been made. If the user had actually meant to add apples to apples, the unexpected generalization to "fruit" serves as a warning to the user that there may be an error.

In the example below, a user tried to calculate the revenue for oranges. However, instead of multiplying pounds of oranges by the price per pound of oranges, the user accidentally multiplied pounds of oranges by the price per pound of apples. The label (apples, oranges) in cell B6, automatically generated based on the labels of the other cells, draws attention to the error.

Coblenz, M. J., Ko, A. J., and Myers. B. A. (2005). Using Objects of Measurement to Detect Spreadsheet Errors. VL/HCC 2005, Dallas, Texas, September 23-26.