vcweb is a Python/Django framework that purportedly helps developers build interactive web-based experiments for collective action researchers interested in social ecological systems. We maintain a managed instance of vcweb at https://vcweb.asu.edu but you are welcome to host your own server.
- Web based experiment parameterization, with support for experiment-wide parameters and round-specific parameters. Standard parameters include show up fees, an exchange rate for tokens to currency, round durations, and group size. Custom parameters are defined by experiment developers; examples include initial resource levels and regrowth factors for common pool resource game. An experiment treatment consists of an ordered set of round parameterizations. Each round parameterization can be specified to repeat N times as well.
- Support for two broad classes of experiments:
- controlled experiments typically run in a computer lab with "captive" participants. These experiments are characterized by timed rounds of parameterizable duration, and round transitions manually managed by an experiment facilitator (with ongoing development to properly implement automated round transitions)
- extended experiments spanning multiple days or weeks with cron-based scheduled custom experiment logic, e.g., at midnight perform some calculations, determine the current state of a resource and payments and send summary emails to all registered participants. Currently, round transitions occur at midnight.
- Subject pool management and randomized invitation / recruitment with custom invitation emails
- Flexible data model that captures Experiments, ExperimentConfigurations, RoundConfigurations, and arbitrary experiment data via the Entity Attribute Value Model to capture participant-specific data and group-specific data. Work is ongoing to simplify and improve this API.
- Real-time chat and server push via sockjs-tornado and Redis (coming soon)
- Existing experiment UIs have been implemented using Bootstrap 3, knockout, jQuery Mobile, and Sencha Touch but the view layer is unopinionated and experiments can be implemented with arbitrary web or mobile UIs. Some ideas: reactjs and Om, angular, emberjs, or direct javascript / canvas libraries like d3js or processingjs.
In order to run a vcweb experiment you'll need an experimenter account. Please contact us if you'd like to request an experimenter account.
In order to participate in a vcweb experiment you must be invited to one by an experimenter.
For more information on how to install and deploy the software please visit https://bitbucket.org/virtualcommons/vcweb/wiki/Home (work in progress)