# Free software to run questionnaire based experiments

I am looking for free software to build experiments that do not heavily rely on accurate timing (where I use PsychoPy and heard a lot of good things about OpenSesame) but more on an easy way to implement different types of items and response options.

That is, for example, an experiment which starts in presenting some texts to the participants, then some questions contingent on this text and on what participants entered before (potentially more than one question per page with different response options) followed by some standard questionnaires. How would you implement such a study?

### Background and motivation

I used to do such things using MediaLab which unfortunately is proprietary software. However, implementing items and questionnaires was easy. You could program a simple html page (even using variables and placeholders) using html forms and MediaLab would present this page using ie engine in fullscreen and collect the responses. Those responses could then be used or handed over to DirectRT for response time experiments.

Currently I am using PsychoPy to control the screen and data collection and code all questionnaires and such stuff per hand using wxPython. It works, but designing questionnairs in wxPython is a lot less handy and more difficult than programming html pages with html forms and definitely nothing for people not too profficient in coding.

Any ideas or hints would be really appreciated.

Note that I read "What's the best program for creating computer based psychology experiments under OS X?", but my question concerns specific implementations. Furthermore, I work on Windows 7.

-
Does the software need to be able to run on the Internet? –  Jeromy Anglim Apr 11 '12 at 23:23
How important is free? There are online survey providers (e.g., surveymonkey, questionpro, and many more) that support sophisticated questionnaire delivery (e.g., conditional logic, branching, etc.). Such sites typically have some low-cost options and even a limited free option. –  Jeromy Anglim Apr 12 '12 at 0:45
@JeromyAnglim I really prefer free and especially non-pure web based as I intend to use it in combination with other approaches like PsychoPy. –  Henrik Apr 12 '12 at 6:54

It sounds like you're looking for a platform on which to implement computerized adaptive tests (since subsequent questions are contingent on prior responses).

I found Concerto, which is based in R and MySQL, but allows some flexibility in presentation (it says it uses HTML directly, but you could probably couple it with another language).

-
Looks interesting. Do you know if it is possible to have more than one item displayed onscreen? Furthermore, do you have an idea how to run it in a kind of controlled environment so that users cannot close the browser (better, there is no browser window) and need to perform the test? –  Henrik Apr 12 '12 at 7:07
@Henrik I have never used it. What do you mean by having more than one item on screen? Multiple questions, or something like multiple visual tests at once? I suppose you could put your own front end on it, or run a browser full screen, with the capability to diminish it disabled through the Windows Registry. I saw the package more for its ability to do CAT and didn't study the UI elements. –  Chuck Sherrington Apr 12 '12 at 7:15
Regarding your first question I mean multiple questions. And I am really interested in a as much as possible out-of-the-box front end for displaying questionaires within an experimental session on screen with maximum control of what the user is allowed to do and minimum programming hassle. –  Henrik Apr 12 '12 at 9:47
maximum control of what the user is allowed to do and minimum programming hassle As I'm sure you know, these two are often mutually exclusive... I will probe Concerto a little further over the next couple of days. –  Chuck Sherrington Apr 12 '12 at 16:53
I think my statement was ambigous. I want to maximally control what the participant is allowed to do (i.e., he should not be able to close the borwser). So I am more interested in a neat frontend than in the adaptive testing abilities. BTW: I tried the demonstrations on the concerto website and only the first one runs (with firefox and ie on win 7). –  Henrik Apr 13 '12 at 9:34

You'll want to look into PsychToolbox 3, a very capable Matlab/Octave toolbox intended for running high-precision behavioral psychology experiments. If you don't have access to Matlab, you can use Octave (which is available for Windows 7; see link) to run your experiments.

The toolbox itself is a platform for creating interactive experiments, ranging from simple question-based surveys to highly complex, precision visual displays. For the purpose at hand, I would build a simple function that displays text using PsychToolbox's DrawText or DrawFormattedText functions and monitors responses using the Kb* functions; see the KbDemo page for an overview. Each of these has their own demo showing how to use the function (the aptly-named DrawSomeTextDemo and DrawFormattedTextDemo functions, and the KbDemo one mentioned earlier); simply check the source code of the demos to see how they work.

I will mention that PsychToolbox has learning curve, and requires familiarity with Matlab/Octave programming. That being said, with the above functions, it should be pretty easy to create a generic "survey" function which accepts however many lines of text (one question, however many answers), displays them to the user, and monitors and records feedback.

-
My quick look at the homepage of PsychToolbox3 somehow gives the impression that it is another tool for running reaction time based experiments (i.e., a focus on accurate timing). Can you elaborate a little on which functions are intended to be used to display questionnaires and similar stuff? –  Henrik Apr 12 '12 at 7:02
Thanks for this expansion. However, from what I get PsychToolbox does not really differ from PsychoPy or other related approaches (e.g., Tscope). You still need to completely draw the whole screen elementwise. This is not what I consider easy to use for presenting questionnaires. Especially not if you want something like radiobuttons, checkboxes and input fields and want poeple to use the mouse. I especially are looking for some program that uses a different approach. –  Henrik Apr 12 '12 at 14:28
@Henrik - Makes sense, and I agree, if you don't want to program this may not be for you. That being said, free setups that don't require programming aren't that common. More often than not, with the proprietary solutions, you're paying for the interface. –  eykanal Apr 12 '12 at 15:07
Its not that I dont want to program. I just want a way to present items (e.g., likert type) within an experimental session without the need to always program each question per hand in wxPython (which means positioning the text, the buttons, the box, ...). –  Henrik Apr 13 '12 at 9:36