Skip to content

Commit

Permalink
Merge branch 'refs/heads/development' into ed-pp-room
Browse files Browse the repository at this point in the history
# Conflicts:
#	backend/sessions/bbbef1d7d0.json
#	frontend/src/App.jsx
#	frontend/src/modals/ParticipantDataModal/ParticipantDataModal.tsx
  • Loading branch information
MEnesDeniz committed Nov 3, 2024
2 parents 1bb3de4 + ac82c9e commit ab77589
Show file tree
Hide file tree
Showing 68 changed files with 6,888 additions and 2,310 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Experimental Hub
# SynthARium

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

![Quick Demo Exp Hub](https://raw.githubusercontent.com/wiki/TUMFARSynchrony/experimental-hub/images/exp-quick-demo-small.gif)

As a part of our vision for the experimental hub, we hope to make at home video conferencing studies have more laboratory control through the **experimenter and participant workflows** we have designed in allowing safegaurds 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 fitler too early, etc.). We also hope that the [experimental templates](https://github.com/TUMFARSynchrony/experimental-hub/tree/ce-documentation/backend/sessions) and [filters](https://github.com/TUMFARSynchrony/experimental-hub/tree/ce-documentation/backend/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 expirmental hub is self hosted, there should be more control over the **data privacy** of where potentially sensitive video and audio data is being stored.
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](https://github.com/TUMFARSynchrony/experimental-hub/tree/ce-documentation/backend/sessions) and [filters](https://github.com/TUMFARSynchrony/experimental-hub/tree/ce-documentation/backend/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 in detail motivation about the Experimental hub see our [introduciton to the Experimental Hub](https://github.com/TUMFARSynchrony/experimental-hub/wiki/), read our [UbiComp'23 poster paper](https://dl.acm.org/doi/abs/10.1145/3594739.3610686), or checkout our [Medium blog](https://medium.com/ubicomp-iswc-2023/an-experimental-video-conferencing-platform-to-bridge-the-gap-in-communication-1b84f2a3b954). Otherwise get started with our [quick start](./README.md#Building&Starting) or [detailed set up instructions](https://github.com/TUMFARSynchrony/experimental-hub/wiki/Project-Setup) to try it out yourself!
For detailed motivation about SynthARium see our [introduction to the Experimental Hub](https://github.com/TUMFARSynchrony/experimental-hub/wiki/), read our [UbiComp'23 poster paper](https://dl.acm.org/doi/abs/10.1145/3594739.3610686), or checkout our [Medium blog](https://medium.com/ubicomp-iswc-2023/an-experimental-video-conferencing-platform-to-bridge-the-gap-in-communication-1b84f2a3b954). Otherwise, get started with our [quick start](./README.md#Building&Starting) or [detailed set up instructions](https://github.com/TUMFARSynchrony/experimental-hub/wiki/Project-Setup) to try it out yourself!

# Setup

Expand All @@ -23,7 +23,7 @@ For the general setup and prerequisites, please take a look at the [frontend](./
Continue with the steps bellow after both the frontend and backend are set up.

1. Build frontend
- Skip this step if there where no changes to the frontend since the last build process
- 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
Expand All @@ -33,7 +33,7 @@ Continue with the steps bellow after both the frontend and backend are set up.
- It is recommended to set `environment` to `prod` to disable [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
- In your venv, run `pip install -r requirements.txt` [(click here for more detailed instructions on setting up a virtual environment)](https://github.com/TUMFARSynchrony/experimental-hub/wiki/Project-Setup#creating-a-virtual-environment)
- Start the server by executing `main.py` in the backend directory. For example from the root directory: `python backend/main.py`
3. In your favorite browser (tested mainly with chrome) go to [http://localhost:8080/](http://localhost:8080/) or [https://localhost:8080/](https://localhost:8080/) depending on your projects configuration.
3. In your favorite browser (tested mainly with Chrome) go to [http://localhost:8080/](http://localhost:8080/) or [https://localhost:8080/](https://localhost:8080/) depending on your projects configuration.

### Notes

Expand Down
2 changes: 2 additions & 0 deletions backend/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ sessions/*/
# IDE
.vscode
.idea

sessions/*.json
2 changes: 1 addition & 1 deletion backend/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ The backend can be configured using the `backend/config.json`.
- `log` - str : Logging level for Hub. Must be one of: `CRITICAL`, `ERROR`, `WARNING`, `INFO`, `DEBUG`. Default: `INFO`
- `log_file` - null | str : If given, the logger will write the log into the file instead of the console
- `log_dependencies` - str : Logging level for project 3rd party dependencies (see [requirements.txt](./requirements.txt)). Must be one of: `CRITICAL`, `ERROR`, `WARNING`, `INFO`, `DEBUG`. Default: `WARNING`. Using `INFO` or `DEBUG` may lead to a strong increase in output.
- `ping_subprocesses` - float : If greater than 0, all subprocesses will be pinged in an interval defined by the value of `ping_subprocesses` (in seconds). Used for debugging, default should be `0.0`.
- `ping_subprocesses` - int : If greater than 0, all subprocesses will be pinged in an interval defined by the value of `ping_subprocesses` (in seconds). Used for debugging, default should be `0`.
- `experimenter_multiprocessing` - bool : If true, experimenter connections will be executed on independent processes
- `participant_multiprocessing` - bool : If true, participant connections will be executed on independent processes

Expand Down
5 changes: 3 additions & 2 deletions backend/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,12 @@
"https": false,
"ssl_cert": "./certificate/cert.crt",
"ssl_key": "./certificate/key.key",
"ping_subprocesses": 0.0,
"ping_subprocesses": 0,
"experimenter_multiprocessing": false,
"participant_multiprocessing": true,
"post_processing": {
"port": 6000,
"time_sleep": 1
}
},
"open_face_type": "subprocess"
}
Loading

0 comments on commit ab77589

Please sign in to comment.