InspectorWidget is an opensource suite to track and analyze users behaviors in their applications.
The key contributions of InspectorWidget are:
- it works on closed applications that do not provide source code nor scripting capabilities;
- it covers the whole pipeline of software analysis from logging input events to visual statistics through browsing and programmable annotation;
- it allows post-recording logging; and 4) it does not require programming skills. To achieve this, InspectorWidget combines low-level event logging (e.g. mouse and keyboard events) and high-level screen features (e.g. interface widgets) captured though computer vision techniques.
InspectorWidget is targeted at end users, usability experts, user experience and HCI researchers.
InspectorWidget is composed of three tools:
- Collector: Record (screen), Log (input events)
- Iterator: Browse (screen + input events), Program (annotations), Analyze (workflows)
- Processor: Automate (annotations)
The Iterator tool is a web-based application for browsing the recordings of screen and input events, programming annotations and analyzing workflows.
It is based on:
- dc-js / dc.js: a library for multi-dimensional charting
- google / blockly: a library for visual programming implementing Scratch
- ina-foss / amalia.js: a library for browsing spatial/temporal annotations synchronized with video playback
- mbostock / d3: a library for information visualization
- square / crossfilter: a library for fast n-dimensional filtering and grouping of records
First clone the repository. Then open a terminal in the source directory:
- prepare front-end packages with bower:
bower install
- install node.js dependencies with npm:
npm install
- compile JavaScript dependencies with grunt:
grunt
- prepare the JavaScript code:
npm run browserify
- start the Electron app:
npm start
InspectorWidget Iterator is released under the terms of the GPLv3 license.
- Christian Frisson (initially University of Mons, now Inria Lille Nord-Europe): creator and main developer
- Gilles Bailly (LTCI, CNRS, Télécom-ParisTech): contributor
- Sylvain Malacria (Inria Lille Nord-Europe): contributor