System architecture
(smt) system architecture is simple, as follows:
(smt) system architecture. Image by Luis Leiva. Icons by crystalXP.
When a user (1) visits a monitored Web page, the server (2) adds the mouse tracking tool in background. Data are sent asynchronously back to the server (3) where they are processed and stored (4). A copy of the browsed page is cached (5) as well as the tracking data (6) for later studies.
old version: (smt)v.1
The application was basically divided in two stages: the recording stage and the visualization stage. In the first one, an application in the client browser is executed (a single Javascript file) and an application in the server (a PHP file) processes the data. Both archives are running in a transparent way for the user. The core of (smt) for real time recording and visualization lies in the registration of mouse coordinates at time-regular intervals, measured in frames per second.
In order to visualize the results, a Javascript file is used, which also makes use of the High Performance Javascript Vector Graphics Library, developed by Walter Zorn in 2006. As working with vector graphics, this visualization tool comprises a minimum downloading time, since the only data to be downloaded is the same web page that was visited by the user along with his mouse movements.
new version: (smt)2.0
This system is more complex and has some differences with the previous (smt) version.
- The tracking data is stored in a MySQL database at regular time intervals, so the logs can be downloaded in a wide variety of text formats (not only XML, but CSV, TXT, ODS...).
- HTML logs are cached, so the one-log-per-user feature is not needed any more.
- The visualization module has two drawing APIs: the old (but revised) JavaScript one —suitable for non-Flash browsers— and a brand new SWF drawing API. This new visualization API is much more interactive and user friendly than the old one.
- This version comes with a powerful Content Management System, written totally from scratch. It mimetizes some WordPress features, so the learning curve is supposed to be very soft.