Human-Computer Interaction Institute
School of Computer Science, Carnegie Mellon University
Identifying Categories of End Users
Based on the Abstracts That They Create
Christopher Scaffidi, Andrew Ko, Brad Myers, Mary Shaw
Also appears as Institute for Software Research International
Technical Report CMU-ISRI-05-110
Keywords: End user programming, end user software engineering, end
users, adoption, abstraction
Software created by end users often lacks key quality attributes that
professional programmers try to ensure through the use of abstraction.
Yet to date, large-scale studies of end users have not examined end
user software usage at a level which is sufficiently fine-grained to
determine the extent to which they create abstractions.
To address this, we deployed an online survey to Information Week
subscribers to ask about not only software usage but also feature
usage related to abstraction creation. Most respondents did create
abstractions. Moreover, through factor analysis, we found that features
fell into three clusters when users had a propensity to use one feature,
then they also had a propensity to use other features in the same
cluster. These clusters corresponded to macro features, linked data
structure features, and imperative features.
For each of the three factors, we created a scale and used it to
categorize users into two bins those with a high propensity to use
features associated with that scale, and those with a low propensity.
Compared to users with a low propensity to use imperative features,
users with a high propensity to use imperative features were more
likely to report testing and documenting. Propensity to use linked
structure features was less strongly related to these practices.
These findings represent a step toward a more complete map of end users skills.