QPR TaskRecorder

From QPR ProcessAnalyzer Wiki
Revision as of 17:14, 6 February 2022 by Ollvihe (talk | contribs)
Jump to navigation Jump to search

QPR TaskRecorder is a desktop application, that records actions done by the user when interacting with the user interface. The actions can be for example mouse clicks, key presses, UI elements focusing, button clicks, element selections and text input. QPR TaskRecorder collects a log of UI events to a CSV file, which can be uploaded to QPR ProcessAnalyzer for further analysis.

QPR TaskRecorder is an essential software tool part of task mining, which is a methodology with several technologies to collect and analyze actions done by users when executing business processes. Traditional process mining is able to use data stored to different information systems, which in many cases is not enough to analyze all aspects of the business process. This is because some business processes don't use information systems at all, but the process are based on for example Excel documents or emails. In addition, event though information systems are used, they may not record time used for the entire user tasks from start to end, which limits what kind of analytical findings are possible.

QPR TaskRecorder is able to collect also those activities that the traditional process mining cannot record, and give more complete picture of the business process. In practice, the events collected by the QPR TaskRecorder can complement the existing process mining models by adding more detailed types of events or giving additional metadata for the existing events.

QPR TaskRecorder installation

QPR TaskRecorder is a desktop application that can be run in Windows operating systems. First of all, check that the system requirements for QPR TaskRecorder are fulfilled.

QPR TaskRecorder can be installed as follows:

  1. Download the QPR TaskRecorder in the downloads page.
  2. Extract the zip package to a suitable location, for example: C:\Program Files\QPR TaskRecorder.
  3. Configure the QPR TaskRecorder configuration file, as instructed in the . This step is optional, as QPR TaskRecorder works with the default settings.
  4. You are ready to start using QPR TaskRecorder!.

QPR TaskRecorder configuration

QPR TaskRecorder has configuration file appsettings.json containing the following settings:

  • OutputFile: The CSV file containing the recorded events. If the setting is not defined, the CSV file is created in the user's own Documents folder.
  • LogFile: Application log file of QPR TaskRecorder. When set, the application logging is enabled. When not set, no application logging is done.

Using QPR TaskRecorder

QPR TaskRecorder is started by double clicking the TaskRecorder.exe file.

The main dialog of QPR TaskRecorder contains a table of all currently open applications. You can choose which applications are recorded by clicking the checkboxes next to the application name. Each application is listed only ones, and when enabled, all running instances of the application are recorded. E.g. there may several Word files open at the same time and all are recorded.

When open, QPR TaskRecorder is all the time active and records the selected applications. If there is an error situation, e.g., the CSV file is reserved by another application, the Status field shows the situation.

User can add manual annotations during the task recording to help analyzing the recorded UI events log. Annotations are added by writing a text for the annotation in the Annotation textbox and clicking the Save annotation button.

Recording is stopped by closing QPR TaskRecorder in the Close button in the top right.

Recorded UI events

QPR TaskRecorder is able to record the following types of UI events:

Column name Description
FOCUS_ENTER Event is recorded for the new focused control when focus changes.
FOCUS_LEAVE Event is recorded for the previously focused control when focus changes.
WM_LBUTTONDOWN Event is recorded when the left mouse button goes down.
WM_LBUTTONUP Event is recorded when the left mouse button goes up.
WM_RBUTTONDOWN Event is recorded when the right mouse button goes down.
WM_RBUTTONUP Event is recorded when the right mouse button goes up.
WM_KEYDOWN Event is recorded when user presses a key on the keyboard. If the focused control is a password control, these types of events are not recorded.
USER_ANNOTATION User annotation event occurs when user creates an annotation event using the QPR TaskRecorder user interface.
CONFIGURATION Configuration change event occurs when user changes the recorded applications.

Recorded tasks CSV

User actions are recorded to a CSV file, that is stored in the user's Documents folder by default, when no other location is set. Otherwise the CSV file is stored to the specified location. The default name (when no other name is specified) of the CSV file is taskrecorder.csv. The CSV file can be uploaded to QPR ProcessAnalyzer for analysis using the CSV file import.

The CSV file has the following columns:

Column name Description
TimeStamp The precise time of the UI event. Note that the user workstation clock is used, so this timestamp relies on the preciseness of the workstation clock. This information is stored for all types of events.
UserName GUID identifying the user performing the tasks. GUID is used instead of real user name to anonymize the real person. QPR TaskRecorder generates this GUID if it hasn't previously been generated for the QPR TaskRecorder installation. This information is stored for all types of events.
SessionId GUID identifying the recording session, which starts when QPR TaskRecorder is started and ends when QPR TaskRecorder is closed. This information is stored for all types of events.
EventType Type of the UI event, which can be one of the following:
  • FOCUS_ENTER: UI control gets focus.
  • FOCUS_LEAVE: UI control leaves focus.
  • WM_LBUTTONDOWN: Left mouse button is pressed down.
  • WM_LBUTTONUP: Left mouse button is released.
  • WM_RBUTTONDOWN: Left mouse button is pressed down.
  • WM_RBUTTONUP: Left mouse button is released.
  • WM_KEYDOWN: Key on the keyboard is pressed.
  • USER_ANNOTATION: User creates an annotation in the QPR TaskRecorder user interface.
  • CONFIGURATION: User changes the QPR TaskRecorder settings.

This information is stored for all types of events.

MouseX For the mouse events, horizontal position of the mouse cursor, i.e. distance from the left border of the screen.
MouseY For the mouse events, vertical position of the mouse cursor, i.e. distance from the top border of the screen.
KeyCode For the WM_KEYDOWN events, the key code of the pressed key.
Key For the WM_KEYDOWN events, the virtual key code of the pressed key. More information about the virtual key codes: https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes.
ModifierKeys For the WM_KEYDOWN events, the modifier keys pressed at the time of the key press (shift, ctrl, alt, windows).
ProcessName Name of the application (executable file name).
ClassName Class of the UI control.
ControlType Type of the UI control.
Name Name of the UI control.
Value Value or text of the UI control.
LabelName Name of the UI control label.
ElementX Horizontal position of the interacted UI control, i.e. distance between the left border of the UI control from the left border of the screen.
ElementY Vertical position of the interacted UI control, i.e. distance between the top border of the UI control from the top border of the screen.
ElementWidth Width of the interacted UI control.
ElementHeight Height of the interacted UI control.
ElementHierarchy UI control hierarchy of the recorded application at the time the UI event is recorded. The value is stored as JSON.

Anonymized user id

User performing the tasks is identified by an anonymized user id, so from the task log the actual person cannot be identified. By default QPR TaskRecorder uses previously created user id. If a user id does not exist, a new id is created and saved to the Windows user settings. GUID is used as the user id.

QPR TaskRecorder file log

QPR TaskRecorder writes a file log of its operation. The file log contains information about QPR TaskRecorder application functionality and application errors. Note that the file log is a different file than the recorded UI events CSV file. The location of the file log file is set in the QPR TaskRecorder configuration file. If the location is not set, no logging is done.