A tool for logging user actions on the client side.

Institution: Slovak University of Technology
Technologies used: JavaScript, Ajax, SOAP
Inputs: user input in form of performed actions
Outputs: Log of user actions sent to server
Documentation: HTML, doc

Addressed Problems

Server side monitoring mainly tracks user requests for resources. Its main drawback is that it cannot collect data on some types of user interactions (e.g., form element interactions) and does not provide precise time-related data.

Web browsers usually do not redemand already visited pages from the server, but instead use the copy stored in the local cache. Thus, the system has no knowledge about the exact time the user spent by viewing a certain page. Many of the most widespread web browsers do not respect the cache-control directives of HTTP protocol forbidding the use of the local cache, so these cannot be used to bypass the cache problem.


Click uses the JavaScript’s native access to the HTML document object model (DOM) to capture (possibly) any type of event fired by the web browser. It uses the W3C DOM2 Event Standard and dynamically hooked Event listeners. This allows for easy integration of the tool with existing HTML pages.

We capture the load and unload events as well as mouse click, mouseover and mouseout. For each event, we record the exact time when the event was fired thus when the action was performed and additional information e.g., what link was followed.

Communication with the server is performed asynchronously using an Xml-HTTPRequest object – the core of the AJAX technology. The server side of the logging system can be considered a separate tool, which accepts the events created by Click via a SOAP web service interface. To invoke a web service method from the Javascript environment we use the library provided by IBM (Call SOAP Web services with Ajax,


  1. M. Barla: Interception of User's Interests on the Web. In V. Wade, H. Ashman, and B. Smyth, editors, 4th Int. Conf. on Adaptive Hypermedia and Adaptive Web-Based Systems, AH'06, pages 435-439, Dublin, Ireland, 2006, Springer, LNCS 4018