0 votes
in SoSci Survey (dt.) by s306141 (110 points)

Guten Tag

In einem Projekt arbeiten wir mit Zeitbeschränkungen, bzw. einer Zeitverzögerung auf unterschiedlichen Seiten. Die Verzögerung soll die Befragten genau 5 Minuten auf dieser Seite lassen. Wir haben zwei solcher Seiten und arbeiten mit einem Timer (Automatisch weiter zur nächsten Seite).
Während die Zeitbeschränkung auf gewissen Endgeräten klappt, haben wir nun von den Befragten die Rückmeldung erhalten, dass der Timer bei einigen Endgeräten länger dauert, bzw. die nächste Seite viel später angezeigt wird (wir erheben in Schulen und bei einigen Schüler:innen kam der Timer erst viel später als bei anderen). Gibt es konkrete Hinweise, die wir den Befragten geben können beim Ausfüllen des Fragebogens (z.B. Seite refreshen oder nicht, Seite offen lassen, Standby-Modus des Geräts - bei Tablets, wenn der Bildschirm dunkel wird). Leider ist es mir nicht möglich, alle Endgeräte zu erproben, da die Befragten eigene Geräte einsetzen. Vielleicht haben Sie aber Erfahrungen, die Sie mir uns teilen könnten, was bei Timern zu beachten ist.

Besten Dank für die Hilfe und Tipps!

1 Answer

0 votes
by SoSci Survey (330k points)

Es gibt zwei wichtige Ansatzpunkte.

Zum einen das Neu-Laden der Seite. Wenn man den Timer mit PHP koppelt, kann man dafür sorgen, dass das Neu-Laden keinen Einfluss hat.

Zum anderen das Verhalten des Browsers, wenn eine Seite keinen Input bekommt oder in den Hintergrund geschaltet wird (weil man parallel eine andere Seite öffnet), oder wenn das Display dunkel schaltet. Da kann es durchaus passieren, dass Browser einen Timer "herunterregeln" und bei der Rückkehr zum Tab die Seite evtl. sogar neu lädt.

Ein möglicher Workaround könnte darin bestehen, dass man die Seite automatisiert alle 30 Sekunden neu lädt. Dann kann sich der Timer mit dem Server synchronisieren (s. PHP oben) und die Abweichung dürfte deutlich geringer ausfallen. Natürlich ist das nu eine Option, wenn das Neu-Laden die Wirkung des Stimulus nicht beeinträchtigt.

Und ja, vermutlich wäre es auch hilfreich, wenn die Seite offen/im Vordergrund bleibt und das Display nicht abschaltet.

by s306141 (110 points)
Besten Dank für die ausführliche Antwort! Da der Stimulus nicht aus SoSci Survey stammt, bzw. der Timer als "Wartezeit" eingefügt ist, klingt der vorgeschlagene Workaround mit dem regelmässigen Neuladen der Seite gut.
Den Timer haben wir mittels PHP eingefügt und mit HTML die Weiterleitung auf die nächste Seite eingerichtet (siehe Code unten). Wo und wie kann ich den Workaround mit dem regelmässigen Neuladen der Seite in den Code einbauen?

if (!isset($time0)) {
  $time0 = time();
  registerVariable($time0);  // Die Variable $time0 auch nach Ende des PHP-Codes aufbewahren
}
// Prüfung, ob die Zeit schon abgelaufen ist
// (z.B. weil der Teilnehmer die Seite neu geladen hat)
$timer = 300;  // 5 Minuten (300 Sekunden) wird Stoppseite angezeigt
if (time() >= $time0 + $timer) {
  goToPage('next');
}
// Die verbleibende Zeit muss auch dem JavaScript-Code bekannt gemacht werden
$remain = $time0 + $timer - time();
replace('%remain%', $remain);

<script type="text/javascript">
<!--
 
// Funktion zur Weiterleitung
function weiter() {
  // Eine Meldung anzeigen (optional)
  alert("Zeit für die zweite Runde!");
  // Den Teilnehmer zur nächsten Seite weiterleiten
  SoSciTools.submitPage();
}
 
// Weiter-Knopf ausblenden (optional)
SoSciTools.submitButtonsHide();
 
// Initialisierung der Weiterleitung
SoSciTools.attachEvent(window, "load", function(evt) {
  // Timer für automatische Weiterleitung starten
  window.setTimeout(weiter, %remain% * 1000);
});
 
// -->
</script>
by SoSci Survey (330k points)
> Wo und wie kann ich den Workaround mit dem regelmässigen Neuladen der Seite in den Code einbauen?

Eine Möglichkeit wäre, dass Sie ein setNextPage() verwenden, welches dafür sorgt, dass nach dem Abschicken der Seite dieselbe Seite erneut geladen wird. Sie würden dann im Script nicht mehr nach Ablauf der Zeit die weiter() aufrufen, sondern alle 10 oder 20 Sekunden (oder früher, wenn der Timer vorher abläuft).

Und Ihr PHP-Filter sorgt dafür, dass es nach Ablauf des Timer eben doch weiter geht.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...