skip to main content
10.1145/1166253.1166275acmconferencesArticle/Chapter ViewAbstractPublication PagesuistConference Proceedingsconference-collections
Article

Translating keyword commands into executable code

Published:15 October 2006Publication History

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.

Skip Supplemental Material Section

Supplemental Material

1166275.mp4

mp4

153.8 MB

References

  1. Apple Computer. Automator. http://www.apple.com/macosx/features/automator/, accessed June 28, 2006.Google ScholarGoogle Scholar
  2. Ballard, B., and Biemann, A. Programming in Natural Language: NLC as a Prototype. ACM/CSC-ER Annual Conference, 228--237. 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bruckman, A., Community Support for Constructionist Learning. Computer Supported Cooperative Work, 7(1-2), 47--86, Jan. 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. Burnett, M., Cook, C., and Rothermel, G. End-User Software Engineering. Commun. ACM, 47(9), 53--58, Sept. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bolin, M., Webber, M., Rha, P., Wilson, T., Miller, R. Automation and customization of rendered web pages. UIST 2005, pp. 163--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Cypher, A., Ed. Watch What I Do: Programming by Demonstration. MIT Press, Cambridge, MA, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Erwig, M., Abraham, R., Cooperstein, I., and Kollmansberger, S. Automatic generation and maintenance of correct spreadsheets. ICSE 2005, pp. 136--145. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. Pausch, R., et al. Alice: A Rapid Prototyping System for 3D Graphics. IEEE Computer Graphics and Applications, 15(3), 8--11, May 1995.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. Ko, A. J., Myers, B. A., and Aung, H. Six Learning Barriers in End-User Programming Systems. VL/HCC 2004, pp. 199--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Lieberman, H., Ed. Your Wish is My Command: Programming By Example. Morgan Kaufmann, San Francisco, CA, 2001.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Liu, H., and Lieberman, H., Programmatic Semantics for Natural Language Interfaces. CHI 2005, pp. 1597--1600. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Miller, L., Natural Language Programming: Styles, Strategies, and Contrasts. IBM Systems Journal, 1981.Google ScholarGoogle Scholar
  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.Google ScholarGoogle ScholarCross RefCross Ref
  18. Mandelin, D., Xu, L., Bodik, R., and Kimelman, D. Jungloid Mining: Helping to Navigate the API Jungle. PLDI '05, pp. 48--61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Myers, B., Pane, J., and Ko, A., Natural Programming Languages and Environments. CACM, 47(9), 47--52, Sept. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. Porter, M., An algorithm for suffix stripping, Program, 14(3), pp 130--137, 1980.Google ScholarGoogle Scholar
  22. Price, D., Riloff E., Zachary J., and Harvey B. NaturalJava: A Natural Language Interface for Programming in Java. IUI 2000, pp. 207--211. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sammet, J., The Use of English as a Programming Language. CACM, 9(3), 228--230. 1966. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Teitelbaum, T. and Reps, T. The Cornell program synthesizer: a syntax-directed programming environment. CACM, 24(9), 563--573, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Wiedenbeck, S., Engebretson, A. Comprehension strategies of end-user programmers in an event-driven application. VL/HCC 2004, pp. 207--214. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Translating keyword commands into executable code

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            UIST '06: Proceedings of the 19th annual ACM symposium on User interface software and technology
            October 2006
            354 pages
            ISBN:1595933131
            DOI:10.1145/1166253

            Copyright © 2006 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 15 October 2006

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            Overall Acceptance Rate842of3,967submissions,21%

            Upcoming Conference

            UIST '24

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader