html.body.p[3].table.tr[2].input.p = "search terms"whereas in Chickenfoot, an end-user programmer could write:
enter('search box', 'search terms')
The former is tedious to write because it requires the author to plumb
through several hundred lines of machine-generated HTML to find the
name for
the textbox. Further, this script will fail if Yahoo! decides to change
the
textbox's name or its location in the page.
By contrast, the Chickenfoot code is easier for an end-user programmer
to
write and maintain because he simply needs to view the web page to
write the
script. Additionally, Chickenfoot scripts are more robust to changes in
the
web site.
With Chickenfoot, users can automate web tasks, programmatically
extract
content from web sites, and customize how web pages are presented in
their
browser.
Some examples of tasks we have accomplished with Chickenfoot scripts are:
This work was supported in part by the National Science Foundation under award number IIS-0447800. Any opinions, findings, conclusions or recommendations expressed in this publication are those of the authors and do not necessarily reflect the views of the National Science Foundation.
[1] Michael Bolin, Matthew Webber, Philip Rha, Tom Wilson, and
Robert C. Miller. "Automation
and Customization of Rendered Web Pages." UIST
2005, pp. 163-172.
Winner of best paper award. [Powerpoint slides]
[2] Michael Bolin. End-user
Programming for the Web. MEng thesis, Massachusetts Institute
of Technology, June 2005. Winner of William A. Martin Memorial
Thesis Prize for an outstanding Master's thesis in computer science.
[3] Michael Bolin and Rob Miller. "Naming
Page Elements in End-User Web Automation." Workshop on End-User
Software Engineering, ICSE 2005.