Rewrite the web by translating keyword commands into executable code.

Steps:
Users enter keywords in a domain (E.g. click search button) -> the system translates the text into system known code (E.g. click(findButton("search")) -> Execute the code in the context of a web browser.

Features:
Funtions and Basic Data Types
Basic data types are represented as functions without arugments.

Identifying Arguments
Name the arguments or include the arguments in the correct order (E.g. For click(200, 300), both of click 300 y 200 x and 200 300 click could be accepted). 

Resolving Ambiguity
Provide 3 accesses to resolve ambiguous keywords, Quotes, Argument Names and Selection List.

Extraneous Words
If no good explanation for a keyword, then it will be ignored (E.g. Please enter "search", ignore Please).

Textual Feedback
Present the textual feedback or a list of likely interpretations for the keyword commands (E.g For A radiobutton, present the textual feedback as select the "A" radiobutton).

Translation Algorithm:
Tokenize -> Recursive Algorithm ( The algorithm is called initially with the entire input sequence, and the desired return type void).

Implementaion:
Chickenfoot is a Firefox extension that puts a programming environment in the browser's sidebar so you can write scripts to manipulate web pages and automate web browsing. In Chickenfoot, scripts are written in a superset of Javascript that includes special functions specific to web tasks.

Reading material: Greg Little, and Robert C. Miller. "Translating Keyword Commands into Executable Code." Submitted to ACM Conference on User Interface Software and Technology (UIST), 2006

Please visit http://groups.csail.mit.edu/uid/chickenfoot/ for more information.