adding first progress
Build marp presentation / build marp presentation (push) Successful in 58s

This commit is contained in:
Romane
2026-06-12 15:04:14 +02:00
parent 320d7ac7f3
commit 839add7809
24 changed files with 82 additions and 360 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
- name: upload to pages
run: |
curl -X PUT --fail \
https://pages.ct.cozytren.ch/sti-presentation \
https://pages.ct.cozytren.ch/m1s2-eng-presentation \
-T ./presentation.zip \
-H "Content-Type: application/zip" \
-H "Authorization: Pages ${{ secrets.GIT_PAGES_TOKEN }}"
+3 -3
View File
@@ -1,11 +1,11 @@
# Presentation for DFI-STI on 2026-05-26
# EN-Presentation
Uhhhhhh this is awkward - guess you can now see the "behind the scenes" of this *magnificent* presentation
## Links
- HTML: https://pages.ct.cozytren.ch/sti-presentation
- PDF: https://pages.ct.cozytren.ch/sti-presentation/presentation.pdf
- HTML: https://pages.ct.cozytren.ch/m1s2-eng-presentation
- PDF: https://pages.ct.cozytren.ch/m1s2-eng-presentation/presentation.pdf
## Toolchain
- Marp ecosystem for markdown presentation rendering
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 570 B

After

Width:  |  Height:  |  Size: 365 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 216 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 570 B

After

Width:  |  Height:  |  Size: 561 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 571 B

After

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 MiB

-3
View File
@@ -1,3 +0,0 @@
original video: https://www.youtube.com/watch?v=1l0wKk6q_ss
ffmpeg command to convert to gif: ffmpeg -ss START_TIME -to END_TIME -i input_video.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" output.gif
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

+78 -353
View File
@@ -1,14 +1,11 @@
---
title: "Shifty: A Weight-Shifting Dynamic Passive Haptic Proxy
to Enhance Object Perception in Virtual Reality"
title: "Privacy by design: DIY Marp(X) AI presentations without sending data to third parties"
author: R.Viton
description: "Shifty: A Weight-Shifting Dynamic Passive Haptic Proxy
to Enhance Object Perception in Virtual Reality"
description: "Privacy by design: DIY Marp(X) AI presentations without sending data to third parties"
keywords: []
header: "Shifty: A Weight-Shifting Dynamic Passive Haptic Proxy
to Enhance Object Perception in Virtual Reality"
footer: "2026-05-26"
header: "Privacy by design: DIY Marp(X) AI presentations without sending data to third parties"
footer: "2026-06-24"
marp: true
theme: gödel
@@ -19,402 +16,130 @@ size: 16:9
lang: de
math: katex
---
<style>
.inline-img {
display: flex;
align-items: center;
gap: .5rem;
}
</style>
<!-- _class: "title-academic" -->
![bg left:35% 120%](./images/title.png)
![bg left:35% 120%](https://placecats.com/millie/400/600)
<div class="title">Shifty: A Weight-Shifting Dynamic Passive Haptic Proxy
to Enhance Object Perception in Virtual Reality</div>
<div class="title">Privacy by design: DIY Marp(X) AI presentations without sending data to third parties</div>
<div class="subtitle">
Paper von <i>A. Zenner</i> und <i>A. Krüger</i> [1]
<br><br><div align=right>
IEEE Transactions on Visualization and Computer Graphics
<br>
vol. 23, no. 4, pp. 1285-1294, April 2017
</div>
... and why you should use them too!
</div>
<div class="author">Romane Viton</div>
<div class="date">2026-05-26</div>
<div class="organization">DFI-STI, htw saar</div>
<div class="date">2026-05-24</div>
<div class="organization">DFI-203, htw saar</div>
---
# Fragerunde
![bg right:40% 260%](./images/hands.png)
* Wer hat schon VR getestet?
* Wie immersiv war die Erfahrung?
* Gab es haptisches Feedback?
* Wenn ja: wie wurde das implementiert?
# A few **questions** first
* Who here would consider themselves a **developer** ?
* Experience with **code editors / IDEs** ?
* **More comfortable** with editor than with other software ?
* Does **text** just feel faster/more efficient at this point?
---
# Was ist **haptisches Feedback** ?
# <div class="inline-img"> ![w:100](./images/md.png) &nbsp; **Markdown**
## (It's everywhere - you've most likely dealt with it at least once)
```md
# Main title
## Heading 2 - You can make:
* Nutzer:innen bekommen eine **taktile Rückmeldung**
* Kann **Immersion** weiter als "nur hören oder sehen" treiben
* Informationen können sehr **unterschiedlich** sein (Vibration, Textur, Kraft, Wärme, ...)
* Beispiel: <box>Erzeugung von **Kräften** zur Simulation von Gewichten und Längen
- *italic text*
- **bold text**
- ~~strikethrough~~
- lists
- [links](http://example.com)
- ![images](image_name_here)
- > Quotes
```
---
# Nutzung der **Visual Dominance** [2]
* **Alle Sinne** tragen zur gelebten Erfahrung bei einer Simulation bei
* Bei Konflikten hat die **Sicht** bei der Informationsverarbeitung **Vorrang**
* Bedeutung für VR: <h3><box>Für eine realistische Wahrnehmung muss **nicht die gesamte Kraft** erzeugt <br> werden, sondern nur genug, um die **Sicht** zu **unterstützen**
# Why not write **presentations** as text ?
## <div class="inline-img"> Introducing:&nbsp;![h:75](./images/marp.png) (Yuki Hattori)
* Markdown presentation ecosystem
* <span class="inline-img"> Comes as a ![h:75](./images/bash.png) command line tool or a ![h:75](./images/vscode.png) VSCode editor extension
* Technically Just A Web Page:tm: $\implies$ can write HTML/CSS if you want to customize
* MarpX (Paolo Cunha) offers high quality ready-to-use themes
* If you know Markdown/HTML/CSS: <box>No need to learn (yet another) tool!
---
# **Hintergrund** des Papers
* *Passive Haptic Feedback* (PHF): günstig und mobil, nicht sehr realistisch
* *Active Haptic Feedback* (AHF): realistischer, weder günstig noch mobil
* $\implies$ ***Dynamic Passive Haptic Feedback* (DPHF)** als Mittelweg testen ?
* ### <box> 💡 Idee: Bewegung soll **kein direktes Feedback** sein, sondern den Controller so ändern, dass er **mehrere Gegenstände** darstellt
# **Collaborating** with others / keeping track of **versions** ?
> ## "Well surely the editor can't do ***that*** ", I hear you say
* All the presentations are **text-based** versions of a file tree
* We need a tool to maintain **versions** of a text-based file tree...
* <span class="inline-img"> Ever heard of ![w:100](./images/git.png) `git`?
* We already have a **tool** to collaborate on versions of text-based projects!
---
# **Hintergrund** des Papers
![center w:10000](./images/haptics-continuum.png)
# How do we make sure data is **safe** from big companies?
- there *are* online platforms like GitHub for this (but: this defeats the whole purpose)
- it's 2026, and servers are pretty cheap
- you can set up your own infra in an afternoon
---
# **Shifty** als DPHF-Versuch
### Ziel: Gewicht nach oben bzw. unten bringen, um mehr bzw. weniger Kraft zu brauchen, um gehoben zu werden
&nbsp;
<div class="multicolumn" align="center"><div>
![](./images/shifty-schema.png)
</div><div>
Eigenschaft | Wert
--------------------:|:-------------------
Masse | 440 g
Internes Gewicht | 127 g
Länge | 505 mm
Diameter | 40 mm
Nutzer-Input-Methode | Push-Button
Steuerungsmethode | Arduino in Rucksack
</div></div>
---
<!-- _class: chapter -->
# Experiment 1
## <br>Kann eine Simulation mit Shifty überhaupt funktionieren ? <br>(bzgl. **<box>Realismus**, **<box>Anstrengung** und **<box>Spaß**)
---
# **Teilnehmer:innen** des Experiments
<div align="center">
### Eigenschaften der $n = 12$ Teilnehmenden (Experiment 1)
Eigenschaft | Aufteilung
-----------------------------------:|:---------------------------------------------------
Geschlecht | 7 männlich, 5 weiblich
Alter | Min: 21, Max: 37, Mittelwert: 28 Jahre
Brillen/Kontaktlinsen in der Studie | 5 mit, 7 ohne
Rechts- bzw. Linkshändige | 9 Rechts-, 3 Linkshändige
Erfahrung mit 3D-Spielen | Min: 1, Max: 7, Mittelwert: 3,5 (Skala von 1 bis 7)
Erfahrung mit VR | Min: 1, Max: 3, Mittelwert: 1,6 (Skala von 1 bis 7)
</div>
---
# Durchgeführte **Experimente**
<div class="multicolumn"><div>
## Umgebung
- Teilnehmer:innen über Aufgaben informiert
- Labor-Umgebung mit *HTC Vive* und Kopfhörern
- Optische Überwachung des Verhaltens
&nbsp;
&nbsp;
</div><div>
![bg right:50% 100%](./images/rahmen.png)
</div></div>
---
# Experiment 1: **kontinuierliche Änderung der Länge bzw. Dicke**
<div class="multicolumn"><div>
![w:800](./images/length-change.png)
</div><div>
- Freie Bewegung innerhalb der Umgebung
- Mit virtuellem Teleskop in der Hand
- 1\. Phase mit Bewegung des Gewichts (DPHF)
- 2\. Phase ohne Bewegung des Gewichts (PHF)
- Reihenfolge der 1. und 2. Phase zufällig
- <box></box>- und <box></box>-Props in der Umgebung,
um Länge und Dicke linear zu ändern
- Ergebnisse in Skala von 1 bis 7 gesammelt
</div></div>
---
<!-- _class: quote -->
# Erwartung der Autoren
"We expect *Shifty* to outperform [PHF] in the subjective measures **realism and fun**, but **not in exertion**." [1]
&nbsp;
*Stimmt das aber wirklich?* 🤔
---
# Experiment 1: **Ergebnisse**
## Bewertungen
![center w:800](./images/exp1results.png)
<!-- In allen Fällen wurde DPHF besser als PHF bewertet, was die Erwartungen übertroffen hat. -->
---
# Experiment 1: **Ergebnisse**
## Vergleiche
* Bei **<box>Realismus** und **<box>Spaß** wurde DPHF höher als PHF bewertet
* Länge: 11 DPHF, 1 PHF; gleicyth bei Dicke
* **<box>Anstrengung** war für Teilnehmenden höher oder gleich
* Länge: 7 DPHF, 5 gleich; Dicke: 8 DPHF, 2 gleich, 2 PHF
---
# Experiment 1: **Limitierungen**
* Nur $n=12$ Teilnehmende
* Bei Länge:
**statistisch signifikante** Unterschiede bei Bewertungen,
Wilcoxon-Signed-Rank-Test-Unterschiede **nicht eindeutig**
* Bei Dicke:
**nicht eindeutige** Unterschiede bei Bewertungen,
Wilcoxon-Signed-Rank-Test-Unterschiede **statistisch signifikant**
* Begriff *exertion* unterscheidet nicht zwischen physischen und mentalen **<box>Anstrengung**
---
<!-- _class: chapter -->
# Experiment 2
## <br>Das Gewicht bewegt sich aber langsam ! <br><br> Kann man trotzdem (realistisch) schwere Objekte heben ?
---
# **Teilnehmer:innen** des Experiments
# One step further: hosting services on your own infrastructure
- I won't tell you how to set it up (plenty of guides online)
- Here are some tools I'm using for my personal setup:
<center>
### Eigenschaften der $n = 12$ Teilnehmenden (Experiment 2)
Eigenschaft | Aufteilung
-----------------------------------:|:---------------------------------------------------
Geschlecht | 9 männlich, 3 weiblich
Alter | Min: 21, Max: 37, Mittelwert: 27 Jahre
Brillen/Kontaktlinsen in der Studie | 6 mit, 6 ohne
Rechts- bzw. Linkshändige | 10 Rechts-, 2 Linkshändige
Erfahrung mit 3D-Spielen | Mittelwert: 2,9 (Skala von 1 bis 7)
Erfahrung mit VR | Min: 1, Max: 4, Mittelwert: 1,8 (Skala von 1 bis 7)
Requirement | Possible tool
-:|:-
Server|Any VPS
Simple software deployment|Docker
HTTPS support|Caddy
Git collaboration|Gitea
Presentation hosting|Git-Pages
Automated deployment|Gitea Actions
</center>
---
# Experiment 2: **virtuelle Objekte heben**
<!-- _header: Shifty: A Weight-Shifting Dynamic Passive Haptic Proxy to Enhance Object Perception in Virtual Reality - Video: [3] -->
<div class="multicolumn"><div>
- Würfel verschiedener Größen sollen aus <br>einem **Inventar** genommen werden
- Nach dem Greifen soll der Würfel in <br>die **richtige Lage** gebracht werden
- Kombinationen von 6 Varianten werden <br>nach einer **Latin Square Approach** <br>von den Teilnehmenden verglichen
- Anhand der Vergleichsergebnisse<br> wird ein **Score** für Metriken berechnet
</div><div>
![center w:10000](./images/smoke_example.gif)
</div></div>
---
# Experiment 2: **virtuelle Objekte heben**
<div class="multicolumn"><div><bbox>
<center>
### Getestete Varianten
Name | 🖐️ | 👁️ | 👂
------------------:|:----:|:--------------:|:-------:
`Base` | PHF | :x: | :x:
`Hapt` | DPHF | :x: | :x:
`Prog` | DPHF | *Progress Bar* | *Whoosh*
`Scal` | DPHF | *Skalierung* | *Whoosh*
`Trans` | DPHF | *Transparenz* | *Whoosh*
`Mask` | DPHF | *Rauch* | *Whoosh*
</center>
</bbox></div><div><bbox>
### Gemessene Metriken
**<box>Realismus**, **<box>am wenigsten beunruhigend**, **<box>Anstrengung**, **<box>Spaß**, **<box>Präferenz**
</bbox></div></div>
---
# Experiment 2: **Vorgehensweise**
<div class="multicolumn"><div>
## Latin-Square mit $6$ Parametern
* **Position**: Varianten werden an jeder Position einmal getestet
* **Teilnehmer:innen** testen jede
Variante einmal
* **Reihenfolge**: Für jedes Paar von Varianten $(v_1, v_2)$ gilt:
$N_{v_1\space vor\space v_2} = N_{v_2\space vor\space v_1}$
</div><div><center>
(Beispiel-Einträge, vgl. [4])
### Variante nach **Teilnehmer:in** und **Position**
Position $\downarrow$|$T_1$|$T_2$|$T_3$|$T_4$|$T_5$|$T_6$|Vergleich
:-|:-:|:-:|:-:|:-:|:-:|:-:|-:
1|A|B|C|D|E|F|:x:
2|B|C|D|E|F|A|2\. vs 1\.
3|F|A|B|C|D|E|3\. vs 2\.
4|C|D|E|F|A|B|4\. vs 3\.
5|E|F|A|B|C|D|5\. vs 4\.
6|D|E|F|A|B|C|6\. vs 5\.
* $v_1\xrightarrow{besser\space als}v_2: \text{+2 Punkte für } v_1$
* $v_1\xrightarrow{gleich\space wie}v_2: \text{+1 Punkt für beide}$
</center></div></div>
---
<!-- _class: quote -->
# Erwartungen der Autoren
- "We expect [...] Shifty to increase the **realism** and **fun** compared to [PHF]."
- "[W]e expect the participants to favor Shifty's feedback and that **enhanced visualizations** [...] increase the perceived **realism** and **fun** for the user, while **minimizing the disturbing impact** [...]."
- "Regarding **exertion**, we expect [PHF] to require the least, and Shifty's dynamic feedback to be more physically demanding."
- "[W]e also expect **appropriate visualizations** to **compensate** for that to some degree, decreasing the perceived **exertion** compared to a standard visualization.
&nbsp;
Stimmt das? 🤔
---
# Experiment 2: **Ergebnisse**
![center w:800](images/exp2results-left.png)
![center w:540](images/exp2results-right.png)
---
# Experiment 2: **Ergebnisse**
-**<box>Realismus** und **<box>Spaß** sind höher bei Shifty als bei PHF
- ✅ Visiualisierungen minimieren die **<box>Beunruhigung**
-**<box>Anstrengung** ist höher bei Shifty als bei PHF
- ❓ Visualisierungen kompensieren (einigermaßen) die **<box>Anstrengung**
- Bisherige Ergebnisse zur **Visual Dominance** bestätigt
---
# Experiment 2: **Ergebnisse**
## Welche Variante liefert die beste Erfahrung?
* ### TL;DR: <box> Es hängt davon ab, welche Eigenschaft am wichtigsten ist
* **<box>Realismus**/**<box>am wenigsten beunruhigend**/**<box>Präferenz** $\implies$ `Skalierung`
* **<box>Spaß**/**<box>Präferenz** $\implies$ `hinter Rauch verstecken`
* **<box>Anstrengung** (Min.) $\implies$ `Base (nur PHF)` Wenn DPHF verwendet $\implies$ `Transparenz`
---
# Experiment 2: **Limitierungen**
* Auch nur $n=12$ Teilnehmenden
* Keine Unterscheidung zwischen physischen und mentalen **<box>Anstrengung** beim *exertion*
* Auch wenn kompensiert $\rightarrow$ **<box>Anstrengung** bleibt hoch
* Beispiel eines Hammers ist **begrenzt** (1-dimensionale, mit Shifty kompatible Anwendung)
---
# **Fazit**
<div class="multicolumn"><div>
## Vorteile
- **interessante Entwicklung**
- **Realismus** und **Spaß** werden bei **tragbaren Kosten** erhöht
</div><div>
## Nachteile
- nur ein **Forschungsprojekt**
- nur 1-dimensionales Trägheitsmoment (weit von AHF entfernt)
- **Anstrengung** soll berücksictigt werden
- Andere Aspekte des hapt. Feedbacks wie Textur und Form nicht geändert
</div></div>
---
# **Ausblick** der Studie
- Horizontale Implementierungen von Shifty testen, um **mehr Dimensionen** hinzuzufügen
- Weitere Forschung zur **Visual Dominance**, um Realismus zu erhöhen
- 2\. Experiment mit **komplexeren Formen** als Würfel wiederholen
- Einfluss von DPHF auf **Inputs** testen
- Erfahrung mit DPHF über **längere Zeitspannen** testen
# ...isn't this really expensive, though?
* Not really!
* Domain name: `~10 EUR/year`
* 24/7 VPS (200GB Storage, 6 vCPUs, 12GB RAM): `6.72 EUR/month`
* Also hosting other services on it and not even at capacity
* I use Contabo, but Hetzner/OVH/Hostinger also work
* *it's all yours, no need to worry about your data being accessed by third parties!*
* Privacy does have a price, but so does exposing your personal data
* **<box>Which one are you willing to pay?**
---
<!-- _class: "references" -->
# Quellen
1. [Zenner, A., & Krüger, A. (2017). Shifty: A weight-shifting
dynamic passive haptic proxy to enhance object
perception in virtual reality. IEEE transactions on
visualization and computer graphics, 23(4), 1285-1294.](https://ieeexplore.ieee.org/abstract/document/7833030)
1. [Burns, E., Razzaque, S., Panter, A. T., Whitton, M. C.,
McCallus, M. R., & Brooks, F. P. (2005, March). The hand is
slower than the eye: A quantitative exploration of visual
dominance over proprioception. In IEEE Proceedings. VR
2005\. Virtual Reality, 2005. (pp. 3-10). IEEE.](https://wwwx.cs.unc.edu/Research/hyre/papers/EVEAuthored/2005-VR-Burns.pdf) (Visual Dominance)
1. [Zenner, A., "Shifty - A Weight-Shifting Dynamic Passive Haptic
Proxy for Virtual Reality (IEEE VR 2017)." YouTube [Online].
Verfügbar: https://www.youtube.com/watch?v=1l0wKk6q_ss.
[Zugegriffen: 2026-05-19].](https://www.youtube.com/watch?v=1l0wKk6q_ss) (Demo-Video)
1. [Slideserve - PPT - Chapter 5 Designing HCI Experiments
PowerPoint Presentation, free download - ID:7070933](https://www.slideserve.com/sanders-nestor/chapter-5-designing-hci-experiments-powerpoint-ppt-presentation)
(Zugegriffen 2026-05-20, Latin-Square-Beispiel)
[Titelbild: Joshgmit (Pixabay)](https://pixabay.com/illustrations/ai-generated-woman-virtual-reality-8262903/) (2026-06-24 aufgerufen, KI-generiert)
[Bild (gehobene Hände): geralt (Pixabay)](https://pixabay.com/illustrations/inclusion-diversity-social-team-9365065/) (2026-06-24 aufgerufen)
# References
---
# Präsentation online verfügbar
# This presentation is online too!
<div class="multicolumn"><div align="center">
## PDF
[![](./images/pdf_qrcode.png)](https://pages.ct.cozytren.ch/sti-presentation/presentation.pdf)
[![](./images/pdf_qrcode.png)](https://pages.ct.cozytren.ch/m1s2-eng-presentation/presentation.pdf)
</div><div align="center">
## HTML
[![](./images/html_qrcode.png)](https://pages.ct.cozytren.ch/sti-presentation)
[![](./images/html_qrcode.png)](https://pages.ct.cozytren.ch/m1s2-eng-presentation)
</div><div align="center">
## Repository
[![](./images/repo_qrcode.png)](https://gitea.ct.cozytren.ch/romane/sti-presentation)
[![](./images/repo_qrcode.png)](https://gitea.ct.cozytren.ch/romane/m1s2-eng-presentation)
</div></div>
```bash
wget https://pages.ct.cozytren.ch/sti-presentation/presentation.pdf
git clone https://gitea.ct.cozytren.ch/romane/sti-presentation
wget https://pages.ct.cozytren.ch/m1s2-eng-presentation/presentation.pdf
git clone https://gitea.ct.cozytren.ch/romane/m1s2-eng-presentation
```