3 Einführung in OpenSesame

In diesem Skript wird ein Überblick über den Hintergrund und die Anwendung von OpenSesame gegeben. Nach einem Überblick, was OpenSesame ist und wofür OpenSesame gut geeignet ist, werden zwei exemplarische Experimente erstellt, die die grundlegensten Eigenschaften von OpenSesame demonstrieren. Nach diesem Skript sollte das eigenständige Erstellen simpler Experimente möglich sein, sowie ein Ausgangspunkt für mögliche künftige Experimente gelegt sein. Es ist jedoch wie bei ziemlich jeden anderen Sache auch klar: eine Einführung kann immer nur eine Einführung sein. Für weitergehende Projekte muss man sich auf einen Prozess von Trial and Error einlassen. Das mag zwar anstrengend sein, bietet jedoch wesentlich mehr Lernpotenzial als ein bloßes befolgen von Tutorials.

3.1 Was ist OpenSesame?

OpenSesame ist eine auf der Programmiersprache Python basierte Open Source Software zur Erstellung psychologischer oder sozialwissenschaftlicher Experimente und wurde 2012 von Sebastiaan Mathôt veröffentlicht (Mathôt, Schreij, and Theeuwes 2012). Open Source bedeutet, dass die Software gratis ist (Open Access), sowie dass der Quellcode des Programms offen einsehbar und modifizierbar ist. Wie auf der Homepage der Entwickler (osdoc.cogsci.nl/) angegeben, sind weitere besondere Merkmale von OpenSeame:

1. Benutzerfreundliche Oberfläche:
Der wohl größte Vorteil von OpenSesame ist die grafische Nutzerober- fläche (engl. graphical user interface / GUI). Bis vor nicht allzu langerZeit mussten Forscherinnen und Forscher auch im Programmieren relativ trittsicher sein, wenn sie Experimente am PC durchführen wollten. Alles, was der Computer machen und anzeigen soll, muss(te) in einem Skript schriftlich definiert werden. Auch heute bevorzugen noch einige dieses skript-basierte vorgehen (bspw. mit Matlab, Python oder C; siehe Abbildung 1).

maxkonmin
Abbildung 1: Beispiel für ein Skript in Matlab.

Der Vorteil an einem skript-basierten Vorgehen ist die maximale Flexibilität: ein Experiment kann beinahe so komplex sein, wie es die Programmierfähigkeiten des Forschers bzw. der Forscherin zulassen. Der Nachteil ist jedoch, dass die Lernkurve beim Programmieren mitunter sehr steil sein kann, was durch die Tatsache, dass das Programmieren im Psychologiestudium gewöhnlich kein Lerninhalt ist, zusätzlich erschwert wird.

Simple Programme mit einer graphischen Nutzeroberfläche sind generell sehr viel leichter zu erlernen und bieten so einen schnellen Einstieg in die empirisch-experimentelle Forschung. Natürlich liegt auch GUI-basierten Programmen ein Code zugrunde. Mit diesem sind Nutzerinnen und Nutzer jedoch meist nicht direkt konfrontiert. Anweisungen, dass beispielsweise ein neuer Bildschirm präsentiert werden soll, funktionieren meist mit Drag-and-Drop vonseiten des oder der Bedienenden und das Programm fügt dann selbstständig einen für den PC interpretierbaren Code an die entsprechende Stelle (siehe Abbildung 2).

Grundsätzlich kann man sich ein GUI-basiertes Programm also als eine Sammlung visualisierter Code-Snippets vorstellen. Da zu viele Optionen die Übersichtlichkeit des Programmes einschränken könnten, ist die Anzahl der Möglichkeiten in einem GUI-basierten Programm, z.B. Reize darzustellen, beschränkt. Deshalb ist ein GUI-basiertes Programm auch relativ unflexibel im Vergleich zu skript-basierten Experimental- softwares.

OpenSesame umschifft dieses Problem, in dem es erlaubt, die relativ simple (und nicht im Rahmen dieses Tutorials angewendete) Programmiersprache Python zusätzlich zu den graphischen Elementen zu verwenden.

maxkonmin
Abbildung 2: Beispiel für einen simplen Aufbau eines OpenSesame Experiments. Am linken Rand sind die zur Verfügung stehenden Items zu sehen, die man via Drag-and-Drop an die gewünschte Stelle im Experiment zieht (siehe die Übersicht gleich rechts neben den Items). Man kann dann den gewünschten Text/Reiz etc. einfach mithilfe des textline-Elements an die gewünschte Stelle auf dem Bildschirm schreiben, in diesem Fall “Griaß di, servus!”. In OpenSesame kann man auch eine Ansicht wählen, in der man den zugrunde liegenden Code gemeinsam mit dem Resultat darstellen kann (dazu später mehr). In unserem Beispiel wäre der Bildschirm, den die Versuchspersonen sehen, ein schwarzer Bildschirm (das grüne Raster dient nur als Hilfe beim Erstellen, wird aber im Experiment nicht angezeigt) mit dem Text Griaß di, servus!“. Der zugrunde liegende Code, den OpenSesame zur Erstellung dieses Textes verwendet, wird darunter angezeigt.

2. OpenSesame basiert auf Python (3.2):13 Python ist eine verhältnismäßig leicht verständliche Programmiersprache. Das bedeutet, dass sogar Anfängerinnen und Anfänger durch das bloße Betrachten des Codes ungefähr nachvollziehen können, was der Code machen soll. Viele andere Programmiersprachen (z.B. Matlab) sind hingegen nicht von Anfang an so logisch nachvollziehbar. Python erfreut sich nicht nur deshalb großer und immer steigender Beliebtheit, sondern auch deshalb, weil es ebenfalls Open Source und daher für jede und jeden frei zugänglich ist.

Dadurch, dass OpenSesame in Python geschrieben ist, kann man auch direkt mit Python in ein OpenSesame Experiment eingreifen. Will man beispielsweise eine Darbietungsdauer, die zufällig aus einer Reihe von Zahlen gezogen wird, kann man das einfach mittels eines Inline-Skripts an der entsprechenden Stelle bewerkstelligen.

3. Maximal flexibel in der Anwendung: Egal, ob man ein klassisches Verhaltensexperiment (Reaktionszeiten und Fehlerraten) mittels Tastatur oder externer Response Box, Ratings, ein EEG-, MEG-, fMRT- oder Eyetracking-Experiment durchführen möchte, OpenSesame erlaubt es, alle diese Methoden zu verwenden. Dabei bleibt die Struktur eines Experiments auch weitgehend gleich, es müssen nur an den relevanten Stellen zusätzliche Items gezogen werden (etwa das Initialisieren eines Gerätes, Trigger, etc.). Dadurch, dass man mit Python Code einfügen kann, sind die Anwendungsgrenzen, wie beim skript-basierten Vorgehen, die eigenen Fähigkeiten.

4. Frei: OpenSesame ist, wie der Name impliziert, frei zugänglich, d.h., gratis. Die Forschung wird also egalitärer gemacht, da auch Einrichtungen mit weniger finanziellen Mitteln und Studierende ohne Zahlbarriere Forschung betreiben können, die den internationalen Standards der psychologischen Forschung entsprechen. Das wäre ohne die unzähligen und unbezahlten (!) Arbeitsstunden der Entwickler nicht möglich. OpenSesame bittet daher (nicht penetrant) auch um Unterstützung, sei es mit finanziellen Mitteln, oder mit Beiträgen. Durch die dennoch begrenzten Mittel kann auch kein professioneller Support angeboten werden, weshalb OpenSesame sehr community-basiert ist. Hilfestellungen werden auf kollegialer Basis im Forum, das unter der oben angeführten Adresse gefunden werden kann, geleistet.

5. Platformunabhängig: Und last, but certainly not least: OpenSesame kann auf den allermeisten Betriebssystemen (außer iOS und BSD) betrieben werden. Regelmäßige Updates werden für Windows, MacOS, Linux (Ubuntu und Debian) und Android angeboten. Ältere Versionen sind auch für Arch Linux zu finden. Es ist also egal, welches Betriebssystem verwendet wird, Experimente werden immer gleich erstellt und können auch mit Kollegen und Kolleginnen ausgetauscht werden, die ein anderes Betriebssystem verwenden. Durch den Android-Support sind auch Studien auf Tablets und Handys möglich. Web-basierte Experimente werden seit Neuestem ebenso unterstützt.

3.2 Wofür ist OpenSesame gut?

Nicht jedes Experiment muss auf einem PC präsentiert werden. Beispielsweise können in der Gedächtnisforschung auch lediglich Paper-Pencil Verfahren zum Einsatz kommen. Oft sind jedoch exakte Präsentationsdauern von Reizen notwendig oder Reize sollen randomisiert (d.h. in zufälliger Reihenfolge) präsentiert werden. In einem solchen Fall bietet sich ein computerbasiertes Experiment besonders gut an. OpenSesame kontrolliert alles, was für ein computerbasiertes Experiment notwendig ist: Es randomisiert Experimentaldurchgänge (sofern nicht anders eingestellt), es präsentiert die Reize auf dem Bildschirm, den Lautsprechern oder Kopfhörern, es registriert und speichert die Daten. Der letzte Punkt, das Speichern der Daten, ist besonders wichtig: Wir müssen OpenSesame sagen, dass es die Daten speichern soll. Das wird weiter unten näher erklärt, es sei an dieser Stelle jedoch schon die Relevanz dieses Punktes betont, da das beste Experiment letzten Endes für den knallroten Sack ist, wenn man die Daten nicht sichert (ist mir noch nie passiert… aber einem Freund… und so…). Nach einem erfolgreich erstellten und durchgeführten Experiment gibt uns OpenSesame nach jeder Versuchsperson eine .csv-Datei aus, die für die Analysen in R(Studio), JASP, Jamovi, SPSS usw. importiert werden kann.

Manche Experimente, wie oben beschrieben, müssen jedoch zeitlich und bzgl. der Reihenfolge nicht großartig kontrolliert sein (wobei das eher die Ausnahme als die Regel ist). Auch für Fragebogenstudien ist OpenSesame zwar prinzipiell geeignet, letztlich jedoch nicht besser als bspw. Limesurvey.

3.3 Ausblick

Im Folgenden wird der grobe Aufbau von OpenSesame erklärt, sowie einige der wichtigsten zur Verfügung stehenden Items. Die Installation wird nicht eigens erwähnt, da diese für Windows und MacOS wie für alle anderen Programme erfolgt. Auch für Linux-Distributionen wird auf der Homepage von OpenSesame ein Installationsleitfaden zur Verfügung gestellt. Es ist ratsam, OpenSesame vor dem Weiterlesen zu installieren.


  1. Achtung: momentan stehen zwei Versionen von OpenSesame zum Download zur Verfügung. Achten Sie ganz besonders darauf, dass Sie sich eine OpenSesame Version ≥ 3.3 herunterladen! OpenSesame Versionen mit der Versionsnummer 3.2… basieren noch auf Python 2.7, einer Version von Python, die nicht mehr betreut und aktualisiert wird. Daher werden OpenSesame Versionen, die auf dieser Python Version basieren über kurz oder lang nicht mehr aktualisiert und verbessert.↩︎