<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Developing Contemporary Web-Based Interaction Logging Infrastructure: The Design and Challenges of LogUI</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>David Maxwell</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Claudia Hauf</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Delft University of Technology</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Studies involving user interfaces typically involve the capturing and recording (logging) of key user interactions between the user and the system being examined. However, anecdotal evidence suggests that researchers often implement their own logging infrastructure-sometimes in a piecemeal fashion-which can lead to numerous implementation mistakes (due to misunderstanding or ignoring diferences between web browsers, for example). While eforts have been made to develop interaction logging solutions for experimentation and commercial use, many solutions either use obsolete technology, are prohibitively expensive, are complex to use (and require extensive programming knowledge), or have no source code available. To address these issues, we have developed LogUI, an easy-to-use yet powerful interaction logging framework that can capture virtually any user interaction within a web-based environment. LogUI has been successfully used in several user studies since its launch. This paper provides an in-depth discussion into how we have designed LogUI, and provides narrative on the key challenges that we are looking to address moving forward.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Interaction Logging</kwd>
        <kwd>Logging</kwd>
        <kwd>Web Application</kwd>
        <kwd>Experimental Apparatus</kwd>
        <kwd>User Study</kwd>
        <kwd>User Behavior</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>which is dificult to implement correctly without
extensive knowledge of the many developmental nuances.</p>
      <p>
        Web applications [17, 26] are commonplace in our daily Anecdotal evidence (at least within the IIR community)
lives. The interplay that takes place between a user and suggests that researchers often work on developing their
a web application are in essence a series of interactions own web-based interaction logging software. This is
ofwith the elements that make up the webpage. This web- ten achieved in tandem with the implementation of their
page is rendered by the user’s web browser. Within the main experimental apparatus [18, 46, 47, 61]. However,
web browser, the elements are represented internally as we argue that this is highly undesirable. Lessons we have
part of the Document Object Model (DOM) [12, 34]. A user learned from our own experiences—and observations
of a contemporary web application will typically make from others in the community—suggest that developing
hundreds or thousands of interactions (such as clicking logging infrastructure is non-trivial, with researchers
on an element) with the rendered webpage’s DOM during bypassing issues such as network latency (for sending
its lifespan. For example, a recent user study reported captured events to a server); misunderstanding specific
by Roy et al. [52] observed 799 recorded interactions implementation details between diferent browsers (such
(e.g. mouse clicks) on average, over 120 participants. as how they interpret events in the DOM) [53]; or
simThis average value was observed over a prescribed ten ply forgetting to capture key interactions. Ultimately,
minute period, where participants interacted with a sim- these pitfalls may lead to low quality interaction logs,
ple Search Engine Results Page (SERP). with missing and/or noisy (or “raw” [
        <xref ref-type="bibr" rid="ref57">23</xref>
        ]) data. From
      </p>
      <p>
        In order for researchers to gather insights into how this, inevitable post-hoc frustrations will arise. While a
users make use of a given web application’s interface, we series of separate interaction logging solutions have been
need a means to capture and record (or log) the aforemen- developed, we argue that we lack existing, easy-to-use,
tioned interactions that take place [
        <xref ref-type="bibr" rid="ref23">1</xref>
        ]. This requirement decoupled, afordable, and up-to-date implementations
is a cornerstone of most forms of usability research [32], that are readily available for researchers. Such a
soluand is indeed important for the Interactive Information tion must abstract away the inevitable complexities for
Retrieval (IIR) community. In order to accurately and generating high quality interaction data.
reliably capture a user’s interactions, we require the To this end, we have implemented LogUI, a complete
use of web-based interaction logging software—something solution for contemporary web-based interaction logging
over any web-based application. From our initial
presenEDxEpSeIrRiEmSe2n0ta2l1S–ea2rncdhInI ntefronrmataiotnioanl RCEontrfieerveanlcSeyosnteDmess,iSgenpotefmber tation of LogUI at BCS-IRSG ECIR 2021 [36], researchers
15–18, 2021, Padua, Italy have successfully used LogUI in several user studies (e.g.
" d.m.maxwell@tudelft.nl (D. Maxwell); c.hauf@tudelft.nl the study reported by Roy et al. [52]). We have acquired
(C. Hauf) feedback on how to improve the infrastructure further,
and are excited about many future development
chal© 2021 Copyright for this paper by its authors. Use permitted under Creative
CPWrEooUrckReshdoinpgs IhStpN:/c1e6u1r3-w-0s.o7r3g CCoEmmUoRns LWiceonsrekAstthribouptionP4r.0oIncteerenadtiionnagl s(CC(CBYE4U.0)R.-WS.org)
      </p>
      <sec id="sec-1-1">
        <title>Web-Based Interaction Logging</title>
      </sec>
      <sec id="sec-1-2">
        <title>Proxies/Extensions “Web 2.0” and Beyond</title>
        <p>
          MLogger [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]
UsaProxy [3,4]
Wrapper [25]
RUI [29]
        </p>
        <p>
          ALF [
          <xref ref-type="bibr" rid="ref61">13</xref>
          ]
Search-Logger [57]
        </p>
        <p>WHOSE [21] UXjs [58]</p>
        <p>Big Brother [54]</p>
        <p>YASBIL [6]
Li et al. [33]</p>
        <p>
          LogUI [36]
Observer XT [68]
2010
2020
lenges to extend its functionality. This paper discusses video recordings of participants interacting with the
systhese challenges—both past and future—along with an tem in question [19, 50], permitting researchers to replay
overview of existing interaction logging systems. LogUI interactions post-hoc [66]. Hoiem and Sullivan [
          <xref ref-type="bibr" rid="ref57">23</xref>
          ]
howis open source, includes detailed documentation, and is ever note several drawbacks to this approach: keeping
available for use at https://www.logui.net. pace with interactions was dificult—as was searching
through them. The Hawthorne efect [28] could also
inlfuence how participants used the system with observers
2. Interaction Logging History watching. Issues were compounded with the need to turn
around analyses in ever shorter time frames [11].
        </p>
        <p>
          Interaction logging software has a long history in com- These concerns led to the first generation of interaction
puting science literature, with pioneering implementa- logging systems, as shown in Figure 1 around the early
tions appearing long before the establishment of the 1990s. These were automatic in nature [56], whereby a
World Wide Web (WWW) [5] as the de facto commu- system not only supported the running of some system,
nications medium. Early discussions on the develop- but could also log the raw user events taking place—such
ment of interaction logging software date back as far as as key presses on a keyboard, or movement/clicks of a
the early 1990s [
          <xref ref-type="bibr" rid="ref57">23, 45</xref>
          ], when Graphical User Interfaces mouse (where used). In reference to their experiences
(GUIs) were becoming commonplace, with competitors of building such software, Philips and Dumas [45]
arcatching up to the benchmark of the classic Apple Macin- gued that interaction logging systems should: (i) allow
tosh System Software [67]. GUIs result in more complex researchers to determine exactly what to capture; (ii)
capinterface designs—and were increasingly modeless1 in na- ture and record so-called discrete events (such as when a
ture [
          <xref ref-type="bibr" rid="ref57">23</xref>
          ]. This section provides a high-level overview of session starts, or the press of a key); and (iii) be able to
adthe seminal attempts undertaken in this research area, equately code the event. These early recommendations—
leading up to the fully automated and web-based interac- along with those reported by other researchers—are used
tion logging solutions of today. as motivations for the functionality of LogUI.
        </p>
        <sec id="sec-1-2-1">
          <title>2.1. From Manual to Automatic</title>
          <p>
            Increasing interface complexity means that capturing
what users do becomes more of a challenge. Before
interaction logging software were established, the only
realistic way to perform usability testing [32] was for a
researcher to record a participant’s interactions with a
pen and paper [
            <xref ref-type="bibr" rid="ref57">23</xref>
            ]. This is known as manual
capturing [
            <xref ref-type="bibr" rid="ref11">10</xref>
            ]. Paper records were often supplemented with
          </p>
          <p>1Modeless interface designs contain a number of components
(e.g. dropdown menus, multiple windows, dialog boxes) instead
of more simplistic, procedural, state-based interfaces—which were
typically text-based.
The following decade saw a number of platform-specific
implementations. These captured a user’s interactions
with (sometimes specific) native applications running on
a platform—with solutions developed for MS-DOS,
Microsoft Windows, and Apple’s Mac OS X/macOS.</p>
          <p>
            In addition to the work by Philips and
Dumas [45], Hoiem and Sullivan [
            <xref ref-type="bibr" rid="ref57">23</xref>
            ] outlined their
implementation—an internal project developed at
MiThe blue box was
clicked.
          </p>
          <p>
            OK
crosoft.2 They discussed how their solution evolved over
a number of iterations. Separate work by Noldus [42]
reported on a MS-DOS solution that could capture and
save keyboard interactions to a plaintext file. Both
solutions were confusingly called Observer, with the latter
still in development today as Observer XT [68]. Observer
XT captures mouse and keyboard events, and has been
used by several researchers [14, 59, 63]. Other select
solutions include Datalogger [66], InputLogger [62],
Recording User Input (RUI) [29], and AppMonitor [
            <xref ref-type="bibr" rid="ref23">1</xref>
            ].
Aforementioned solutions recorded fine-grained, “raw” data [
            <xref ref-type="bibr" rid="ref57">23</xref>
            ]—
something that, without proper context (i.e. missing
identifying names like CLICK_SEARCH_BUTTON), is
highlighted as too detailed for researchers [
            <xref ref-type="bibr" rid="ref57">23, 45</xref>
            ].
          </p>
          <p>
            Towards the start of the noughties, researchers were
beginning to investigate how the Internet could be used
to send interaction logs from native applications to a
central server [22]. This client-server approach to logging
profoundly increased the volume of logs that could be
captured. Advancements were made possible thanks to
improving networking capabilities at the time [
            <xref ref-type="bibr" rid="ref17">44</xref>
            ].
interactions between users and webpages by binding one
or more EventListeners to DOM elements, which in
turn are triggered when a given interaction takes place—
as illustrated in Figure 2. Besides standard keyboard and
mouse events, new DOM events are frequently added to
support ever more diverse input means and device
functionalities. Examples include screen orientation and touch
events; web APIs also include viewport recording
capabilities, going full circle back towards aforementioned
2.3. The WWW and DOM video recordings of interactions [
            <xref ref-type="bibr" rid="ref23 ref57">1, 23</xref>
            ].
Despite clear advancements in web technologies
makThe noughties saw the rise of the WWW [5]. A number ing interaction logging possible, there are still many
nuof web-based interaction logging solutions have been anced diferences between browsers that trip up
developproposed over the years, with early solutions such as ers of such software. Events can be interpreted in
diferListener [
            <xref ref-type="bibr" rid="ref56">16</xref>
            ] and NIST -sponsored WebVIP [55] solutions ent ways; developers themselves can misunderstand (or
focusing more on navigation logs (what pages did a user simply miss!) key implementation details, such as the
subvisit?) rather than interaction logs (what did they do on tle diferences between mouseover and mouseenter
each page?). Vendors of web browsers now broadly follow events. Further challenges are outlined throughout §3.
web standards, as dictated by the W3C—although minor
diferences do exist between implementations (which 2.4. 2000s-Today: Web-Based Solutions
still cause issues for developers). Web browsers use now
ubiquitous technologies, such as HyperText Markup
Language (HTML), Cascading Style Sheets (CSS), and
clientside scripting (ECMAScript, or JavaScript). One such
technology that is core to how browsers interpret webpages
is the Document Object Model (DOM).
          </p>
          <p>
            The DOM, as outlined by Dogac et al. [12], is a
treelike, object-oriented Application Programming Interface
(API) that is is used by programs that interpret HTML
documents [34]. The tree-like structure is derived from
each document’s source, and DOM objects—called
elements—are linked together through inheritance. Each
element contains a number of properties, such as class
names. CSS selectors can be used to apply styling to
change the appearance of elements as rendered within
the browser’s viewport; JavaScript engines interpret code
that programmatically manipulates the DOM over the
lifespan of a webpage in the browser. Following the
event-driven programming paradigm, developers track
As WWW technologies began to mature, it became
feasible to run user experiments through a web browser. Early
web-based interaction logging solutions captured
interactions on a webpage through the approach outlined in §2.3,
but recording them was a challenge—asynchronous
approaches for connecting to a server (like AJAX ) were
not widely available until the mid-noughties. Instead,
an intermediary proxy server, sitting between the client
(hosting the user’s browser) and server (hosting the web
application) was used. The proxy server would inject
JavaScript into the webpage as it was served to the client,
with the first recorded example using this approach being
WebQuilt [24]. For many years, this was the preferable
solution—a user’s navigation history could be logged to
the same server (the proxy server), avoiding Cross-Site
Scripting (XSS) [49] issues. The seminal UsaProxy [3, 4]
then followed, this time using AJAX to record
interactions within a page. This approach was used in a number
of studies [
            <xref ref-type="bibr" rid="ref19">2, 8, 9, 30</xref>
            ]. Further proxy-based solutions
included PooDLE [7], RWELS [56], and YASFIIRE [65].
          </p>
          <p>
            Proxy-based solutions were preferred over the use of
2The project outlined by Hoiem and Sullivan [
            <xref ref-type="bibr" rid="ref57">23</xref>
            ] is one such
solution developed at Microsoft; a later project called MSTracker
was discussed by McGrenere [38].
          </p>
          <p>Client (Web Application)
4
5
3
browser extensions. Users would often be reluctant to
use these thanks to their historical reputation of being
vectors for malware delivery [60]. Despite this, notable
examples of solutions using this second approach include
Wrapper [25], Search Logger [57], and the Lemur Toolbar.</p>
          <p>
            The most recent phase of web-based interaction
logging software follows UsaProxy [3, 4] in making use of
so-called Web 2.0 [43] technologies, such as AJAX and
advancements in client-side scripting. Feature-rich APIs
and improved client-server connectivity eliminated the
need for proxy- and extension-based solutions. Examples
of these solutions include MLogger [
            <xref ref-type="bibr" rid="ref15">15</xref>
            ], WHOSE [21],
SurfLogger [20], and ALF [
            <xref ref-type="bibr" rid="ref61">13</xref>
            ]. However, the pace of
development is such that many of these solutions are now
themselves dated. This is compounded with source code
no longer being available for many.
          </p>
          <p>
            Nonetheless, further solutions have recently been
developed such as UXJs [58] and Big Brother [54]. These
solutions work well, but capture all events occurring on
a page without filtering, which may result in interaction
logs that are too “raw” [
            <xref ref-type="bibr" rid="ref57">23</xref>
            ]. YASBIL [6] and the solution
by Li et al. [33] are further recent examples, using
contemporary technologies within a browser extension to
record more longitudinal experimental data. As an
extension however, support depends on the browser being
used. Questions also remain over their ability to work
with client-side web applications that manipulate the
DOM extensively (even reworking the loaded DOM to
the point that it appears as if an entirely new page has
been loaded!)—such as those written with React.
          </p>
          <p>This concern is also present with commercially
available tools, such as Google Analytics, Hotjar, or Matomo.</p>
          <p>Indeed, Google Analytics is largely designed for the
capture of coarse-grained interactions, such as page viewing
history [48, 58] (as opposed to fine-grained interactions,
such as mouse clicks on a specific page). In addition,
Matomo requires elements one wishes to capture
interactions for to be given a specific class [58]. In essence,
one can argue that this increases coupling between the
logging infrastructure and apparatus.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>3. LogUI</title>
      <p>
        LogUI is designed to ofer a complete, end-to-end
solution for capturing and recording a user’s interactions
with a given web application. It abstracts many of the
complex design decisions to the point that researchers
and developers can simply embed LogUI into their
apparatus, and start using it. LogUI comes with both a client
and server, each with their own responsibilities. The
design decisions behind LogUI have been motivated from
both our experiences and the recommendations of other
researchers [
        <xref ref-type="bibr" rid="ref57">23, 45, 56</xref>
        ]. Note that circled numbers 1
refer to Figure 3 (illustrating the architecture); squared
letters A refer to Figure 4 (illustrating a log entry).
      </p>
      <sec id="sec-2-1">
        <title>3.1. Key Features of LogUI</title>
        <p>The fundamental principle of LogUI is that of less is more.</p>
        <p>
          From experience, we have found that if too much data
is captured, it can be overwhelming. Our principle here
(as opposed to other solutions like Big Brother [54] or
UXJs [58]) is to enable researchers to capture only what
they need (at the expense of greater complexity)—and
provide event context (through event coding [45]). As
previously mentioned, Hoiem and Sullivan [
          <xref ref-type="bibr" rid="ref57">23</xref>
          ] highlighted
this in the context of data being too “raw” —such that data
were so fine-grained that it were not immediately useful
for analysis. This problem (amongst others) is addressed
via a number of novel constructs within LogUI.
events. Existing solutions may record a number of
superlfuous, confusing intermediary scroll events, leading
to noisy (and potentially confusing) data.
        </p>
        <p>3The Binder binds events to a specific function within LogUI,
and does not interfere with EventListeners from elsewhere.</p>
        <p>Browser Events Contrasting to events which are
capConfiguration Object Central to our attempts of tured from interactions with DOM elements, LogUI also
tackling the above problem is the configuration object supports a number of so-called browser events. Not
per4 . This provides custom event coding functionality [45], taining to a specific element, events include the resizing
and is central to the LogUI client. The configuration ob- of the browser’s viewport, a gain/loss of focus to the
viewject is comprised of a series of rules which state exactly port window, and a change in the URL in the address bar.
what should be captured, and when. CSS selectors and More are detailed in the documentation.
CSS specificity rules are used to determine what
listeners are bound to what elements (e.g. 5 uses element 3.2. Architecture Overview
#box and the click event). Names are used for
bindings, so that eventual logs report these names for easy
identification of a logged event A .</p>
        <p>LogUI utilises the client-server architecture—with the
client responsible for capturing interaction data, and the
server currently responsible for receiving and storing it
Metadata One of the limitations of decoupling inter- for later access by researchers.
action logging software from the main experimental
apparatus is that researchers lose the ability to record the 3.2.1. LogUI Client
internal state of the said apparatus with captured events. The LogUI client can be used within any web-based
appliLogUI provides a solution to this problem with so-called cation, hosted on some web application server 1 . Built
metadata. Metadata is unique to the element being inter- in a highly modular way, the LogUI client uses the
conacted with, and can be appended to the captured event temporary Node.js JavaScript ecosystem to create a
with ease. As an example, C shows the value of an Browserified bundle. This bundle is then dropped into
input box, which represents query terms entered by a the target application via a &lt;script&gt; tag 2 .
user. We can derive data from a number of sources, such Source components of the LogUI client each have
as the corresponding DOM element’s attributes and/or its their own distinct responsibilities; a noteworthy example
properties, or even from the state and/or props of the un- is the Binder component, which automatically binds
derlying React component 7 (if React is used—support EventListeners to the elements in the DOM, as
sefor other frameworks can be added in the future). lected by researchers.3 The component has a bespoke
algorithm which parses the configuration object to work
Application-Specific Data Similar to metadata de- out what DOM elements should be targeted. In
addiifned above, we also provide researchers with the ability tion, it also uses the contemporary MutationObserver
to append application-specific data to all captured events. web API to listen for changes to the DOM, and
automatiThese data are global to the context in which a web-based cally appends listeners to new elements as necessary. As
application is run, and has been used for capturing data such, this one feature alone makes LogUI an ideal fit for
such as the user ID, group ID, and interface variant, as contemporary web frameworks like React—and as it
conshown by B . These data (as well as metadata) can then siders the DOM directly, it is also completely framework
be easily filtered post-hoc to report statistics, for example, agnostic. The client uses the principle of unobtrusive
capover a given experimental condition. ture [56]; LogUI functions silently, with users unaware
that it is recording their interactions.</p>
        <p>The LogUI client is controlled through a simple API
3 that provides functionality for researchers to start and
stop interaction logging as and when required (amongst
other functionality). The only requirement is for a
configuration object to be present 4 . When active, interactions
on DOM elements that were bound to 5 are interpreted
by the browser 6 and passed to the LogUI client.
Metadata and application-specific data are then appended to
captured events 7 if they are to be stored; the final result
is then sent to the LogUI server 8 .</p>
        <p>Event Groupings While researchers are free to use
whatever DOM events they wish (e.g. click), we also
provide a number of so-called event groupings. These
abstract from native, browser-level events—and
provide additional logic to remove much of the
complexity of reliably and accurately capturing certain events.</p>
        <p>For example, we have implemented a mousehover
grouping, which internally listens for mouseenter and
mouseleave events, and logs them separately.
Furthermore, a scrollable grouping listens for scroll events
on a page and/or element, reporting only start and end
3.2.2. LogUI Server
The LogUI server’s 8 primary purpose is to receive
incoming captured events from the LogUI client—after a
connection has been established (§3.2.3). LogUI server
has been fully containerised, meaning that a new instance
of the server can be easily started on any installation with
the correct version of Docker installed. Full
documentation is provided on how to do this.</p>
        <p>The server endpoint 9 accepts connections from
instances of the LogUI client, and stores incoming data in
backend data stores 10 . At present, we use an instance
of MongoDB to store data, where each log entry is stored
as a JSON object. We also include a worker process 11
within the containerised environment. This exposes a
web server hosting the LogUI control application (§3.4).</p>
        <p>This web server is only intended to be accessed by
researchers using the given instance of LogUI server. Both
the endpoint and worker processes use the Django
framework to provide the necessary infrastructure for fulfilling
requests. Like the LogUI client, the design of the server
is modular in nature—with specific responsibilities for
each component.
3.2.3. Client-Server Protocol
A
C
D</p>
        <p>B
Communications between the LogUI client and server LogUI produces interaction log files in JSON format; logs
are achieved via WebSockets [39] 12 to provide for a can easily be parsed by any analysis library that supports
full-duplex channel between them. This contemporary JSON, such as Pandas. Each recorded log entry
corresolution is preferable to AJAX-based implementations, sponds to a unique JSON object; details of this output are
as WebSockets are not subject to the Same Origin Pol- available as part of the LogUI documentation. Refer to
icy, meaning the LogUI server can reside elsewhere from Figure 4 for an example of a logged entry.
the page’s host. WebSockets also guarantee that data Of particular interest in the illustrated log entry
examwill arrive at the recipient in the order in which it was ple are the values for the applicationID, flightID,
sent—and with only one connection needing to be estab- and sessionID keys D . These denote to the concepts of
lished when the LogUI client starts, bandwidth and other an application, flight, and session, respectively. In LogUI
resource requirements are reduced [56]. parlance, an application is the representation of a single</p>
        <p>Sitting on top of the WebSocket connection is the web application (e.g. experimental apparatus). A flight
LogUI protocol; an application-specific series of rules to is a variant of an application; think of a user study with
enable the client and server to be able to understand one three conditions. In this case, the given application would
another. The protocol includes a handshaking routine, have three flights. Finally, a session is the grouping of
whereby the LogUI client sends an encrypted authorisa- a single user’s interactions, over one or more webpages
tion token which, when decrypted, provides information pages, examined in a single sitting. These key/value
pairabout the web application that the LogUI client is watch- ings are appended to every log entry, such that filtering
ing. This helps the LogUI server know who is connecting. by either of the three is trivial to achieve.
Connections are terminated by the server if the web
application is unrecognised. 3.4. LogUI Control Application</p>
        <p>The protocol also considers what happens when the
connection is lost. If this happens, the client will continue
to capture all events (and cache them). While doing so,
it will also attempt to reconnect to the server. When
reconnection is successful, the client will immediately
send its cache to the server (after the initial handshake).</p>
        <p>This process ensures that no loss of captured interaction
events result when temporary connectivity issues occur.</p>
        <p>LogUI also comes with an elementary control application
13 . This React-based application allows researchers to
login to an instance of LogUI server, and control various
aspects of the server 14 —such as creating applications
and flights, or viewing session details and authorisation
tokens. Further functionality includes the ability for
researchers to download complete logs for a given flight,
which can then be used in subsequent data analysis 15 .</p>
        <p>Fast Setup A total of three experimental systems have
been adapted to work with LogUI so far. In addition,
LogUI has also been integrated with Jupyter Notebooks
to capture interactions within its interface (such as
logging what cells are being interacted with). Researchers
who have used LogUI have highlighted the ease of being
able to get everything required up and running quickly
with their experimental system. This success has been
attributed to the the easy-to-follow documentation, which
has a step-by-step guide for setting up LogUI.</p>
        <p>Identified Dificulties Although researchers were
ultimately successful with integrating LogUI into their
apSince its initial release in March 2021, LogUI has been paratus, this was not however without its dificulties.
successfully used (to the best of our knowledge) in five Researchers at times struggled to figure out where to add
unique research projects, one of which is now pub- the necessary API 3 calls into their codebase to start
lished [52]. Each of the researchers who used LogUI LogUI. With SearchX being built with React, for
examrelayed feedback about their experiences in informal dis- ple, finding the correct points to start and stop LogUI
cussions. We now outline some of issues raised by the was crucial, and did require some efort to successfully
researchers, some of which are elaborated on in §5. achieve. This is a crucial point: as we advertise LogUI
to be decoupled, more can be done to enable it to work
without this (potential) requirement, which we discuss
more in §5. However, other approaches we took to
mitigate the efects of decoupling logging infrastructure from
the core experimental system—such as metadata—were
reported to be straightforward to use.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>5. Ideas/Remaining Challenges</title>
      <p>Despite the achievements in developing LogUI, a number
of non-trivial challenges remain that would add value
to the project as a whole. From researcher feedback or
discussions in the literature, we have identified a series
of challenges and potential ideas that we outline below.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Experiences of Using LogUI</title>
      <p>
        4According to caniuse.com, support for the
MutationObserver is high, at ~97%—but not quite 100%!
How would we cater for the 3% without support?
Integrating Experimental Systems with LogUI
One of the experimental systems integrated with LogUI is
SearchX [46], a large-scale, modular, open-source search
framework designed as the apparatus to be used in
highquality crowdsourced IIR-based user studies. Indeed, the Testing Infrastructure While the basic interaction
study reported by Roy et al. [52] used SearchX to provide logging capabilities of LogUI are functional, and it has
a straightforward SERP (consisting of ten blue links plus been demonstrated to work over diferent web browsers,
a small interface widget) to crowdsourced workers—with are all interactions being captured in the same way across
LogUI being used to record interactions by the work- each browser? We know that browser vendors can
interers within the said SERPs. Five distinct interfaces were pret standards in diferent ways, leading to slight
varitrialled, with each interface logged as part of a unique ations in how web applications look on diferent
platLogUI flight. Additional application-specific data were forms [53]. To examine this issue in more detail, we plan
supplied to LogUI, allowing for the recording of interac- to develop an extensive compatibility testing [
        <xref ref-type="bibr" rid="ref12">40</xref>
        ]
frametions alongside the unique userId B assigned by the work that automatically reports any diferences, allowing
crowdsourcing platform. A LogUI configuration object us to pinpoint our resources and work to ensure
interacbespoke to the SERP provided by SearchX ensured that tion logs are recorded consistently across browsers.
all required browser events were captured—with all
necessary metadata C captured (such as the issued query,
or the rank of a clicked document).
      </p>
      <p>
        Backwards Compatibility As we outlined above,
wide-ranging support a variety of web browsers and
platforms is cruicial for success of LogUI. While the
iniSuccess Stories Indeed, across all systems, re- tial focus of our eforts has been to ensure LogUI works
searchers have commented on the simplicity of defining with all major, contemporary web browsers, an instance of
what interactions to capture through the configuration LogUI attempting to run on an older browser (say,
withobject (§3.1). Of course, being well-versed in web tech- out support of the MutationObserver web API, §3.2.1)
nologies, we would imagine that this may be more of is inevitable as we gain traction.4 To address this
shorta hindrance for those less experienced. One researcher coming, we should invest time in developing LogUI to
has noted the ease with which their gathered logs could be cater for older browsers. Thanks to readily-available
be parsed—the lack of “fluf” (erroneous, or superfluous Polyfills in the JavaScript ecosystem, patching holes in
events) made the post-hoc script writing process for data what a browser supports should be straightforward.
analysis much quicker, and less error-prone. This is a
vindication of the less is more approach (§3.1), and also Improving Device Support Work also needs to be
of our event groupings which resulted in more compact undertaken to ensure that support is suficient for the
logs—especially with scrolling and mouse hover
interactions, two of the major obstacles we have experienced
when conducting user studies in the past [35].
increasing number of events associated with touchscreen nising video against captured events [
        <xref ref-type="bibr" rid="ref23 ref57">1, 23</xref>
        ], context
prodevices like smartphones (or other input devices). Exam- vided by a video stream of a user’s interactions will ofer
ples include multi-touch gestures (like ‘pinching’ on an insights as to why events took place [
        <xref ref-type="bibr" rid="ref23">1</xref>
        ]. The Screen
Capimage to shrink it or zoom out). Moving away from web- ture API (alluded to earlier) provides the functionality to
based applications, support for interaction event logging achieve this without additional software.
on native apps under Android or iOS would also be
beneifcial, and increase the potential number of use cases for
LogUI even further. A recent patent by Google
demonstrates a possible alternative view of interaction logging
without necessarily using a web browser [
        <xref ref-type="bibr" rid="ref4">41</xref>
        ]. Work
by Jeong et al. [
        <xref ref-type="bibr" rid="ref1">27</xref>
        ] discusses a framework for capturing
interactions on native Android apps. (Conversational)
assistants and other associated systems/devices—and how
one could potentially log interactions with these—should
also be considered as part of LogUI.
      </p>
      <p>
        Reducing Integration Barriers As discovered
by Hoiem and Sullivan [
        <xref ref-type="bibr" rid="ref57">23</xref>
        ], integrating logging software
requires considerable knowledge of the software your
code integrates into. This is still an issue with LogUI,
as highlighted in §4. Our objective is to reduce the
need for individuals to write code to integrate LogUI.
      </p>
      <p>
        A major stumbling block at present is the need for the
configuration object (§3.1), a necessary trade-of to
uphold the less is more principle. Taking this further,
GUI-based tools to generate this object may be useful
Analytics Dashboard One of our major goals with (as demonstrated by uBlock Origin [
        <xref ref-type="bibr" rid="ref16">37</xref>
        ]); or even storing
LogUI is to develop a functional and intuitive analytics configurations on the server, and sending the correct
dashboard to allow researchers to examine, filter, and configuration object for the page in question. An ideal
compare interaction logs from one flight against another, solution would be to develop this line (if indeed possible)
for example. Dashboards have been devised for simi- to the point where only a solitary &lt;script&gt; tag needs
lar projects in the past [
        <xref ref-type="bibr" rid="ref1">21, 27</xref>
        ]; our major challenge to be dropped into the application’s template.
here is how to design an analytics interface that caters Community Engagement With a number of
openfor any kind of interface layout, or even supports
interactions from diferent devices/systems. LogUI should not be source interaction logging solutions recently presented
constrained purely to IIR research; flexibility should be at conferences [6, 33, 36, 54], interaction logging is clearly
available, but not at the expense of adding complexity. an area of interest to other researchers. We have begun
From this, we could also provide functionality to auto- to work together to explore whether collaboration with
matically compute aggregated, segmented, or individual each other is possible, starting with the consideration of
measures [31]. A prototypical analytics interface has a common interaction log format—a format that could in
already been developed. The interface produces box- theory be used by any future pipeline for interaction log
plots that visualise the average time taken to perform analysis, be it through a GUI or API.
selected events (e.g. the time between the focus of a Privacy Concerns A further important point to raise
query box, and the submit event for a query to be is- is how we store data. By capturing user interactions,
sued). Feedback will be required from researchers to fully researchers would be subject to data privacy regulations
understand what can be manipulated and presented—at in their jurisdiction, such as the EU’s GDPR [64], or
Caliboth an aggregated and individual (per user) level. fornia’s CCPA [51]. We could also explore the potential
use of data pods, which would allow users to control use
and access to stored data. The Solid Project is an example
of how this could be realised in practice.
      </p>
      <p>Improving the LogUI Stack As part of developing
LogUI to provide a solution for providing analytics and
the visualisation of captured data, we will need to modify
the LogUI server-side stack to promote such analyses— 6. Conclusions
especially at scale. At present, the stack simply acquires
and stores interaction data for post-hoc download by re- In this paper, we have presented discussed LogUI, our
searchers. For future development, we may follow the new web-based interaction logging infrastructure. Based
path of the ELK stack, using Kibana, Logstash, and Elas- on the recommendations and observations of researchers
ticsearch to provide the necessary groundwork and func- who have developed similar systems, our implementation
tionality for data analysis. We must also consider the has been well-received by several researchers who have
scalability of any developed stack, both in terms of the successfully used LogUI for their experimentation since
number of users, plus the volume of data that must be its initial release in March 2021. Despite the positive
examined for any analysis to take place. feedback we have received, several exciting ideas for
future development have been discussed that will improve
Recording Viewports To complement the proposed the ofering that LogUI provides to potential end users.
changes above, recording the viewport of a user’s Our end goal for LogUI is to be a complete end-to-end
browser would also be desirable. While there are un- solution for interaction logging, all without the need for
doubtedly challenges to capturing, storing and synchro- researchers to write a line of (analysis) code.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>Research and development of LogUI has been supported
by NWO projects SearchX (639.022.722) and Aspasia
(015.013.027). Thanks to , Johanne, and
Nirmal for their much-appreciated proofreading eforts. We
would also like to thank our two anonymous reviewers
for their comments—especially those of reviewer two.
Your pointers greatly improved the clarity of this work,
and will hopefully lead to interesting discussions.
40 (4) (2004) 655–675.
[62] S. Trewin, InputLogger: General-purpose logging
of keyboard and mouse events on an Apple
Macintosh, Behavior Research Methods, Instruments, &amp;
Computers 30 (2) (1998) 327–331.
[63] A. van Drunen, E. L. van den Broek, A. J. Spink,
T. Hefelaar, Exploring workload and attention
measurements with uLog mouse data, Behavior
research methods 41 (3) (2009) 868–875.
[64] P. Voigt, A. Von dem Bussche, The EU general data
protection regulation (GDPR), A Practical Guide,
1st Ed. 10.
[65] X. Wei, Y. Zhang, J. Gwizdka, YASFIIRE: Yet
Another System for IIR Evaluation, in: Proc. 5th IIiX,
316–319, 2014.
[66] S. J. Westerman, S. Hambly, C. Alder, C. W.
WyattMillington, N. M. Shryane, C. M. Crawshaw, G. R. J.
Hockey, Investigating the human-computer
interface using the Datalogger, Behavior Research
Methods, Instruments, &amp; Computers 28 (4) (1996) 603–
606.
[67] G. Williams, Apple Macintosh computer., Byte 9 (2)
(1984) 30–31.
[68] P. H. Zimmerman, J. E. Bolhuis, A. Willemsen, E. S.</p>
      <p>Meyer, L. P. J. J. Noldus, The Observer XT: A tool for
the integration and synchronization of multimodal
signals, Behavior research methods 41 (3) (2009)
731–735.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>Record</source>
          <volume>27</volume>
          (
          <issue>4</issue>
          ) (
          <year>1998</year>
          )
          <fpage>25</fpage>
          -
          <lpage>31</lpage>
          . [13]
          <string-name>
            <given-names>M.</given-names>
            <surname>Doolan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Azzopardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Glassey</surname>
          </string-name>
          , ALF: A Client
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>actions in Web Applications</article-title>
          ,
          <source>in: Proc. 35th ACM</source>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>SIGIR</surname>
          </string-name>
          ,
          <volume>1003</volume>
          ,
          <year>2012</year>
          . [14]
          <string-name>
            <given-names>D. A.</given-names>
            <surname>Ducharme</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Arcand</surname>
          </string-name>
          , Using Noldus Observer
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <source>ods 41 (3)</source>
          (
          <year>2009</year>
          )
          <fpage>833</fpage>
          -
          <lpage>840</lpage>
          . [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Edmonds</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. W.</given-names>
            <surname>White</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Morris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Drucker</surname>
          </string-name>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Instrumenting the Dynamic Web</surname>
            ,
            <given-names>J. Web</given-names>
          </string-name>
          <string-name>
            <surname>Eng</surname>
          </string-name>
          .
          <volume>6</volume>
          (
          <issue>3</issue>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          (
          <year>2007</year>
          )
          <fpage>244</fpage>
          -
          <lpage>260</lpage>
          . [16]
          <string-name>
            <given-names>R. D.</given-names>
            <surname>Ellis</surname>
          </string-name>
          , T. B.
          <string-name>
            <surname>Jankowski</surname>
            ,
            <given-names>J. E.</given-names>
          </string-name>
          <string-name>
            <surname>Jasper</surname>
            ,
            <given-names>B. S.</given-names>
          </string-name>
          <string-name>
            <surname>Tharu-</surname>
          </string-name>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>search Methods</surname>
          </string-name>
          , Instruments, &amp; Computers
          <volume>30</volume>
          (
          <issue>4</issue>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          (
          <year>1998</year>
          )
          <fpage>573</fpage>
          -
          <lpage>582</lpage>
          . [17]
          <string-name>
            <given-names>P.</given-names>
            <surname>Fraternali</surname>
          </string-name>
          ,
          <article-title>Tools and approaches for developing</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>Computing</given-names>
            <surname>Surveys</surname>
          </string-name>
          (CSUR)
          <volume>31</volume>
          (
          <issue>3</issue>
          ) (
          <year>1999</year>
          )
          <fpage>227</fpage>
          -
          <lpage>263</lpage>
          . [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hall</surname>
          </string-name>
          , E. Toms,
          <article-title>Building a common framework</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <article-title>for IIR evaluation</article-title>
          ,
          <source>in: Proc. 4th CLEF</source>
          ,
          <fpage>17</fpage>
          -
          <lpage>28</lpage>
          ,
          <year>2013</year>
          . [19]
          <string-name>
            <surname>M. L. Hammontree</surname>
            ,
            <given-names>J. J.</given-names>
          </string-name>
          <string-name>
            <surname>Hendrickson</surname>
          </string-name>
          , B. W. Hens-
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <source>in: Proc. 10th ACM CHI</source>
          ,
          <volume>431</volume>
          -
          <fpage>432</fpage>
          ,
          <year>1992</year>
          . [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Alexander</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cockburn</surname>
          </string-name>
          , R. Lobb, AppMonitor:
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <volume>40</volume>
          (
          <issue>2</issue>
          ) (
          <year>2008</year>
          )
          <fpage>413</fpage>
          -
          <lpage>421</lpage>
          . [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Apaolaza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Harper</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jay</surname>
          </string-name>
          , Longitudinal Anal-
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Behaviours</surname>
          </string-name>
          , in
          <source>: Proc. 26th ACM HT</source>
          ,
          <volume>337</volume>
          -
          <fpage>340</fpage>
          ,
          <year>2015</year>
          . [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Atterer</surname>
          </string-name>
          ,
          <article-title>Logging usage of AJAX applications with</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <source>ging Traces of Web Activity, Proc. 15th WWW</source>
          ,
          <year>2006</year>
          . [4]
          <string-name>
            <given-names>R.</given-names>
            <surname>Atterer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wnuk</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          , Knowing the
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <source>in: Proc. 15th WWW</source>
          ,
          <fpage>203</fpage>
          -
          <lpage>212</lpage>
          ,
          <year>2006</year>
          . [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Cailliau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Luotonen</surname>
          </string-name>
          ,
          <string-name>
            <surname>H. F.</surname>
          </string-name>
          [20]
          <string-name>
            <given-names>J.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <article-title>SurfLogger: A logging browser and data pro-</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <source>ACM</source>
          <volume>37</volume>
          (
          <issue>8</issue>
          ) (
          <year>1994</year>
          )
          <fpage>76</fpage>
          -
          <lpage>82</lpage>
          . Computer in Psychology . [6]
          <string-name>
            <given-names>N.</given-names>
            <surname>Bhattacharya</surname>
          </string-name>
          , J. Gwizdka, YASBIL: Yet Another [21]
          <string-name>
            <given-names>D.</given-names>
            <surname>Hienert</surname>
          </string-name>
          , W. van Hoek,
          <string-name>
            <given-names>A.</given-names>
            <surname>Weber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kern</surname>
          </string-name>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <source>44th ACM SIGIR</source>
          ,
          <volume>2585</volume>
          -
          <fpage>2589</fpage>
          ,
          <year>2021</year>
          . IIR, in
          <source>: Proc. 37th ECIR</source>
          ,
          <fpage>172</fpage>
          -
          <lpage>183</lpage>
          ,
          <year>2015</year>
          . [7]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bierig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gwizdka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. J.</given-names>
            <surname>Cole</surname>
          </string-name>
          , A user-centered [22]
          <string-name>
            <surname>D. M. Hilbert</surname>
            ,
            <given-names>D. F.</given-names>
          </string-name>
          <string-name>
            <surname>Redmiles</surname>
          </string-name>
          , Agents for collecting
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <article-title>information retrieval</article-title>
          ,
          <source>in: Proc. 32nd ACM SIGIR, 2nd AGENTS</source>
          ,
          <fpage>149</fpage>
          -
          <lpage>156</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          8-
          <fpage>11</fpage>
          ,
          <year>2009</year>
          . [23]
          <string-name>
            <given-names>D. E.</given-names>
            <surname>Hoiem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. D.</given-names>
            <surname>Sullivan</surname>
          </string-name>
          , Designing and using [8]
          <string-name>
            <given-names>J.</given-names>
            <surname>Bigham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cavender</surname>
          </string-name>
          ,
          <article-title>Evaluating Existing Audio integrated data collection and analysis tools: chal-</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          <string-name>
            <given-names>Visual</given-names>
            <surname>Use</surname>
          </string-name>
          ,
          <source>in: Proc. 27th ACM CHI</source>
          ,
          <year>1829</year>
          -
          <fpage>1838</fpage>
          , tion
          <issue>Technology 13</issue>
          (
          <issue>1-2</issue>
          ) (
          <year>1994</year>
          )
          <fpage>160</fpage>
          -
          <lpage>170</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          <year>2009</year>
          . [24]
          <string-name>
            <given-names>J. I.</given-names>
            <surname>Hong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Landay</surname>
          </string-name>
          , WebQuilt: a framework for [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Bilal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gwizdka</surname>
          </string-name>
          ,
          <article-title>Children's eye-fixations on capturing and visualizing the web experience</article-title>
          , in:
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          <article-title>google search results</article-title>
          ,
          <source>Proc. ASIS&amp;</source>
          T
          <volume>53</volume>
          (
          <issue>1</issue>
          ) (
          <year>2016</year>
          <source>) Proc. 10th WWW</source>
          ,
          <fpage>717</fpage>
          -
          <lpage>724</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          1-
          <fpage>6</fpage>
          . [25]
          <string-name>
            <given-names>B. J.</given-names>
            <surname>Jansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ramadoss</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , N. Zang, Wrap[10]
          <string-name>
            <surname>M. D. Byrne</surname>
            , B. E. John,
            <given-names>N. S.</given-names>
          </string-name>
          <string-name>
            <surname>Wehrle</surname>
          </string-name>
          , D. C.
          <article-title>Crow, per: An Application for Evaluating Exploratory</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          <article-title>The tangled web we wove: A taskonomy of WWW Searching Outside of the Lab</article-title>
          ,
          <source>in: Proc. 29th ACM</source>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          use, in
          <source>: Proc. 17th ACM CHI</source>
          ,
          <volume>544</volume>
          -
          <fpage>551</fpage>
          ,
          <year>1999</year>
          . SIGIR,
          <year>2006</year>
          . [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Denning</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hoiem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Simpson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sullivan</surname>
          </string-name>
          , [26]
          <string-name>
            <given-names>M.</given-names>
            <surname>Jazayeri</surname>
          </string-name>
          ,
          <article-title>Some trends in web application devel-</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          <article-title>A case study at Microsoft Corporation</article-title>
          ,
          <source>in: Proc. IEEE</source>
          ,
          <fpage>199</fpage>
          -
          <lpage>213</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          <string-name>
            <given-names>Human</given-names>
            <surname>Factors Society Annual Meeting</surname>
          </string-name>
          , vol.
          <volume>34</volume>
          , [27]
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Jeong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. H.</given-names>
            <surname>Kim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. P.</given-names>
            <surname>In</surname>
          </string-name>
          , GUI information-
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          1285-
          <fpage>1289</fpage>
          ,
          <year>1990</year>
          .
          <article-title>based interaction logging and visualization for asyn[12]</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Dogac</surname>
          </string-name>
          , I. Durusoy,
          <string-name>
            <given-names>S.</given-names>
            <surname>Arpinar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Tatbul</surname>
          </string-name>
          , P. Kok- chronous usability testing,
          <source>Expert Systems with</source>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          <string-name>
            <surname>sal</surname>
            , I. Cingil,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Dimililer</surname>
          </string-name>
          ,
          <source>A workflow-based elec- Applications</source>
          <volume>151</volume>
          (
          <year>2020</year>
          )
          <fpage>113289</fpage>
          . [28]
          <string-name>
            <given-names>S. R. G.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <article-title>Was there a Hawthorne efect?</article-title>
          , Amer-
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          <source>ican J. of Sociology</source>
          <volume>98</volume>
          (
          <issue>3</issue>
          ) (
          <year>1992</year>
          )
          <fpage>451</fpage>
          -
          <lpage>468</lpage>
          . Software,
          <source>In Proc. Human Factors Society Annual</source>
          [29]
          <string-name>
            <given-names>U.</given-names>
            <surname>Kukreja</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. E.</given-names>
            <surname>Stevenson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. E.</given-names>
            <surname>Ritter</surname>
          </string-name>
          ,
          <source>RUI: Record- Meeting</source>
          <volume>34</volume>
          (
          <issue>4</issue>
          ) (
          <year>1990</year>
          )
          <fpage>295</fpage>
          -
          <lpage>299</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          <article-title>ing user input from interfaces under Windows and</article-title>
          [46]
          <string-name>
            <given-names>S. R.</given-names>
            <surname>Putra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Moraes</surname>
          </string-name>
          , C. Hauf, SearchX: Empower-
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          <string-name>
            <surname>Mac OS</surname>
            <given-names>X</given-names>
          </string-name>
          ,
          <source>Behavior Research Methods</source>
          <volume>38</volume>
          (
          <issue>4</issue>
          ) (
          <year>2006</year>
          )
          <article-title>ing collaborative search research</article-title>
          , in: The 41st ACM
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          656-
          <fpage>659</fpage>
          . SIGIR,
          <fpage>1265</fpage>
          -
          <lpage>1268</lpage>
          ,
          <year>2018</year>
          . [30]
          <string-name>
            <given-names>M.</given-names>
            <surname>Lassila</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Pääkkönen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Arvola</surname>
          </string-name>
          , J. Kekäläi- [47]
          <string-name>
            <given-names>G.</given-names>
            <surname>Renaud</surname>
          </string-name>
          , L. Azzopardi,
          <article-title>SCAMP: a tool for conduct-</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          <string-name>
            <given-names>Behaviour</given-names>
            <surname>Tracking Tool</surname>
          </string-name>
          , in
          <source>: Proc. 4th IIiX</source>
          ,
          <fpage>278</fpage>
          -
          <lpage>281</lpage>
          , in
          <source>: Proc. 4th IIiX</source>
          ,
          <fpage>286</fpage>
          -
          <lpage>289</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          <year>2012</year>
          . [48]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ripp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Falke</surname>
          </string-name>
          ,
          <article-title>Analyzing user behavior with</article-title>
          [31]
          <string-name>
            <given-names>F.</given-names>
            <surname>Lettner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Holzmann</surname>
          </string-name>
          ,
          <source>Automated and unsuper- Matomo in the online information system Grammis</source>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          <article-title>vised user interaction logging as basis for usability in:</article-title>
          <source>Proc. 18th EURALEX</source>
          ,
          <fpage>87</fpage>
          -
          <lpage>1000</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          <article-title>evaluation of mobile applications</article-title>
          ,
          <source>in: Proc. 10th</source>
          [49]
          <string-name>
            <given-names>G. E.</given-names>
            <surname>Rodríguez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. G.</given-names>
            <surname>Torres</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Flores</surname>
          </string-name>
          , D. E. Bena-
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          <string-name>
            <surname>MoMM</surname>
          </string-name>
          ,
          <fpage>118</fpage>
          -
          <lpage>127</lpage>
          ,
          <year>2012</year>
          . vides,
          <article-title>Cross-site scripting (XSS) attacks</article-title>
          and mitiga[32]
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Lewis</surname>
          </string-name>
          ,
          <article-title>Usability testing, Human factors &amp; er- tion: A survey</article-title>
          ,
          <source>Computer Networks 166.</source>
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          gonomics . [50]
          <string-name>
            <given-names>J.</given-names>
            <surname>Roschelle</surname>
          </string-name>
          , S. Goldman, VideoNoter: A productiv[33]
          <string-name>
            <given-names>H.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Lu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Huang</surname>
          </string-name>
          , W. Ma, M. Zhang, Y. Liu,
          <article-title>ity tool for video data analysis</article-title>
          ,
          <source>Behavior Research</source>
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          <string-name>
            <given-names>S.</given-names>
            <surname>Ma</surname>
          </string-name>
          ,
          <string-name>
            <surname>Privacy-Aware Remote Information Retrieval Methods</surname>
          </string-name>
          , Instruments, &amp; Computers
          <volume>23</volume>
          (
          <issue>2</issue>
          ) (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          <string-name>
            <given-names>User</given-names>
            <surname>Experiments Logging Tool</surname>
          </string-name>
          , in
          <source>: Proc. 44th ACM 219-224.</source>
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          <string-name>
            <surname>SIGIR</surname>
          </string-name>
          ,
          <fpage>2615</fpage>
          -
          <lpage>2619</lpage>
          ,
          <year>2021</year>
          . [51]
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Rothstein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Tovino</surname>
          </string-name>
          , California takes the [34]
          <string-name>
            <given-names>F.</given-names>
            <surname>Manola</surname>
          </string-name>
          ,
          <article-title>Towards a richer Web object model, lead on data privacy law</article-title>
          ,
          <source>Hastings Center Report</source>
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          <source>ACM SIGMOD 27 (1)</source>
          (
          <year>1998</year>
          )
          <fpage>76</fpage>
          -
          <lpage>80</lpage>
          . 49 (
          <issue>5</issue>
          ) (
          <year>2019</year>
          )
          <fpage>4</fpage>
          -
          <lpage>5</lpage>
          . [35]
          <string-name>
            <given-names>D.</given-names>
            <surname>Maxwell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Azzopardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Moshfeghi</surname>
          </string-name>
          , A study [52]
          <string-name>
            <given-names>N.</given-names>
            <surname>Roy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Câmara</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Maxwell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Hauf</surname>
          </string-name>
          , Incorpo-
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          <article-title>performance and user experience</article-title>
          ,
          <source>in: Proc. 40th Search Behaviour, in: Proc. 7th ACM ICTIR</source>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          <source>ACM SIGIR</source>
          ,
          <volume>135</volume>
          -
          <fpage>144</fpage>
          ,
          <year>2017</year>
          . [53]
          <string-name>
            <given-names>T.</given-names>
            <surname>Saar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kaljuve</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Semenenko</surname>
          </string-name>
          , [36]
          <string-name>
            <given-names>D.</given-names>
            <surname>Maxwell</surname>
          </string-name>
          , C. Hauf, LogUI: Contemporary Log-
          <article-title>Cross-browser testing in browserbite</article-title>
          ,
          <source>in: Proc. 14th</source>
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          <article-title>ging Infrastructure for Web-Based Experiments</article-title>
          , in: ICWE,
          <fpage>503</fpage>
          -
          <lpage>506</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          <source>Advances in IR (Proc. 43rd ECIR)</source>
          ,
          <fpage>525</fpage>
          -
          <lpage>530</lpage>
          ,
          <year>2021</year>
          . [54]
          <string-name>
            <given-names>H.</given-names>
            <surname>Scells</surname>
          </string-name>
          , Jimmy, G. Zuccon, Big Brother: A Drop-In [37]
          <string-name>
            <given-names>J.</given-names>
            <surname>Mazel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Garnier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Fukuda</surname>
          </string-name>
          ,
          <article-title>A comparison of Website Interaction Logging Service</article-title>
          ,
          <source>in: Proc. 44th</source>
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          <article-title>web privacy protection techniques</article-title>
          ,
          <source>Computer Com- ACM SIGIR</source>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          <source>munications 144</source>
          (
          <year>2019</year>
          )
          <fpage>162</fpage>
          -
          <lpage>174</lpage>
          . [55]
          <string-name>
            <given-names>J.</given-names>
            <surname>Scholtz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Laskowski</surname>
          </string-name>
          , L. Downey, Developing [38]
          <string-name>
            <surname>J. McGrenere</surname>
          </string-name>
          ,
          <article-title>The design and evaluation of mul- usability tools and techniques for designing and</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref50">
        <mixed-citation>
          <article-title>tiple interfaces: A solution for complex software, testing web sites</article-title>
          ,
          <source>in: Proc. 4th HFWeb</source>
          , vol.
          <volume>98</volume>
          ,
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref51">
        <mixed-citation>
          University of Toronto,
          <year>2002</year>
          .
          <year>1998</year>
          . [39]
          <string-name>
            <given-names>A.</given-names>
            <surname>Melnikov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Fette</surname>
          </string-name>
          , The WebSocket Protocol, RFC [56]
          <string-name>
            <given-names>I.</given-names>
            <surname>Shah</surname>
          </string-name>
          , L. Al Toaimy,
          <string-name>
            <given-names>M.</given-names>
            <surname>Jawed</surname>
          </string-name>
          , RWELS: A remote
        </mixed-citation>
      </ref>
      <ref id="ref52">
        <mixed-citation>
          6455,
          <year>2011</year>
          .
          <article-title>web event logging system</article-title>
          , J. King Saud University[40]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mesbah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. R.</given-names>
            <surname>Prasad</surname>
          </string-name>
          ,
          <source>Automated cross-browser Computer &amp; Information Sciences</source>
          <volume>20</volume>
          (
          <year>2008</year>
          )
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref53">
        <mixed-citation>
          <article-title>compatibility testing</article-title>
          ,
          <source>in: Proc. 33rd ICSE</source>
          ,
          <fpage>561</fpage>
          -
          <lpage>570</lpage>
          , [57]
          <string-name>
            <given-names>G.</given-names>
            <surname>Singer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Norbisrath</surname>
          </string-name>
          , E. Vainikko, H. Kikkas,
        </mixed-citation>
      </ref>
      <ref id="ref54">
        <mixed-citation>
          2011.
          <string-name>
            <given-names>D.</given-names>
            <surname>Lewandowski</surname>
          </string-name>
          , Search-Logger: Analyzing Ex[41]
          <string-name>
            <surname>A. K. Moshe</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          <string-name>
            <surname>Wu</surname>
          </string-name>
          , Dynamically Con- ploratory Search Tasks, in
          <source>: Proc. 26th ACM SAC,</source>
        </mixed-citation>
      </ref>
      <ref id="ref55">
        <mixed-citation>
          <string-name>
            <surname>ifgurable Client Application Activity</surname>
          </string-name>
          ,
          <source>U.S. Patent 751-756</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref56">
        <mixed-citation>
          <volume>16</volume>
          /564298,
          <year>September 2019</year>
          . [58]
          <string-name>
            <given-names>J.</given-names>
            <surname>Solís-Martínez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Espada</surname>
          </string-name>
          , R. González Crespo, [42]
          <string-name>
            <given-names>L. P. J. J.</given-names>
            <surname>Noldus</surname>
          </string-name>
          , The Observer:
          <article-title>a software system B</article-title>
          .
          <string-name>
            <surname>C. Pelayo G-Bustelo</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          <string-name>
            <surname>Cueva</surname>
            <given-names>Lovelle</given-names>
          </string-name>
          , UXJs:
        </mixed-citation>
      </ref>
      <ref id="ref57">
        <mixed-citation>
          <source>puters 23 (3)</source>
          (
          <year>1991</year>
          )
          <fpage>415</fpage>
          -
          <lpage>429</lpage>
          . 8 (
          <year>2020</year>
          )
          <fpage>43725</fpage>
          -
          <lpage>43735</lpage>
          . [43]
          <string-name>
            <surname>T. O'Reilly</surname>
          </string-name>
          ,
          <article-title>What is Web 2.0: Design patterns</article-title>
          and [59]
          <string-name>
            <given-names>R.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yuan</surname>
          </string-name>
          , The Preliminary Applica-
        </mixed-citation>
      </ref>
      <ref id="ref58">
        <mixed-citation>
          <article-title>business models for the next generation of software, tion of Observer XT (12.0) in a Pilot-Behavior Study,</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref59">
        <mixed-citation>
          <source>Communications &amp; strategies (1)</source>
          (
          <year>2007</year>
          )
          <article-title>17</article-title>
          . in
          <source>: Proc. 15th EPCE</source>
          ,
          <fpage>686</fpage>
          -
          <lpage>700</lpage>
          ,
          <year>2018</year>
          . [44]
          <string-name>
            <given-names>F.</given-names>
            <surname>Paternò</surname>
          </string-name>
          , G. Ballardin, RemUSINE: a bridge be- [60]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ter Louw</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Lim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. N.</given-names>
            <surname>Venkatakrishnan</surname>
          </string-name>
          , En-
        </mixed-citation>
      </ref>
      <ref id="ref60">
        <mixed-citation>
          <article-title>evaluators and users are distant, Interacting with tensions</article-title>
          ,
          <source>J. Computer Virology</source>
          <volume>4</volume>
          (
          <issue>3</issue>
          ) (
          <year>2008</year>
          )
          <fpage>179</fpage>
          -
          <lpage>195</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref61">
        <mixed-citation>
          <source>computers 13 (2)</source>
          (
          <year>2000</year>
          )
          <fpage>229</fpage>
          -
          <lpage>251</lpage>
          . [61]
          <string-name>
            <given-names>E.</given-names>
            <surname>Toms</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Freund</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Li</surname>
          </string-name>
          , WiIRE: the Web interac[45]
          <string-name>
            <given-names>B. H.</given-names>
            <surname>Philips</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Dumas</surname>
          </string-name>
          , Usability Testing:
          <article-title>Iden- tive information retrieval experimentation system</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>