Below are links to the individual repositories associated with the project:
- ⭐️ Meta Repository - The main repository.
- ⚙️ Server Repository - The server application used for collaborative designing, shared rendering of vibrotactile patterns, and storing patterns in a database.
- ⚙️ Share Components Repository - Components which are shared across the server and client application.
- ⚙️ Firmware Repository - Contains the firmware code for the tactile display used in the project.
- 🕹️ Hardware Repository - Detailed schematics and designs for the tactile display.
- 📈 Data Visualization Repository - Tool for visualizing vibrotactile patterns collected during the study sessions.
If you use this project in your research, please cite it as follows:
@inproceedings{Wittchen2025CollabJam,
author = {Wittchen, Dennis and Ramian, Alexander and Sabnis, Nihar and Chlebowski, Christopher and Böhme, Richard and Freitag, Georg and Fruchard, Bruno and Degraen, Donald},
title = {CollabJam: Studying Collaborative Haptic Experience Design for On-Body Vibrotactile Patterns},
year = {2025},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
booktitle = {Proceedings of the 2025 CHI Conference on Human Factors in Computing Systems},
location = {Yokohama, Japan},
series = {CHI '25},
doi = {10.1145/3706598.3713469}
}
npm install
The default configuration uses a local server for development. To use a different server, set the VITE_COLLABJAM_SERVERS
environment variable. Therefore, create a .env
file in the root directory. The variable should be a JSON array of objects with the keys url
and name
.
Example:
VITE_COLLABJAM_SERVERS='[
{"url": "ws://localhost:3333/", "name": "Local"},
{"url": "https://your.server/", "name": "SERVER 1"},
{"url": "https://192.0.0.1/", "name": "SERVER 2"}
]'
npm run dev
npm run build
npm run format