understand what is going on. Combining the actions
of the widgets in various ways enables a wide range
of customization options.
In our programming scheme, the state of each
item in the widget corresponds to the state of the
state-transition diagram, and the action of the user
corresponds to the transition. By using this model, a
user can define the behaviour of the Web browser.
3 RELATED RESEARCHES
Islay, an interactive animation-authoring tool based
on the state-transition diagram, was first proposed in
2005 (Okamoto, Kamada, Nakao, 2005) (Okamoto,
Shimomura, Kamada, Yonekura, 2006). Islay uses
the modern paradigm of object oriented modelling
and the classical state-transition diagram to make
authoring interactive animation intuitively
comprehensible. By using the authoring tool, non-
programmers can define the animation of the
characters. As a side effect, the user may learn how
to define dynamic objects while having fun with
animation.
One of Mozilla Firefox’s (Mozilla org., 2007)
extensions, Greasemonkey (Greasemonkey, 2007),
is a tool that enables users to gain valuable
experiences on the Web. The user writes
Greasemonkey scripts (called user JavaScripts) to
change Web pages. User JavaScripts are executed
every time the Web page is loaded and can utilize a
full range of functions provided by Greasemonkey in
the form of a library. This permits a wide range of
customization options: changing the layout of a Web
page, adding functions to a Web page, appropriating
information from another Web site, and so on.
Today, there are a great many user JavaScripts that
have been made available on many Web sites. While
these user JavaScripts support advanced
customization, making them requires a high level of
programming skill and a specialized knowledge of
the Web that are far beyond the abilities of most
ordinary end-users. Platypus (Platypus, 2007) is
another Mozilla Firefox extension that enables users
to modify a Web page from a browser called
Platypus GUI and save the changes as a
Greasemonkey user JavaScript so that they will be
repeated the next time the user visits the page. GUI
enables ordinary end-users to easily customize Web
pages. The main drawback of Platypus GUI is that it
was designed to customize Web page layouts, so it
cannot be used to customize the behavior of Web
pages.
Chickenfoot (Bolin, Webber, Rha, Wilson, Miller,
2005) is another extension of this kind. Chickenfoot
consists of a library that adds new commands for
web automation to the browser’s built-in JavaScript
language, and a development environment that
allows Chickenfoot programs to be entered and
tested inside the Web browser. Chickenfoot has
many commands, including pattern matching, form
manipulation, page navigation, and page
modification. The user inputs these commands and
can also use the same variables available to
JavaScript to define the behavior of the Web
browser. The commands make defining the Web
automation easier than the original JavaScript, but
the user needs to have knowledge of the commands
and JavaScript variables. Therefore, ordinary non-
technically oriented end-users may not be able to
intuitively comprehend how to use this extension.
Client-side tools and APIs have been developed
by the SIMILE project (SIMILE, 2007).
Appalachian (Appalachian, 2007) and Piggy Bank
(Huynh, Mazzocchi, Karger, 2005) are two such
Firefox extensions. Appalachian adds the ability to
manage and use several OpenIDs to ease the login
parts of a user’s browsing experience. Piggy Bank
turns a Web browser into a mash up platform, by
enabling a user to extract data from different web
sites and mix it together. It also allows the user to
store extracted information locally so it can be
searched later and to exchange the collected
information with others on demand. Timeplot
(Timeplot, 2007), TimeLine (TimeLine, 2007), and
Exhibit (Huynh, Karger, Miller, 2007) are APIs that
enable users to create rich content on a Web page.
By using these APIs, the user can create interactive
widgets on a Web page. The user does not have to
know database or complicated web application
technologies.
In addition to these programs, we have developed
GUEST (Graphical User interface Editor by State
diagram). GUEST is a Firefox extension that enables
users to define the behavior of the browser using a
state-transition diagram. Using GUEST, the user can
define behaviors easily even if he or she has no
programming experience.
4 GUEST
4.1 Overview
To solve some of the problems that related programs
suffer from, we have developed a prototype Web
visual programming system called GUEST
WEBIST 2008 - International Conference on Web Information Systems and Technologies
52