OpenSesame is a graphical builder for psychological experiments. In this interview, Sebastiaan Mathôt, lead developer of OpenSesame, talks about the project, his motivations and the importance of openness in Science.
F4S: Hi Sebastiaan. Please, give us a brief introduction about yourself.
Right now I’m on a half year visit to the Université de Provence in Marseille. But headquarters is the department of cognitive psychology at the VU University in Amsterdam, where I work as a PhD student <http://www.cogsci.nl/smathot>. In a nutshell, my research has to do with eye movements and visual stability—The question of how we manage to construct a stable representation of our surroundings based on the chaotic visual input that reaches our brain. If all goes well, I’ll hand in my thesis later this year.
F4S: What is OpenSesame?
OpenSesame is a program that makes creating psychological/ neuroscientific experiments as easy as possible.
Psychological experiments are fairly stereotyped: Despite the diversity in the research questions that they address, most experiments have the same general structure. An experiment builder, such as OpenSesame, can exploit this by offering ready-to-use building blocks for many of the commonly used routines. But on the other hand, the experimenter needs to maintain sufficient flexibility to create any type of experiment that he or she might need. In OpenSesame, this tension between ease of use and flexibility is resolved by combining an extensive graphical interface, which facilitates the most common tasks, with Python scripting, which offers the user maximum freedom.
F4S: Why and when did OpenSesame come to be?
OpenSesame emerged more-or-less gradually. I initially built a custom set of Python modules, purely for my own research. This was maybe two years ago. My first attempt at building a graphical interface on top of these modules failed—I hadn’t thought the complexities through. After this, the project lay dormant for a while, until I came up with a better design. I created the first version of OpenSesame in a week long hackfest, and presented the results in a talk at the departmental colloquium. My colleagues were very enthusiastic, which inspired me to continue development.
At that time, all people in the lab were using proprietary tools for creating their experiments. Partly out of habit, I suppose. But part of the reason for using proprietary software was also that no free software offered the ease of use that people had come to expect. I set out to change this.
I was surprised how open and supportive everybody in the department was: Some of my colleagues started using OpenSesame themselves, some suggested it to their students. And one colleague (Daniel Schreij) is now an active part of the project. The department at the VU was a perfect testing ground for me, because I could see all the shortcomings of OpenSesame in a real-life setting. And fix them!
F4S: In which language(s) and platform(s) is the project developed?
OpenSesame is completely Python based. Qt4 is used for the interface. I guess these are pretty standard design choices, but I haven’t regretted them for a second!
F4S: Does OpenSesame have sponsors?
The main sponsors would be the VU University Amsterdam and the Dutch organization for scientific research (NWO). These are sponsors in the sense that they pay my salary, although OpenSesame is not part of my official research project. OpenSesame as a project doesn’t have any sponsors at the moment, although I might seek sponsorship in the future.
F4S: How many users you estimate OpenSesame have?
That’s a though one… How can you tell? The documentation website has something like 50 unique visitors a day. About a 100 (anonymous and non-unique) update checks are registered daily, which is done by default when OpenSesame starts. My best guess is that this translates to hundreds of active users. OpenSesame is also used as part of “programming for psychologists” / “research methods” type of courses. If you count the students that come into contact with OpenSesame via this route the number of users might be over a thousand.
F4S: Do you know where OpenSesame is used?
OpenSesame is used almost exclusive within academia, by experimental psychologists and neuroscientists.
OpenSesame could be useful in clinical settings as well. For example as part of a neuropsychological test battery, or for particular types of clinical treatments, such as EMDR (eye movement desensitization and reprocessing). But as far as I know, OpenSesame is not being used for these purposes at present.
F4S: How many team members does the project have?
I would say that Daniel Schreij and myself are the core members, although there is no official team. I personally handle the development of OpenSesame proper. Daniel develops a plug-in for playing video, helps with packaging, testing, documentation, etc.
But quite a few other people have contributed as well. Some contributions are substantial. For example, Edwin Dalmaijer has bundled OpenSesame together with Python portable, which is immensely useful for some purposes. The NeuroDebian team has helped with packaging OpenSesame for Debian-based Linux systems, and, indirectly, have helped me to organize things better.
Others have contributed in a smaller, but still very helpful ways. For example, Chris Longmore created the very nice “cat faces” video tutorial (see below) for his class. And, of course, users frequently point out bugs or offer suggestions for improvement.
F4S: In what areas of OpenSesame development do you currently need help?
All help is appreciated, but the main thing right now is to improve support for Mac OS. We have created Mac OS packages, but they do not work as well as we’d like. And, quite frankly, we lack the experience and expertise to improve on this in the near future.
Another way in which people can join in is by creating a plug-in. For example, if you use a particular type of eye tracker, you could write an OpenSesame plug-in for that eye tracker. That way, support for the eye tracker would integrate with the user interface and become available to all OpenSesame users!
F4S: How can people get involved with the project?
The preferred route of communication is through the forum <http://forum.cogsci.nl/>, because anyone can join the conversation there. People are free to E-mail me as well, of course, although I generally refer people to the forum for support questions. And GitHub users can find OpenSesame there to file bugs, fork the code, etc <https://github.com/smathot/OpenSesame/>.
I try to be as open as possible. All help is appreciated!
F4S: What features are in the roadmap?
Well, actually, I want to keep OpenSesame more-or-less as is for the near future. Development now focuses on bug fixes, stability, adding structure to the code-base, improving compliance to standards, and adding polish to the user interface.
But this doesn’t mean that no new functionality will be available to users! As I already mentioned, there is a plug-in framework. Support for things like external devices, specific types of stimuli, etc. can be added by anyone through plug-ins. Plug-ins integrate fully with the user interface. From a development perspective, separating plug-ins from the OpenSesame core makes the project that much more manageable. And it also makes it easier for others to contribute: Creating a plug-in is relatively easy and doesn’t require familiarity with the rest of the code.
F4S: Which projects, blogs or sites related to open source software for science can you recommend?
Well, for starters my own website
F4S: Why do you consider free/libre open source software important for the advancement of your field?
I think it’s mainly about freedom and independence. With proprietary software it’s often the case that people are held back because of licensing issues. For example, students often have to do their programming assignments on the university computers because they require E-Prime or MatLab. And sharing code for experiments or analyses is often problematic, because researchers use different (and exceedingly expensive) software packages.
Free software is also economical, because developments can be shared. As a case in point, PsychoPy <http://www.psychopy.org/> is a project that offers Python modules for creating all kinds of visual stimuli that are commonly used in psychological/ neuroscientific experiments. People can use PsychoPy from within OpenSesame, which means that I don’t have to reimplement all that functionality myself. This type of code sharing makes the whole scientific enterprise advance more quickly.
Is there any other topic you would like our readers to know about?
Yes! Freedom is important in all areas of research, not just for software. The proprietary versus open source distinction is paralleled in the distinction between commercial and open access models of academic publishing. It is my strong conviction that open access publishing is just as important as open source software. You can find out more about this in a recent blog post by the mathematician Tim Gowers and on my own website.
F4S: Where people can contact you and learn more about OpenSesame?
F4S: Thank you very much Sebastiaan for sharing your project with us.
Books that may interest you
No related posts.