/SynthARium

An online tool for researchers to host and conduct customizable remote experiments with adaptable vision and audio pipelines in a multiuser setting.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

SynthARium

An online tool for researchers to host and conduct customizable online experiments with users.

Quick Demo Exp Hub

As a part of our vision for SynthARium (formerly experimental-hub), we hope to make at-home video conferencing studies have more laboratory control through the experimenter and participant workflows we have designed to allow safeguards in the workflow and a flexible UI (e.g. custom participant video screen position, size, and order, limiting participant exposure pre-experiment to others in the call or seeing themselves with a filter too early, etc.). We also hope that the experimental templates and filters our platform uses helps the egological validity and repeatability of both HCI and psychology experiments and encourages sharing of anonymized data of the experiment. Finally, because our experimental hub is self-hosted, there should be more control over the data privacy of where potentially sensitive video and audio data is being stored.

For detailed motivation about SynthARium see our introduction to the Experimental Hub, read our UbiComp'23 poster paper, or checkout our Medium blog. Otherwise, get started with our quick start or detailed set up instructions to try it out yourself!

Setup

Building & Quick Starting Guide

In case you want to build the frontend yourself, follow the steps in this section.

For the general setup and prerequisites, please take a look at the frontend and backend READMEs. Continue with the steps bellow after both the frontend and backend are set up.

  1. Build frontend
    • Skip this step if there were no changes to the frontend since the last build process
    • Go to the frontend directory: cd frontend
    • If this is your first time running the experimental hub run: npm install
    • Build the frontend: npm run build. Make sure the build process finishes without any errors
  2. (Re-) Start server
  3. In your favorite browser (tested mainly with Chrome) go to http://localhost:8080/ or https://localhost:8080/ depending on your projects configuration.

Notes

  • For development, the React / frontend development server is recommended: npm start