Das alte Forum wurde schon vor längerem abgeschaltet - deshalb hier kurz die Eckdaten:
- Für das Mouse-Tracking ist i.d.R. eine JavaScript-Bibliothek erforderlich, welche die Mausposition aufzeichnet. Im Prinzip kann man das mit nur einer Zeile JavaScript erledigen, aber ich gehe davon aus (hoffe), dass die Tracking-Bibliotheken da noch ein wenig Datenbereinigung vornehmen. Sonst kommen sehr schnell sehr große Datenmengen zusammen.
- Solche JavaScript-Dateien kann man einfach über Bilder und Mediendateien ins Verzeichnis des Befragungsprojekts hochladen, um sie dann in den Fragebogen einzubinden.
- Zum Speichern der Daten kann man interne Variablen verwenden. Hier sind bis zu 32 KB erlaubt. Man muss dem Tracking-Script dann nur erklären, dass es seine Daten dort ablegen soll. Entweder kontinuierlich oder spätestens beim Absenden der Fragebogen-Seite.
Um es einmal zu verdeutlichen. Das folgende Script würde die Mausspur (bestehend aus X, Y [Pixel] und Zeit [ms]).
Ach ja ... das Script nimmt an, dass eine interne Variable IV01_01 auf die Seite gezogen wurde.
<script type="text/javascript">
var d0 = new Date();
var t0 = d0.getTime();
document.addEventListener("mousemove", function(evt) {
var pos = SoSciTools.getMousePos(evt);
var d1 = new Date();
var t1 = d1.getTime();
document.getElementById("IV01_01").value+= evt.x + "," + evt.y + "," + (d1 - d0) + ";";
});
</script>
Pro Datenpunkt sind das ca. 16 Byte. Es könnten also ca. 2000 Datenpunkte aufgezeichnet werden. Wenn man einmal quer über die Seite fährt, sind gleich mal 500 bis 1000 Datenpunkte beisammen. Für die praktische Anwendung wird man also z.B. die Auflösung auf max. 10 Messungen pro Sekunde beschränken müssen. Auch dazu gern ein Script - diesmal mit Speicherung der Datenpunkte im JSON-Format und Zehntelsekunden.
<script type="text/javascript">
var data;
try {
data = JSON.parse(document.getElementById("IV01_01").value);
} catch(e) {
var d0 = new Date();
data = {t0 : d0.getTime()};
}
document.addEventListener("mousemove", function(evt) {
var d1 = new Date();
var t1 = d1.getTime();
var ts = Math.floor((d1- data.t0) / 100);
var pos = SoSciTools.getMousePos(evt);
data[String(ts)] = [pos.x, pos.y];
document.getElementById("IV01_01").value = JSON.stringify(data);
});
</script>
Damit hätte man bei ca. 16-18 Byte pro Datenpunkt min. 1800 Datenpunkte, mithin min. 180 Sekunden aufgezeichnet. Aber das geht nur einmal pro Interview, denn die Gesamtspeichermenge pro Interview mit allen Antworten und Daten ist auf 64KB beschränkt. Wenn man mehr benötigt, muss man sich z.B. den Fragetyp "Dateiinhalte übertragen" ansehen und die Dateien einzeln herunterladen.
Klicks u.s.w. sind in den obigen Scripts noch nicht aufgezeichnet. Und im Idealfall findet (oder baut) man natürlich ein Script, welches gleich eine erste Auswertung vornimmt und nicht mehr alle Rohdaten speichert. Aber da kämen wir jetzt zu weit in die Auswertungsmöglichkeiten des Maus-Tracking, Zielvariablen etc.
Zusatztipp 1: Mit SoSciTools.getNodePos()
können Sie die Pixel-Abmessungen von HTML-Elementen auf der Seite bestimmen und z.B. auch in internen Variablen speichern. Denn zur Auswertung wird ja auch die Position der Elemente benötigt. Diese kann sich je nach Größe des Browserfensters verändern. Natürlich kann man auch gleich abspeichern, ob sich der Mauszeiger über einem best. Element befindet - und wie lange.
Zusatztipp 2: Das Ganze ist erstmal für die Position des Mauszeigers programmiert. Wenn Personen per Smartphone oder Tablet teilnehmen, benötigen Sie Touch- oder Pointer-Positionen. Da muss man dann aber ein wenig darauf aufpassen, welche Browser welche JavaScript-Events liefern.