Hosting Inquisit Web Experiments


An Inquisit Web license gives you the option of hosting web experiments on our servers or your own. While most customers prefer the simplicity and convenience of hosting experiments on millisecond.com, some choose to host the experiments on their own servers for a number of reasons:

1) Respondents might be more likely to participate if they see the familiar URL of their university in the web address.
2) An experiment involves a large number of media files that exceeds the 60MB limit for hosting on millisecond.com. (Note - it's generally a good idea to minimize the size of pictures, movies, sounds, and other media files in order to avoid excessive download times.)
3) IRB requires experimental materials be on university-owned servers.

There are two aspects to hosting an experiment, the launch page and the data upload service.

Hosting the Launch Page

The launch page is web page where participants go to start the experiment. The process for hosting the launch page on your server is easy. Simply login to your Millisecond account, use the control card to register your script, and choose the option to host the experiment on a different server. The control card will then allow you to download an HTML launch page to start the experiment. You can then copy this page along with the script and media files to your server. Your server simply needs to be configured to allow all of the files to be downloaded. There are no additional server requirements.

Hosting Data Upload Service

At the end of an experimental session, the Inquisit web control must upload the data to a web server where it can be accessed by the researcher. By default, data are uploaded to millisecond.com, where they are saved to password protected folders. It is also possible to send the data to your own custom developed data service, although this will require some web programming on your part.

The first step is to set the location where your script will send the data. This is accomplished using the /file command in the <data> element. For example, to send the data to "http://www.myserver.com/dataupload", you would configure the data element as follows:

<data>
...
/ file = "https://www.myserver.com/dataupload"
...
</data>
    

The Inquisit web control will now send the data to specified location using HTTP POST, a standard Internet protocol for uploading information to a web server.

Next, you'll need to program the server so that when it receives an HTTP POST at that location, it extracts the data file and other information (e.g., subject id, script name, IP address, etc.) and saves it to disk or a database. We have an ASP.NET C# sample that shows how to retrieve various metadata (e.g., subject id, group id, etc.) along with the data file itself from the incoming data messages that can be downloaded here. All metadata fields are sent as query parameters appended to the URL. The zipped data file is the body of the POST message. It is up to you to add the code that unzips the data file and saves it to whatever store your system uses.

We are happy to provide support for reading the data from the incoming HTTP POST requests, but we can not assist with general questions about configuring web servers, saving data to various storage systems, or other programming tasks specific to your web application.