Translating keyword commands into executable code
- 15 October 2006
- proceedings article
- Published by Association for Computing Machinery (ACM)
- p. 135-144
- https://doi.org/10.1145/1166253.1166275
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 click search button. 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 click search button into the Chickenfoot code click(findButton("search")). 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.Keywords
This publication has 19 references indexed in Scilit:
- Automation and customization of rendered web pagesPublished by Association for Computing Machinery (ACM) ,2005
- Lowering the barriers to programmingACM Computing Surveys, 2005
- Natural programming languages and environmentsCommunications of the ACM, 2004
- End-user software engineeringCommunications of the ACM, 2004
- NaturalJavaPublished by Association for Computing Machinery (ACM) ,2000
- Community Support for Constructionist LearningComputer Supported Cooperative Work (CSCW), 1998
- Alice: rapid prototyping for virtual realityIEEE Computer Graphics and Applications, 1995
- Evolution of Novice Programming Environments: The Structure Editors of Carnegie Mellon UniversityInteractive Learning Environments, 1994
- The Cornell program synthesizerCommunications of the ACM, 1981
- The use of English as a programming languageCommunications of the ACM, 1966