Learn More
This paper investigates the role of online resources in problem solving. We look specifically at how programmers - an exemplar form of knowledge workers - opportunistically interleave Web foraging, learning, and writing code. We describe two studies of how programmers use online resources. The first, conducted in the lab, observed participants' Web use(More)
The ready availability of online source-code examples has fundamentally changed programming practices. However, current search tools are not designed to assist with programming tasks and are wholly separate from editing tools. This paper proposes that embedding a task-specific search engine in the development environment can significantly reduce the cost of(More)
Our physical bodies play a central role in shaping human <i>experience</i> in the world, <i>understanding</i>of the world, and <i> interactions</i> in the world. This paper draws on theories of embodiment - from psychology, sociology, and philosophy - synthesizing five themes we believe are particularly salient for interaction design: thinking through(More)
Prototyping is the pivotal activity that structures innovation, collaboration, and creativity in design. Prototypes embody design hypotheses and enable designers to test them. Framin design as a thinking-by-doing activity foregrounds <i>iteration</i> as a central concern. This paper presents d.tools, a toolkit that embodies an iterative-design-centered(More)
An important challenge in designing ubiquitous computing experiences is negotiating transitions between explicit and implicit interaction, such as how and when to provide users with notifications. While the paradigm of implicit interaction has important benefits, it is also susceptible to difficulties with hidden modes, unexpected action, and misunderstood(More)
Speech-based user interfaces are growing in popularity. Unfortunately, the technology expertise required to build speech UIs precludes many individuals from participating in the speech interface design process. Furthermore, the time and knowledge costs of building even simple speech systems make it difficult for designers to iteratively design speech UIs.(More)
Peer and self-assessment offer an opportunity to scale both assessment and learning to global classrooms. This article reports our experiences with two iterations of the first large online class to use peer and self-assessment. In this class, peer grades correlated highly with staff-assigned grades. The second iteration had 42.9&percnt; of students&#8217;(More)
Opportunistic practices can accelerate and simplify ubiquitous computing systems design. Such practices may include copying and pasting code from online forums into one's own scripts or reappropriating components from consumer electronics for design prototypes. The authors introduce a framework that links opportunistic design for ubiquitous computing to(More)
Our contextual inquiry into the practices of oral historians unearthed a curious incongruity. While oral historians consider interview recordings a central historical artifact, these recordings sit unused after a written transcript is produced. We hypothesized that this is largely because books are more usable than recordings. Therefore, we created Books(More)
Checklist usage can increase performance in complex, high-risk domains. While paper checklists are valuable, they are static, slow to access, and show both too much and too little information. We introduce <i>Dynamic Procedure Aids</i> to address four key problems in checklist usage: ready access to aids, rapid assimilation of content, professional(More)