a HTTP-Proxy, which captured all data requested
through it, but also used Java-Script to capture events
on the client-side. It’s downside was, that the script
had to be inserted manually, and even more, that it
wasn’t released to the public.
WebQuilt was developed in 2001/02 at the Uni-
versity of California in Berkeley (Hong et al., 2001).
It featured a slightly different approach. In this case,
all requests were dispatched through an URL (Uni-
form Resource Locator) relative to the proxy. This
meant event less configuration on the client side, but
fails today in most cases. The proxy had to rewrite all
URL found in the HTML code to redirect the links.
This fails for all dynamically generated ones, and is
therefore not advisable. Especially noteworthy about
WebQuilt was the graphical analysis tool. It displayed
all visited pages as a graph, where the pages were dis-
played as the vertices and the traversed links were dis-
play as edges between them. The more often a link
was used, the stronger it was emphasized. Further-
more WebQuilt measured the time a user spend on a
site, and marked those pages, where the user spend
more time than on others.
4 T-PROX: A NEW APPROACH
TO USABILITY TESTING
We will first discuss some preliminary considerations
before explaining the implementation details of our
solution “T-Prox”.
4.1 Preliminary Considerations
For the best possible analyses, we have to solve two
problems, the identification of the user and the identi-
fication of the user’s actions.
4.1.1 Identifying the User
We have three possibilities to identify the user:
• via Cookies,
• via IP-address and the browser’s ’user agent’
string or
• via ’Proxy-Authentication’.
Cookies are small portions of data used to store
information on the client side while browsing the web.
They are widespread used by the advertising industry
and have therefore a very bad reputation. Many users
dismiss them, which would disturb our test. We will
therefore have to choose a different possibility.
Using the IP-address and the ’user-agent’ as an
identification can lead to problems, too. Due to a tech-
nique called ’Network-Address-Translation’ (NAT)
many users share one external IP-address. As the
used browsers are limited, too, we could then iden-
tify to users as one and thereby eliminate the usability
of these data records.
The identification via the ’Proxy-Authentication’-
mechanism is suiting our needs the best. It isn’t com-
pletely transparent as it needs for the user to enter cre-
dentials when visiting the first page via the proxy, but
this way, we can ensure that we can not only distin-
guish between different users, but can also identify
every user for later questioning. (See (Fielding et al.,
1999) and (Franks et al., 1999) for details on ’Proxy-
Authentication’).
4.1.2 Identifying the User’s Actions
We can distinguish between several different user ac-
tions like clicking on a link or on a non-interactive
element (a so called blind-click), changes in a form,
drag ’n’ drop, text-selection or hovering (no mouse
movements for a specific time). For each type of ac-
tion we have to gather different information:
• the time and position,
• the affected element(s),
• key or mouse button,
• the selected text and
• the current page.
Not all particulars have to be logged for every action,
only those which are applicable. Additional data we
need include which page is loaded in which browser
window and the size of the windows.
The problem is that we don’t get exactly one no-
tification for each individual action. There are some
user actions that we get several notifications for, and
some we don’t get any events for. The second prob-
lem when identifying the user’s actions is, that two
actions can lead to the same event notifications by the
browser.
For that reason, we have to deduce what the user
did, from the information we get. A “drag ’n’ drop”
leads to the same DOM-events as a simple text-
selection. In both cases, the users presses the primary
mouse button, moves the mouse while holding it, and
releases the button again. The difference is, that in
one case, the selection in the text changes, and in the
other it stays the same.
WEBIST 2009 - 5th International Conference on Web Information Systems and Technologies
228