Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Joel Brandt is active.

Publication


Featured researches published by Joel Brandt.


human factors in computing systems | 2009

Two studies of opportunistic programming: interleaving web foraging, learning, and writing code

Joel Brandt; Philip J. Guo; Joel Lewenstein; Mira Dontcheva; Scott R. Klemmer

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 while building an online chat room. We found that programmers leverage online resources with a range of intentions: They engage in just-in-time learning of new skills and approaches, clarify and extend their existing knowledge, and remind themselves of details deemed not worth remembering. The results also suggest that queries for different purposes have different styles and durations. Do programmers queries in the wild have the same range of intentions, or is this result an artifact of the particular lab setting? We analyzed a month of queries to an online programming portal, examining the lexical structure, refinements made, and result pages visited. Here we also saw traits that suggest the Web is being used for learning and reminding. These results contribute to a theory of online resource usage in programming, and suggest opportunities for tools to facilitate online knowledge work.


human factors in computing systems | 2010

Example-centric programming: integrating web search into the development environment

Joel Brandt; Mira Dontcheva; Marcos Weskamp; Scott R. Klemmer

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 finding information and thus enable programmers to write better code more easily. This paper describes the design, implementation, and evaluation of Blueprint, a Web search interface integrated into the Adobe Flex Builder development environment that helps users locate example code. Blueprint automatically augments queries with code context, presents a code-centric view of search results, embeds the search experience into the editor, and retains a link between copied code and its source. A comparative laboratory study found that Blueprint enables participants to write significantly better code and find example code significantly faster than with a standard Web browser. Analysis of three months of usage logs with 2,024 users suggests that task-specific search interfaces can significantly change how and when people search the Web.


human factors in computing systems | 2010

What would other programmers do: suggesting solutions to error messages

Björn Hartmann; Daniel MacDougall; Joel Brandt; Scott R. Klemmer

Interpreting compiler errors and exception messages is challenging for novice programmers. Presenting examples of how other programmers have corrected similar errors may help novices understand and correct such errors. This paper introduces HelpMeOut, a social recommender system that aids the debugging of error messages by suggesting solutions that peers have applied in the past. HelpMeOut comprises IDE instrumentation to collect examples of code changes that fix errors; a central database that stores fix reports from many users; and a suggestion interface that, given an error, queries the database for a list of relevant fixes and presents these to the programmer. We report on implementations of this architecture for two programming languages. An evaluation with novice programmers found that the technique can suggest useful fixes for 47% of errors after 39 person-hours of programming in an instrumented environment.


human factors in computing systems | 2007

txt 4 l8r: lowering the burden for diary studies under mobile conditions

Joel Brandt; Noah Weiss; Scott R. Klemmer

We present and evaluate a new technique for performing diary studies under mobile or active conditions. Diary studies play an important role as a means for ecologically valid participant data capture. Unfortunately, when participants are asked to capture data while mobile or active, they are often unwilling or unable to invest time in thorough, reflective entries. Ultimately, this leads to lowered entry quality and quantity. The technique presented here suggests the capture of only small snippets of information in the field. These snippets then serve as prompts for participants when completing full diary entries at a convenient time. We describe how this system automates collection of snippets via text (SMS), picture (MMS) and voicemail messages and later presents these snippets for full entry elicitation. We then present results from a preliminary evaluation of this technique.


Proceedings of the 4th international workshop on End-user software engineering | 2008

Opportunistic programming: how rapid ideation and prototyping occur in practice

Joel Brandt; Philip J. Guo; Joel Lewenstein; Scott R. Klemmer

At times, programmers work opportunistically, emphasizing speed and ease of development over code robustness and maintainability. They do this to prototype, ideate, and discover; to understand as quickly as possible what the right solution is. Despite its importance, opportunistic programming remains poorly understood when compared with traditional software engineering. Through fieldwork and a laboratory study, we observed five characteristics of opportunistic programming: Programmers build software from scratch using high-level tools, often add new functionality via copy-and-paste, iterate more rapidly than in traditional development, consider code to be impermanent, and face unique debugging challenges because their applications often comprise many languages and tools composed without upfront design. Based on these characteristics, we discuss future research on tools for debugging, code foraging and reuse, and documentation that are specifically targeted at this style of development.


IEEE Software | 2009

Writing Code to Prototype, Ideate, and Discover

Joel Brandt; Philip J. Guo; Joel Lewenstein; Scott R. Klemmer; Mira Dontcheva

People often write code to prototype, ideate, and discover. To do this, they work opportunistically, emphasizing speed and ease of development over code robustness and maintainability. Quickly hacking a program together can provide both practical and learning benefits for novices and experts: professional programmers and designers prototype to explore and communicate ideas, scientists program laboratory instruments, and entrepreneurs assemble complex spreadsheets to better understand their business. Their diverse activities share an emphasis on speed and ease of development over robustness and maintainability.


BlogTalk'08/09 Proceedings of the 2008/2009 international conference on Social software: recent trends and developments in social software | 2008

Campus móvil: designing a mobile web 2.0 startup for higher education uses

Hugo Pardo Kuklinski; Joel Brandt

In the intersection between the mobile Internet, social software and educational environments, Campus Movil is a prototype of an online application for mobile devices created for a Spanish university community, providing exclusive and transparent access via an institutional email account. Campus Movil was proposed and developed to address needs not currently being met in a university community due to a lack of ubiquitous services. It also facilitates network access for numerous specialized activities that complement those normally carried out on campus and in lecture rooms using personal computers.


No Code Required#R##N#Giving Users Tools to Transform the Web | 2010

How the Web helps people turn ideas into code

Joel Brandt; Philip J. Guo; Joel Lewenstein; Mira Dontcheva; Scott R. Klemmer

Publisher Summary This chapter investigates the role of online resources in building software. It focuses specifically on how programmers—an exemplar form of knowledge workers—opportunistically interleave Web foraging, learning, and writing code. To understand this, it presents both how programmers work in the lab and analyzes Web search logs of programming resources. The lab provides rich, detailed information and context about how programmers work; online studies offer a naturalistic setting and the advantages of scale. It was found that programmers engage in just-in-time learning of new skills and approaches, clarify and extend their existing knowledge, and remind themselves of details deemed not worth remembering. The results also suggest that queries for different purposes have different styles and durations. These results contribute to a theory of online resource usage in programming and suggest opportunities for tools to facilitate online knowledge work. Additionally, with ready access to good examples, programmers may need less training in languages, frameworks, and libraries and greater skill in formulating and breaking apart complex problems. It may be that programming is becoming less about knowing how to do something and more about knowing how to ask the right questions.


Archive | 2007

Iterative Design of a Paper + Digital Toolkit: Supporting Designing, Developing, and Debugging

Ron B. Yeh; Scott R. Klemmer; Andreas Paepcke; Marcello Bast''a-Forte; Joel Brandt; Jonas Boli


Archive | 2006

Lash-Ups: A Toolkit for Location-Aware Mash-Ups

Joel Brandt; Scott R. Klemmer

Collaboration


Dive into the Joel Brandt's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Philip J. Guo

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge