ABSTRACT
Modern applications provide interfaces for scripting, but many users do not know how to write script commands. However, many users are familiar with the idea of entering keywords into a web search engine. Hence, if a user is familiar with the vocabulary of an application domain, we anticipate that they could write a set of keywords expressing a command in that domain. For instance, in the web browsing domain, a user might enter <B>click search button</B>. We call expressions of this form keyword commands, and we present a novel approach for translating keyword commands directly into executable code. Our prototype of this system in the web browsing domain translates <B>click search button</B> into the Chickenfoot code <B>click(findButton("search"))</B>. This code is then executed in the context of a web browser to carry out the effect. We also present an implementation of this system in the domain of Microsoft Word. A user study revealed that subjects could use keyword commands to successfully complete 90% of the web browsing tasks in our study without instructions or training. Conversely, we would expect users to complete close to 0% of the tasks if they had to guess the underlying JavaScript commands with no instructions or training.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Apple Computer. Automator. http://www.apple.com/macosx/features/automator/, accessed June 28, 2006.
|
 |
2
|
|
| |
3
|
|
 |
4
|
|
 |
5
|
|
 |
6
|
Michael Bolin , Matthew Webber , Philip Rha , Tom Wilson , Robert C. Miller, Automation and customization of rendered web pages, Proceedings of the 18th annual ACM symposium on User interface software and technology, October 23-26, 2005, Seattle, WA, USA
[doi> 10.1145/1095034.1095062]
|
| |
7
|
Allen Cypher , Daniel C. Halbert , David Kurlander , Henry Lieberman , David Maulsby , Brad A. Myers , Alan Turransky, Watch what I do: programming by demonstration, MIT Press, Cambridge, MA, 1993
|
 |
8
|
Martin Erwig , Robin Abraham , Irene Cooperstein , Steve Kollmansberger, Automatic generation and maintenance of correct spreadsheets, Proceedings of the 27th international conference on Software engineering, p.136-145, May 15-21, 2005, St. Louis, MO, USA
[doi> 10.1145/1062455.1062494]
|
| |
9
|
Boris Katz , Sue Felshin , Deniz Yuret , Ali Ibrahim , Jimmy J. Lin , Gregory Marton , Alton Jerome McFarland , Baris Temelkuran, Omnibase: Uniform Access to Heterogeneous Data for Question Answering, Proceedings of the 6th International Conference on Applications of Natural Language to Information Systems-Revised Papers, p.230-234, June 27-28, 2002
|
| |
10
|
Pausch, R., et al. Alice: A Rapid Prototyping System for 3D Graphics. IEEE Computer Graphics and Applications, 15(3), 8--11, May 1995.
|
 |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
Lieberman, H., Ed. Your Wish is My Command: Programming By Example. Morgan Kaufmann, San Francisco, CA, 2001.
|
 |
15
|
|
| |
16
|
Miller, L., Natural Language Programming: Styles, Strategies, and Contrasts. IBM Systems Journal, 1981.
|
| |
17
|
Miller, P., Pane, J., Meter, G., and Vorthmann, S. Evolution of Novice Programming Environments: The Structure Editors of Carnegie Mellon University. Interactive Learning Environments, 4(2), 140--158, 1994.
|
 |
18
|
David Mandelin , Lin Xu , Rastislav Bodík , Doug Kimelman, Jungloid mining: helping to navigate the API jungle, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA
|
 |
19
|
|
| |
20
|
Amit Phalgune , Cory Kissinger , Margaret Burnett , Curtis Cook , Laura Beckwith , Joseph R. Ruthruff, Garbage in, Garbage out? An Empirical Look at Oracle Mistakes by End-User Programmers, Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05), p.45-52, September 20-24, 2005
[doi> 10.1109/VLHCC.2005.40]
|
| |
21
|
Porter, M., An algorithm for suffix stripping, Program, 14(3), pp 130--137, 1980.
|
 |
22
|
David Price , Ellen Rilofff , Joseph Zachary , Brandon Harvey, NaturalJava: a natural language interface for programming in Java, Proceedings of the 5th international conference on Intelligent user interfaces, p.207-211, January 09-12, 2000, New Orleans, Louisiana, United States
[doi> 10.1145/325737.325845]
|
 |
23
|
|
 |
24
|
|
| |
25
|
|
CITED BY 12
|
|
Greg Little , Tessa A. Lau , Allen Cypher , James Lin , Eben M. Haber , Eser Kandogan, Koala: capture, share, automate, personalize business processes on the web, Proceedings of the SIGCHI conference on Human factors in computing systems, April 28-May 03, 2007, San Jose, California, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Robert C. Miller , Victoria H. Chou , Michael Bernstein , Greg Little , Max Van Kleek , David Karger , mc schraefel, Inky: a sloppy command line for the web with rich visual feedback, Proceedings of the 21st annual ACM symposium on User interface software and technology, October 19-22, 2008, Monterey, CA, USA
|
|
|
|
|
|
|
|
|
Joel Brandt , Philip J. Guo , Joel Lewenstein , Mira Dontcheva , Scott R. Klemmer, Two studies of opportunistic programming: interleaving web foraging, learning, and writing code, Proceedings of the 27th international conference on Human factors in computing systems, April 04-09, 2009, Boston, MA, USA
|
INDEX TERMS
Primary Classification:
H.
Information Systems
H.5
INFORMATION INTERFACES AND PRESENTATION (I.7)
H.5.2
User Interfaces (D.2.2, H.1.2, I.3.6)
Subjects:
Graphical user interfaces (GUI)
Additional Classification:
D.
Software
D.2
SOFTWARE ENGINEERING
D.2.6
Programming Environments
Subjects:
Interactive environments
D.3
PROGRAMMING LANGUAGES
D.3.3
Language Constructs and Features
H.
Information Systems
H.5
INFORMATION INTERFACES AND PRESENTATION (I.7)
H.5.2
User Interfaces (D.2.2, H.1.2, I.3.6)
Subjects:
User-centered design
General Terms:
Algorithms,
Design,
Experimentation,
Human Factors,
Languages,
Standardization
Keywords:
command languages,
end-user programming,
natural language processing,
web automation
|