Documentation for STOUT


The Subject Tracker for Online User Testing (STOUT) is a content management system for formal human performance experimentation. STOUT presents tools and operational tasks to each participant. In doing so, it collects:

  • an intake questionnaire to assess the user’s background and experience as an analyst
  • operational task performance and confidence in responses i.e. did they get the right answer? How sure are they?
  • subjective feedback (did they like how the tool worked?)
  • screen captures
  • physiological response, which help infer operator workload (how hard did they work?).

The STOUT system provides human-subjects testing experiment adminsitrators with a flexible tool for managing and tracking user progress through a series of online tasks. The STOUT system was designed to help collect information about the utility of online applications.

Who is this package for?

This package is for developers. A framework has been built but many features and additions can still be added.

This package is also for experiment administrators. This system can be used immediately to conduct new evaluations of online applications.

Getting Going...

If you already have your own system and just want to work with the source code, then skip to the next section. Otherwise read on...

The simplest way to get started, rather than build your own system from the ground up, is to download both VirtualBox and Vagrant. Once you have both of those working, you can clone this repository to begin.

Getting this working on Vagrant (VirtualBox)

Get a base centos box (this may take awhile)

$ vagrant box add centos_6.5

Start it

$ vagrant up virtualbox

Getting this working on Vagrant (OpenStack)

Get a base centos box (this may take awhile)

You need 2 files:

  1. The first is the .pem (or .cer) file which is the KeyPair file you can download from the OpenStack dashboard.

  2. The second is a shell script which contains all the environment variables referenced in the Vagrantfile. This is located under API Access under the Security Settings. Once you download this file run source $, and this will ask you for you OpenStack password and load all the required varaibles under your current environment.

Adjust the Vagrantfile to use the appropriate .pem file and the appropriate KeyPair name associated with that pem file. Once that is complete you can run:

vagrant up openstack --provider=openstack

If you already have your own system...

Once this package is cloned, create the database

$ python syncdb

This will also create a superuser.

During development, if you want to drop to the database and start over run the following:

$ python sqlclear op_tasks | python dbshell
$ python syncdb
$ python populate_db

This will keep your super user and drop just the app database which is a lot nicer than deleting the whole database and starting over

This process is also under the reset_optask command

$ python reset_optask

Now that STOUT is running...

The following instructions assume you‘re using Vagrant. If you’re using another system, you might need to alter them slightly (e.g. different IP addresses, etc.) to get the same results.

###Test operation Open a browser and point it to localhost:8080. You should see the welcome page for the XDATA Online Experiment. The system comes with a one prepopulated example task. Register a new user and test it out.

###Access admin page The Admin page allows direct access to the STOUT database. From this page you can manage users, tasks, and products directly. Before you can access the admin page, you need to create a superuser. If you're using Vagrant you can ssh into that system using

$ vagrant ssh virtualbox

Navigate to the source directory and add a superuser

$ cd /var/www/op_tasks/db/
$ sudo python createsuperuser

Now point your browser to the admin page at localhost:8080/admin to begin browsing the STOUT database.

###Add subjects From the admin page, you can pre-register users through the Participants link. ###Add tasks You can also add new tasks for users to complete through the Op tasks link. First however you must add a dataset for the task to reference. That can be done through the Datasets link. ###Add products New products can be added through the product link. Products are tools available online. Copy and past the address for the tool into the URL field and then fill in the remaining information.

Assign task sequences

Normally, a user is assigned a random order of tasks from all those that are available. If you'd prefer to assign a sequence of tasks though that can be managed through the TaskListItem link.

Note: If you assign multiple tasks to a single user, only mark the first task as Ot active and leave all checkboxes for the remaining tasks empty

For more information

STOUT was built using Django 1.6. For more advanced developer information or instructions on how to setup your own system, consult the documentation for Django here.