[1]
DiscoverySpace: Crowdsourced Suggestions Onboard Novices in Complex Software
Demos
/
Fraser, C.
/
Dontcheva, Mira
/
Winnemoeller, Holger
/
Klemmer, Scott
Companion Proceedings of ACM CSCW 2016 Conference on Computer-Supported
Cooperative Work and Social Computing
2016-02-27
v.2
p.29-32
© Copyright 2016 ACM
[2]
DataTone: Managing Ambiguity in Natural Language Interfaces for Data
Visualization
Session 7B: Neurons, Affect, Ambiguity
/
Gao, Tong
/
Dontcheva, Mira
/
Adar, Eytan
/
Liu, Zhicheng
/
Karahalios, Karrie G.
Proceedings of the 2015 ACM Symposium on User Interface Software and
Technology
2015-11-05
v.1
p.489-500
© Copyright 2015 ACM
Summary: Answering questions with data is a difficult and time-consuming process.
Visual dashboards and templates make it easy to get started, but asking more
sophisticated questions often requires learning a tool designed for expert
analysts. Natural language interaction allows users to ask questions directly
in complex programs without having to learn how to use an interface. However,
natural language is often ambiguous. In this work we propose a mixed-initiative
approach to managing ambiguity in natural language interfaces for data
visualization. We model ambiguity throughout the process of turning a natural
language query into a visualization and use algorithmic disambiguation coupled
with interactive ambiguity widgets. These widgets allow the user to resolve
ambiguities by surfacing system decisions at the point where the ambiguity
matters. Corrections are stored as constraints and influence subsequent
queries. We have implemented these ideas in a system, DataTone. In a
comparative study, we find that DataTone is easy to learn and lets users ask
questions without worrying about syntax and proper question form.
[3]
Learning style similarity for searching infographics
Learning for search, design, and simulation
/
Saleh, Babak
/
Dontcheva, Mira
/
Hertzmann, Aaron
/
Liu, Zhicheng
Proceedings of the 2015 Conference on Graphics Interface
2015-06-03
p.59-64
© Copyright 2015 ACM
Summary: Infographics are complex graphic designs integrating text, images, charts
and sketches. Despite the increasing popularity of infographics and the rapid
growth of online design portfolios, little research investigates how we can
take advantage of these design resources. In this paper we present a method for
measuring the style similarity between infographics. Based on human perception
data collected from crowdsourced experiments, we use computer vision and
machine learning algorithms to learn a style similarity metric for infographic
designs. We evaluate different visual features and learning algorithms and find
that a combination of color histograms and Histograms-of-Gradients (HoG)
features is most effective in characterizing the style of infographics. We
demonstrate our similarity metric on a preliminary image retrieval test.
[4]
MatrixWave: Visual Comparison of Event Sequence Data
Visualizing Data
/
Zhao, Jian
/
Liu, Zhicheng
/
Dontcheva, Mira
/
Hertzmann, Aaron
/
Wilson, Alan
Proceedings of the ACM CHI'15 Conference on Human Factors in Computing
Systems
2015-04-18
v.1
p.259-268
© Copyright 2015 ACM
Summary: Event sequence data analysis is common in many domains, including web and
software development, transportation, and medical care. Few have investigated
visualization techniques for comparative analysis of multiple event sequence
datasets. Grounded in the real-world characteristics of web clickstream data,
we explore visualization techniques for comparison of two clickstream datasets
collected on different days or from users with different demographics. Through
iterative design with web analysts, we designed MatrixWave, a matrix-based
representation that allows analysts to get an overview of differences in
traffic patterns and interactively explore paths through the website. We use
color to encode differences and size to offer context over traffic volume. User
feedback on MatrixWave is positive. Our study participants made fewer errors
with MatrixWave and preferred it over the more familiar Sankey diagram.
[5]
Motif: Supporting Novice Creativity through Expert Patterns
Supporting Creativity through UX Design
/
Kim, Joy
/
Dontcheva, Mira
/
Li, Wilmot
/
Bernstein, Michael S.
/
Steinsapir, Daniela
Proceedings of the ACM CHI'15 Conference on Human Factors in Computing
Systems
2015-04-18
v.1
p.1211-1220
© Copyright 2015 ACM
Summary: Creating personal narratives helps people build meaning around their
experiences. However, novices lack the knowledge and experience to create
stories with strong narrative structure. Current storytelling tools often
structure novice work through templates, enforcing a linear creative process
that asks novices for materials they may not have. In this paper, we propose
scaffolding creative work using storytelling patterns extracted from stories
created by experts. Patterns are modular sets of related camera shots that
expert videographers commonly use to achieve a specific narrative function.
After identifying a set of patterns from high-quality storytelling videos, we
created Motif, a mobile video storytelling application that allows users to
construct video stories by combining these patterns. By making existing
solutions used by experts available to novices, we encourage capturing shots
with story structure and narrative goals in mind. In a controlled study where
we asked participants to create travel video stories, videos created with
patterns conveyed stronger narrative structure and were considered higher
quality by expert evaluators than videos created without patterns.
[6]
CommandSpace: modeling the relationships between tasks, descriptions and
features
Modeling and prediction
/
Adar, Eytan
/
Dontcheva, Mira
/
Laput, Gierad
Proceedings of the 2014 ACM Symposium on User Interface Software and
Technology
2014-10-05
v.1
p.167-176
© Copyright 2014 ACM
Summary: Users often describe what they want to accomplish with an application in a
language that is very different from the application's domain language. To
address this gap between system and human language, we propose modeling an
application's domain language by mining a large corpus of Web documents about
the application using deep learning techniques. A high dimensional vector space
representation can model the relationships between user tasks, system commands,
and natural language descriptions and supports mapping operations, such as
identifying likely system commands given natural language queries and
identifying user tasks given a trace of user operations. We demonstrate the
feasibility of this approach with a system, CommandSpace, for the popular photo
editing application Adobe Photoshop. We build and evaluate several applications
enabled by our model showing the power and flexibility of this approach.
[7]
Combining crowdsourcing and learning to improve engagement and performance
Learning and games
/
Dontcheva, Mira
/
Morris, Robert R.
/
Brandt, Joel R.
/
Gerber, Elizabeth M.
Proceedings of ACM CHI 2014 Conference on Human Factors in Computing Systems
2014-04-26
v.1
p.3379-3388
© Copyright 2014 ACM
Summary: Crowdsourcing complex creative tasks remains difficult, in part because
these tasks require skilled workers. Most crowdsourcing platforms do not help
workers acquire the skills necessary to accomplish complex creative tasks. In
this paper, we describe a platform that combines learning and crowdsourcing to
benefit both the workers and the requesters. Workers gain new skills through
interactive step-by-step tutorials and test their knowledge by improving
real-world images submitted by requesters. In a series of three deployments
spanning two years, we varied the design of our platform to enhance the
learning experience and improve the quality of the crowd work. We tested our
approach in the context of LevelUp for Photoshop, which teaches people how to
do basic photograph improvement tasks using Adobe Photoshop. We found that by
using our system workers gained new skills and produced high-quality edits for
requested images, even if they had little prior experience editing images.
[8]
DemoCut: generating concise instructional videos for physical demonstrations
Visualization & video
/
Chi, Pei-Yu
/
Liu, Joyce
/
Linder, Jason
/
Dontcheva, Mira
/
Li, Wilmot
/
Hartmann, Bjoern
Proceedings of the 2013 ACM Symposium on User Interface Software and
Technology
2013-10-08
v.1
p.141-150
© Copyright 2013 ACM
Summary: Amateur instructional videos often show a single uninterrupted take of a
recorded demonstration without any edits. While easy to produce, such videos
are often too long as they include unnecessary or repetitive actions as well as
mistakes. We introduce DemoCut, a semi-automatic video editing system that
improves the quality of amateur instructional videos for physical tasks.
DemoCut asks users to mark key moments in a recorded demonstration using a set
of marker types derived from our formative study. Based on these markers, the
system uses audio and video analysis to automatically organize the video into
meaningful segments and apply appropriate video editing effects. To understand
the effectiveness of DemoCut, we report a technical evaluation of seven video
tutorials created with DemoCut. In a separate user evaluation, all eight
participants successfully created a complete tutorial with a variety of video
editing effects using our system.
[9]
Toward a cognitive theory of creativity support
Dimensions of creative work
/
Davis, Nicholas
/
Winnemöller, Holger
/
Dontcheva, Mira
/
Do, Ellen Yi-Luen
Proceedings of the 2013 ACM Conference on Creativity and Cognition
2013-06-17
p.13-22
© Copyright 2013 ACM
Summary: We present the beginnings of a Cognitive Theory of Creativity Support aimed
specifically at understanding novices and their needs. Our theory identifies
unique difficulties novices face and reasons that may keep them from engaging
in creative endeavors, such as fear of failure, time commitment, and lack of
skill. To test our theory, we use it to analyze existing creativity support
tools from multiple domains. We also describe the design and initial
implementation of a creativity support tool based on our theory. The creativity
support tool, called StorySketch, is designed to empower storytellers without
graphical skills to engage in visual storytelling.
[10]
PixelTone: a multimodal interface for image editing
Video showcase presentations
/
Linder, Jason
/
Laput, Gierad
/
Dontcheva, Mira
/
Wilensky, Gregg
/
Chang, Walter
/
Agarwala, Aseem
/
Adar, Eytan
Extended Abstracts of ACM CHI'13 Conference on Human Factors in Computing
Systems
2013-04-27
v.2
p.2829-2830
© Copyright 2013 ACM
Summary: Photo editing can be a challenging task, and it becomes even more difficult
on the small, portable screens of mobile devices that are now frequently used
to capture and edit images. To address this problem we present PixelTone, a
multimodal photo editing interface that combines speech and direct
manipulation. In this video, we demonstrate how our system uses natural
language for expressing users' desired changes to an image. We also demonstrate
how we combine natural language and touch gestures for creating named
references and sketching to localize image operations to specific regions.
[11]
PixelTone: a multimodal interface for image editing
Papers: performing interaction
/
Laput, Gierad P.
/
Dontcheva, Mira
/
Wilensky, Gregg
/
Chang, Walter
/
Agarwala, Aseem
/
Linder, Jason
/
Adar, Eytan
Proceedings of ACM CHI 2013 Conference on Human Factors in Computing Systems
2013-04-27
v.1
p.2185-2194
© Copyright 2013 ACM
Summary: Photo editing can be a challenging task, and it becomes even more difficult
on the small, portable screens of mobile devices that are now frequently used
to capture and edit images. To address this problem we present PixelTone, a
multimodal photo editing interface that combines speech and direct
manipulation. We observe existing image editing practices and derive a set of
principles that guide our design. In particular, we use natural language for
expressing desired changes to an image, and sketching to localize these changes
to specific regions. To support the language commonly used in photo-editing we
develop a customized natural language interpreter that maps user phrases to
specific image processing operations. Finally, we perform a user study that
evaluates and demonstrates the effectiveness of our interface.
[12]
CrowdCamp 2013: rapidly iterating crowd ideas
Workshop summaries
/
Chilton, Lydia
/
André, Paul
/
Bigham, Jeffrey
/
Dontcheva, Mira
/
Gerber, Elizabeth
/
Gilbert, Eric
Proceedings of ACM CSCW'13 Conference on Computer-Supported Cooperative Work
2013-02-23
v.2
p.313-314
© Copyright 2013 ACM
Summary: The rapidly growing field of collective intelligence -- encompassing
crowdsourcing, human computation, and social computing -- is having a
tremendous impact on the way we work, live, and play. Building on the success
of a CHI 2012 CrowdCamp, this two-day event focuses on developing ideas into
concrete outputs: in-depth thoughts on hard problems, paper or coded
prototypes, experiment design and data mining. We will bring together
researchers and industry experts to discuss future visions and make tangible
headway on those visions, as well as seeding collaboration. The outputs from
discussion, brainstorming, and building will persist after the workshop for
attendees and the community to view.
[13]
MixT: automatic generation of step-by-step mixed media tutorials
Tutorials & learning
/
Chi, Pei-Yu
/
Ahn, Sally
/
Ren, Amanda
/
Dontcheva, Mira
/
Li, Wilmot
/
Hartmann, Björn
Proceedings of the 2012 ACM Symposium on User Interface Software and
Technology
2012-10-07
v.1
p.93-102
© Copyright 2012 ACM
Summary: Users of complex software applications often learn concepts and skills
through step-by-step tutorials. Today, these tutorials are published in two
dominant forms: static tutorials composed of images and text that are easy to
scan, but cannot effectively describe dynamic interactions; and video tutorials
that show all manipulations in detail, but are hard to navigate. We hypothesize
that a mixed tutorial with static instructions and per-step videos can combine
the benefits of both formats. We describe a comparative study of static, video,
and mixed image manipulation tutorials with 12 participants and distill design
guidelines for mixed tutorials. We present MixT, a system that automatically
generates step-by-step mixed media tutorials from user demonstrations. MixT
segments screencapture video into steps using logs of application commands and
input events, applies video compositing techniques to focus on salient
information, and highlights interactions through mouse trails. Informal
evaluation suggests that automatically generated mixed media tutorials were as
effective in helping users complete tasks as tutorials that were created
manually.
[14]
Tutorial-based interfaces for cloud-enabled applications
Tutorials & learning
/
Laput, Gierad
/
Adar, Eytan
/
Dontcheva, Mira
/
Li, Wilmot
Proceedings of the 2012 ACM Symposium on User Interface Software and
Technology
2012-10-07
v.1
p.113-122
© Copyright 2012 ACM
Summary: Powerful image editing software like Adobe Photoshop and GIMP have complex
interfaces that can be hard to master. To help users perform image editing
tasks, we introduce tutorial-based applications (tapps) that retain the
step-by-step structure and descriptive text of tutorials but can also
automatically apply tutorial steps to new images. Thus, tapps can be used to
batch process many images automatically, similar to traditional macros. Tapps
also support interactive exploration of parameters, automatic variations, and
direct manipulation (e.g., selection, brushing). Another key feature of tapps
is that they execute on remote instances of Photoshop, which allows users to
edit their images on any Web-enabled device. We demonstrate a working prototype
system called TappCloud for creating, managing and using tapps. Initial user
feedback indicates support for both the interactive features of tapps and their
ability to automate image editing. We conclude with a discussion of approaches
and challenges of pushing monolithic direct-manipulation GUIs to the cloud.
[15]
Discovery-based games for learning software
Teaching with games
/
Dong, Tao
/
Dontcheva, Mira
/
Joseph, Diana
/
Karahalios, Karrie
/
Newman, Mark
/
Ackerman, Mark
Proceedings of ACM CHI 2012 Conference on Human Factors in Computing Systems
2012-05-05
v.1
p.2083-2086
© Copyright 2012 ACM
Summary: We propose using discovery-based learning games to teach people how to use
complex software. Specifically, we developed Jigsaw, a learning game that asks
players to solve virtual jigsaw puzzles using tools in Adobe Photoshop. We
conducted an eleven-person lab study of the prototype, and found the game to be
an effective learning medium that can complement demonstration-based tutorials.
Not only did the participants learn about new tools and techniques while
actively solving the puzzles in Jigsaw, but they also recalled techniques that
they had learned previously but had forgotten.
[16]
MixT: automatic generation of step-by-step mixed media tutorials
Work-in-progress
/
Chi, Pei-Yu
/
Ahn, Sally
/
Ren, Amanda
/
Hartmann, Björn
/
Dontcheva, Mira
/
Li, Wilmot
Extended Abstracts of ACM CHI'12 Conference on Human Factors in Computing
Systems
2012-05-05
v.2
p.1499-1504
© Copyright 2012 ACM
Summary: As software interfaces become more complicated, users rely on tutorials to
learn, creating an increasing demand for effective tutorials. Existing
tutorials, however, are limited in their presentation: Static step-by-step
tutorials are easy to scan but hard to create and don't always give all of the
necessary information for how to accomplish a step. In contrast, video
tutorials provide very detailed information and are easy to create, but they
are hard to scan as the video-player timeline does not give an overview of the
entire task. We present MixT, which automatically generates mixed media
tutorials that combine the strengths of these tutorial types. MixT tutorials
include step-by-step text descriptions and images that are easy to scan and
short videos for each step that provide additional context and detail as
needed. We ground our design in a formative study that shows that mixed-media
tutorials outperform both static and video tutorials.
[17]
CrowdCamp: rapidly iterating ideas related to collective intelligence &
crowdsourcing
Workshop summaries
/
André, Paul
/
Bernstein, Michael
/
Dontcheva, Mira
/
Gerber, Elizabeth
/
Kittur, Aniket
/
Miller, Rob
Extended Abstracts of ACM CHI'12 Conference on Human Factors in Computing
Systems
2012-05-05
v.2
p.2687-2690
© Copyright 2012 ACM
Summary: The field of collective intelligence -- encompassing aspects of
crowdsourcing, human computation, and social computing -- is having tremendous
impact on our lives, and the fields are rapidly growing. We propose a hands-on
event that takes the main benefits of a workshop -- provocative discussion and
community building -- and allows time to focus on developing ideas into actual
outputs: experiment designs, in-depth thoughts on wicked problems, paper or
coded prototypes. We will bring together researchers to discuss future visions
and make tangible headway on those visions, as well as seeding collaboration.
The outputs from brainstorming, discussion, and building will persist after the
workshop for attendees and the community to view, and will be written up.
[18]
Photoshop with friends: a synchronous learning community for graphic design
Demonstration
/
Kim, Juho
/
Malley, Benjamin
/
Brandt, Joel
/
Dontcheva, Mira
/
Joseph, Diana
/
Gajos, Krzysztof Z.
/
Miller, Robert C.
Companion Proceedings of ACM CSCW'12 Conference on Computer-Supported
Cooperative Work
2012-02-11
v.2
p.271-272
© Copyright 2012 ACM
Summary: Photoshop with Friends is an online community of learners exchanging
just-in-time help on graphic design tasks. The system attempts to provide an
interactive, visual, context-aware, and personalized mode of learning.
Developed as a Facebook application, Photoshop with Friends allows users to
help each other in live sessions, with built-in screen sharing, recording, and
voice chat support. Major design decisions are guided by two laboratory studies
that identified challenges in learning graphic design skills on the web.
[19]
Pause-and-play: automatically linking screencast video tutorials with
applications
Social learning
/
Pongnumkul, Suporn
/
Dontcheva, Mira
/
Li, Wilmot
/
Wang, Jue
/
Bourdev, Lubomir
/
Avidan, Shai
/
Cohen, Michael F.
Proceedings of the 201 ACM Symposium on User Interface Software and
Technology1
2011-10-16
v.1
p.135-144
© Copyright 2011 ACM
Summary: Video tutorials provide a convenient means for novices to learn new software
applications. Unfortunately, staying in sync with a video while trying to use
the target application at the same time requires users to repeatedly switch
from the application to the video to pause or scrub backwards to replay missed
steps. We present Pause-and-Play, a system that helps users work along with
existing video tutorials. Pause-and-Play detects important events in the video
and links them with corresponding events in the target application as the user
tries to replicate the depicted procedure. This linking allows our system to
automatically pause and play the video to stay in sync with the user.
Pause-and-Play also supports convenient video navigation controls that are
accessible from within the target application and allow the user to easily
replay portions of the video without switching focus out of the application.
Finally, since our system uses computer vision to detect events in existing
videos and leverages application scripting APIs to obtain real time usage
traces, our approach is largely independent of the specific target application
and does not require access or modifications to application source code. We
have implemented Pause-and-Play for two target applications, Google SketchUp
and Adobe Photoshop, and we report on a user study that shows our system
improves the user experience of working with video tutorials.
[20]
Affective computational priming and creativity
Emotional states
/
Lewis, Sheena
/
Dontcheva, Mira
/
Gerber, Elizabeth
Proceedings of ACM CHI 2011 Conference on Human Factors in Computing Systems
2011-05-07
v.1
p.735-744
© Copyright 2011 ACM
Summary: While studies have shown that affect influences creativity, few investigate
how affect influences creative performance with creativity support tools.
Drawing from methods commonly used in psychology research, we present affective
computational priming, a new method for manipulating affect using digitally
embedded stimuli. We present two studies that explore computational techniques
for inducing positive, neutral, and negative affect and examine their impact on
idea generation with creativity support tools. Our results suggest that
positive affective computational priming positively influences the quality of
ideas generated. We discuss opportunities for future HCI research and offer
practical applications of affective computational priming.
[21]
Creating collections with automatic suggestions and example-based refinement
Intelligence
/
Secord, Adrian
/
Winnemoeller, Holger
/
Li, Wilmot
/
Dontcheva, Mira
Proceedings of the 2010 ACM Symposium on User Interface Software and
Technology
2010-10-03
p.249-258
Keywords: collections, constraint solver, keyword search
© Copyright 2010 ACM
Summary: To create collections, like music playlists from personal media libraries,
users today typically do one of two things. They either manually select items
one-by-one, which can be time consuming, or they use an example-based
recommendation system to automatically generate a collection. While such
automatic engines are convenient, they offer the user limited control over how
items are selected. Based on prior research and our own observations of
existing practices, we propose a semi-automatic interface for creating
collections that combines automatic suggestions with manual refinement tools.
Our system includes a keyword query interface for specifying high-level
collection preferences (e.g., "some rock, no Madonna, lots of U2,") as well as
three example-based collection refinement techniques: 1) a suggestion widget
for adding new items in-place in the context of the collection; 2) a mechanism
for exploring alternatives for one or more collection items; and 3) a two-pane
linked interface that helps users browse their libraries based on any selected
collection item. We demonstrate our approach with two applications. SongSelect
helps users create music playlists, and PhotoSelect helps users select photos
for sharing. Initial user feedback is positive and confirms the need for
semi-automated tools that give users control over automatically created
collections.
[22]
Example-centric programming: integrating web search into the development
environment
End-user programming I
/
Brandt, Joel
/
Dontcheva, Mira
/
Weskamp, Marcos
/
Klemmer, Scott R.
Proceedings of ACM CHI 2010 Conference on Human Factors in Computing Systems
2010-04-10
v.1
p.513-522
Keywords: example-centric development
© Copyright 2010 ACM
Summary: 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.
[23]
EDITED BOOK
No Code Required: Giving Users Tools to Transform the Web
/
Cypher, Allen
/
Dontcheva, Mira
/
Lau, Tessa
/
Nichols, Jeffrey
2010
p.512
Morgan Kaufmann Publishers
Introduction
End User Programming on the Web
+ Cypher, Allen
Why We Customize the Web
+ Miller, Robert
I. End User Programming Languages for the Web
Sloppy Programming
+ Little, Greg
Mixing the reactive with the personal: Opportunities for end user programming in Personal information management (system)
+ Van Kleek, Max
Going beyond PBD: A Play-by-Play and Mixed-initiative Approach (system)
+ Jung, Hyuckchul
Rewriting the Web with Chickenfoot (system)
+ Miller, Robert
A Goal-Oriented Web Browser (system)
+ Faaborg, Alexander
II. Systems and Applications
Clip, Connect, Clone: Combining Application Elements to Build Custom Interfaces for Information Access (system)
+ Fujima, Jun
Mash Maker (system)
+ Ennals, Robert
Collaborative scripting on the web (system)
+ Lau, Tessa
Programming by a Sample: Rapidly Creating Web Applications with d.mix (system)
+ Hartmann, Björn
Highlight: End User Mobilization of Existing Web Sites (system)
+ Nichols, Jeffrey
Subjunctive Interfaces for the Web
+ Lunzer, Aran
From Web Summaries to Search Templates: Automation for Personal Web Content (system)
+ Dontcheva, Mira
Access to the Temporal Web Through Zoetrope (system)
+ Adar, Eytan
Enabling End Users to Independently Build Accessibility into the Web
+ Bigham, Jeffrey
Social Accessibility: A Collaborative Approach For Improving Web Accessibility (system)
+ Borodin, Yevgen
III. Data Management and Interoperability
A World Wider than the Web: End User Programming Across Multiple Domains (system)
+ Haines, Will
Knowing What You're Talking About: Natural Language Programming of a Multi-Player Online Game (system)
+ Lieberman, Henry
IV. User Studies
Mashups for Web-Active End Users
+ Zang, Nan
Mashed layers and muddled models: debugging mashup applications
+ Jones, M. Cameron
Reuse in the world of end-user programmers
+ Scaffidi, Christopher
Using Web Search to Write Programs
+ Brandt, Joel
[24]
Two studies of opportunistic programming: interleaving web foraging,
learning, and writing code
Software development
/
Brandt, Joel
/
Guo, Philip J.
/
Lewenstein, Joel
/
Dontcheva, Mira
/
Klemmer, Scott R.
Proceedings of ACM CHI 2009 Conference on Human Factors in Computing Systems
2009-04-04
v.1
p.1589-1598
Keywords: copy-and-paste, opportunistic programming, prototyping
© Copyright 2009 ACM
Summary: 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.
[25]
Attaching UI enhancements to websites with end users
Advanced web scenarios
/
Toomim, Michael
/
Drucker, Steven M.
/
Dontcheva, Mira
/
Rahimi, Ali
/
Thomson, Blake
/
Landay, James A.
Proceedings of ACM CHI 2009 Conference on Human Factors in Computing Systems
2009-04-04
v.1
p.1859-1868
Keywords: end-user programming, mashups, programming by example, web data extraction
© Copyright 2009 ACM
Summary: We present reform, a step toward write-once apply-anywhere user interface
enhancements. The reform system envisions roles for both programmers and end
users in enhancing existing websites to support new goals. First, a programmer
authors a traditional mashup or browser extension, but they do not write a web
scraper. Instead they use reform, which allows novice end users to attach the
enhancement to their favorite sites with a scraping by-example interface.
reform makes enhancements easier to program while also carrying the benefit
that end users can apply the enhancements to any number of new websites. We
present reform's architecture, user interface, interactive by-example
extraction algorithm for novices, and evaluation, along with five example
reform enabled enhancements.