Professional Documents
Culture Documents
Nazanin Kadivar
Windows Application
• Application controls its user interface down to the last pixel
Web Application
• Once a page is delivered to the client’s browser, the content provider
has no control over how it will be viewed
• An opportunity for end-users to automate and customize their web
experience
• The growing complexity of web pages and standards prevent users
from realizing this opportunity
Examples involve both automating web user interfaces (clicking links, filing
in forms, extracting data) and customizing them (changing appearance,
rearranging components, inserting or removing user interface widgets or
data)
Chickenfoot
The Challenge for Chickenfoot: a user should never have to view the HTML
source of a web page in order to customize or automate it
It runs inside the browser, so that the rendered view of a web page is
always visible alongside the chickenfoot development environment
Its language primitives are concerned with the web page’s user interface,
rather than its internal details
It uses pattern-matching techniques to allow users to describe components
of a web page in terms that make sense for the rendered view
Find : takes a pattern of either kind and searches for it in the current page
• find(“Search form”) | find(“link in bold”)
Click : takes a pattern describing a hyperlink or button on the current page
and causes the same effect as if the user had clicked on it
• click(“Advanced Search”) // a hyperlink | click(“I’m Feeling Lucky”) // a button
Enter : enters a value into a textbox
• enter(“e-mail address”, “rcm@mit.edu”)
Check / uncheck : control checkboxes and radiobuttons
• check(“Yes, I have a password”) | uncheck(“Remember Me”)
Pick : makes a selection from a listbox or drop-down box
• pick(“California”) | pick(“State”, “California”)
Go | fetch : retrieve a page with | without displaying it