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.
Supplemental Material
Available for Download
Slides from the presentation
Supplemental material for Translating keyword commands into executable code
- Apple Computer. Automator. http://www.apple.com/macosx/features/automator/, accessed June 28, 2006.Google Scholar
- Ballard, B., and Biemann, A. Programming in Natural Language: NLC as a Prototype. ACM/CSC-ER Annual Conference, 228--237. 1979. Google ScholarDigital Library
- Bruckman, A., Community Support for Constructionist Learning. Computer Supported Cooperative Work, 7(1-2), 47--86, Jan. 1998. Google ScholarDigital Library
- Bruckman, A., Edwards, E. Should we leverage natural-language knowledge? An analysis of user errors in a natural-language-style programming language. CHI '99, pp. 207--214. Google ScholarDigital Library
- Burnett, M., Cook, C., and Rothermel, G. End-User Software Engineering. Commun. ACM, 47(9), 53--58, Sept. 2004. Google ScholarDigital Library
- Bolin, M., Webber, M., Rha, P., Wilson, T., Miller, R. Automation and customization of rendered web pages. UIST 2005, pp. 163--172. Google ScholarDigital Library
- Cypher, A., Ed. Watch What I Do: Programming by Demonstration. MIT Press, Cambridge, MA, 1993. Google ScholarDigital Library
- Erwig, M., Abraham, R., Cooperstein, I., and Kollmansberger, S. Automatic generation and maintenance of correct spreadsheets. ICSE 2005, pp. 136--145. Google ScholarDigital Library
- Katz, B., Felshin, S., Yuret, D., Ibrahim, A., Lin, J., Marton, G., McFarland, A., and Temelkuran, B. Omnibase: Uniform Access to Heterogeneous Data for Question Answering. NLDB 2002, pp. 230-234. Google ScholarDigital Library
- Pausch, R., et al. Alice: A Rapid Prototyping System for 3D Graphics. IEEE Computer Graphics and Applications, 15(3), 8--11, May 1995.Google ScholarDigital Library
- Kelleher, C. and Pausch, R., Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv., 37(2), 83--137, 2005. Google ScholarDigital Library
- Ko, A. J. and Myers, B. A. Designing the Whyline: A Debugging Interface for Asking Why and Why Not Questions. CHI 2004, pp. 151--158. Google ScholarDigital Library
- Ko, A. J., Myers, B. A., and Aung, H. Six Learning Barriers in End-User Programming Systems. VL/HCC 2004, pp. 199--206. Google ScholarDigital Library
- Lieberman, H., Ed. Your Wish is My Command: Programming By Example. Morgan Kaufmann, San Francisco, CA, 2001.Google ScholarDigital Library
- Liu, H., and Lieberman, H., Programmatic Semantics for Natural Language Interfaces. CHI 2005, pp. 1597--1600. Google ScholarDigital Library
- Miller, L., Natural Language Programming: Styles, Strategies, and Contrasts. IBM Systems Journal, 1981.Google Scholar
- 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.Google ScholarCross Ref
- Mandelin, D., Xu, L., Bodik, R., and Kimelman, D. Jungloid Mining: Helping to Navigate the API Jungle. PLDI '05, pp. 48--61. Google ScholarDigital Library
- Myers, B., Pane, J., and Ko, A., Natural Programming Languages and Environments. CACM, 47(9), 47--52, Sept. 2004. Google ScholarDigital Library
- Phalgune, A., Kissinger, C., Burnett, M., Cook, C., Beckwith, L., and Ruthruff, J. R. Garbage In, Garbage Out? An Empirical Look at Oracle Mistakes by End-User Programmers. VL/HCC 2005, pp. 45--52. Google ScholarDigital Library
- Porter, M., An algorithm for suffix stripping, Program, 14(3), pp 130--137, 1980.Google Scholar
- Price, D., Riloff E., Zachary J., and Harvey B. NaturalJava: A Natural Language Interface for Programming in Java. IUI 2000, pp. 207--211. Google ScholarDigital Library
- Sammet, J., The Use of English as a Programming Language. CACM, 9(3), 228--230. 1966. Google ScholarDigital Library
- Teitelbaum, T. and Reps, T. The Cornell program synthesizer: a syntax-directed programming environment. CACM, 24(9), 563--573, 1981. Google ScholarDigital Library
- Wiedenbeck, S., Engebretson, A. Comprehension strategies of end-user programmers in an event-driven application. VL/HCC 2004, pp. 207--214. Google ScholarDigital Library
Index Terms
- Translating keyword commands into executable code
Recommendations
Inky: a sloppy command line for the web with rich visual feedback
UIST '08: Proceedings of the 21st annual ACM symposium on User interface software and technologyWe present Inky, a command line for shortcut access to common web tasks. Inky aims to capture the efficiency benefits of typed commands while mitigating their usability problems. Inky commands have little or no new syntax to learn, and the system ...
Web search using dynamic keyword suggestion
Web search has become an essential task for most people. As the Web grows rapidly, effective searches have grown increasingly important. Most of us, however, have experienced frustration in trying to search for something on the Web. In existing keyword-...
SPHINX: a framework for creating personal, site-specific Web crawlers
WWW7: Proceedings of the seventh international conference on World Wide Web 7
Comments