diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 8db2c34..26d0938 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -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 }}" diff --git a/README.md b/README.md index 0c48226..39f35e0 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/images/bash.png b/images/bash.png new file mode 100644 index 0000000..3d1abd7 Binary files /dev/null and b/images/bash.png differ diff --git a/images/exp1results.png b/images/exp1results.png deleted file mode 100644 index b6b026e..0000000 Binary files a/images/exp1results.png and /dev/null differ diff --git a/images/exp2-view.png b/images/exp2-view.png deleted file mode 100644 index 14ff6f6..0000000 Binary files a/images/exp2-view.png and /dev/null differ diff --git a/images/exp2results-left.png b/images/exp2results-left.png deleted file mode 100644 index 3908f51..0000000 Binary files a/images/exp2results-left.png and /dev/null differ diff --git a/images/exp2results-right.png b/images/exp2results-right.png deleted file mode 100644 index 03342b0..0000000 Binary files a/images/exp2results-right.png and /dev/null differ diff --git a/images/git.png b/images/git.png new file mode 100644 index 0000000..1e668ce Binary files /dev/null and b/images/git.png differ diff --git a/images/hands.png b/images/hands.png deleted file mode 100644 index 4732a2b..0000000 Binary files a/images/hands.png and /dev/null differ diff --git a/images/haptics-continuum.png b/images/haptics-continuum.png deleted file mode 100644 index 1ff3971..0000000 Binary files a/images/haptics-continuum.png and /dev/null differ diff --git a/images/html_qrcode.png b/images/html_qrcode.png index 0e5b382..64068a0 100644 Binary files a/images/html_qrcode.png and b/images/html_qrcode.png differ diff --git a/images/idea.png b/images/idea.png new file mode 100644 index 0000000..4240c9b Binary files /dev/null and b/images/idea.png differ diff --git a/images/length-change.png b/images/length-change.png deleted file mode 100644 index 69b1350..0000000 Binary files a/images/length-change.png and /dev/null differ diff --git a/images/marp.png b/images/marp.png new file mode 100644 index 0000000..95d53a5 Binary files /dev/null and b/images/marp.png differ diff --git a/images/md.png b/images/md.png new file mode 100644 index 0000000..867b5b0 Binary files /dev/null and b/images/md.png differ diff --git a/images/pdf_qrcode.png b/images/pdf_qrcode.png index 0e5b382..26f21ce 100644 Binary files a/images/pdf_qrcode.png and b/images/pdf_qrcode.png differ diff --git a/images/rahmen.png b/images/rahmen.png deleted file mode 100644 index 6a4a4c6..0000000 Binary files a/images/rahmen.png and /dev/null differ diff --git a/images/repo_qrcode.png b/images/repo_qrcode.png index f0bfb69..e873dad 100644 Binary files a/images/repo_qrcode.png and b/images/repo_qrcode.png differ diff --git a/images/shifty-schema.png b/images/shifty-schema.png deleted file mode 100644 index 01d80ea..0000000 Binary files a/images/shifty-schema.png and /dev/null differ diff --git a/images/smoke_example.gif b/images/smoke_example.gif deleted file mode 100644 index 0439a1b..0000000 Binary files a/images/smoke_example.gif and /dev/null differ diff --git a/images/title.png b/images/title.png deleted file mode 100644 index 36d3699..0000000 Binary files a/images/title.png and /dev/null differ diff --git a/images/video.md b/images/video.md deleted file mode 100644 index 665e648..0000000 --- a/images/video.md +++ /dev/null @@ -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 diff --git a/images/vscode.png b/images/vscode.png new file mode 100644 index 0000000..c6c9095 Binary files /dev/null and b/images/vscode.png differ diff --git a/presentation.md b/presentation.md index b730dc5..d392262 100644 --- a/presentation.md +++ b/presentation.md @@ -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 --- + -![bg left:35% 120%](./images/title.png) +![bg left:35% 120%](https://placecats.com/millie/400/600) -
Shifty: A Weight-Shifting Dynamic Passive Haptic Proxy -to Enhance Object Perception in Virtual Reality
+
Privacy by design: DIY Marp(X) AI presentations without sending data to third parties
- Paper von A. Zenner und A. Krüger [1] -

- IEEE Transactions on Visualization and Computer Graphics -
- vol. 23, no. 4, pp. 1285-1294, April 2017 -
+ ... and why you should use them too!
Romane Viton
-
2026-05-26
-
DFI-STI, htw saar
+
2026-05-24
+
DFI-203, htw saar
--- -# 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** ? +#
![w:100](./images/md.png)   **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: 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:

Für eine realistische Wahrnehmung muss **nicht die gesamte Kraft** erzeugt
werden, sondern nur genug, um die **Sicht** zu **unterstützen** +# Why not write **presentations** as text ? +##
Introducing: ![h:75](./images/marp.png) (Yuki Hattori) +* Markdown presentation ecosystem +* 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: 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 ? -* ### 💡 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... +* 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 - -  - -
- -![](./images/shifty-schema.png) - -
- -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 - - -
- ---- - -# Experiment 1 -##
Kann eine Simulation mit Shifty überhaupt funktionieren ?
(bzgl. **Realismus**, **Anstrengung** und **Spaß**) - ---- -# **Teilnehmer:innen** des Experiments - -
- -### 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) - -
- ---- -# Durchgeführte **Experimente** - -
- -## Umgebung -- Teilnehmer:innen über Aufgaben informiert -- Labor-Umgebung mit *HTC Vive* und Kopfhörern -- Optische Überwachung des Verhaltens - -  - -  - -
- -![bg right:50% 100%](./images/rahmen.png) - -
- ---- -# Experiment 1: **kontinuierliche Änderung der Länge bzw. Dicke** - -
- -![w:800](./images/length-change.png) - -
- -- 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 -- - und -Props in der Umgebung, - um Länge und Dicke linear zu ändern -- Ergebnisse in Skala von 1 bis 7 gesammelt - -
- ---- - -# Erwartung der Autoren - -"We expect *Shifty* to outperform [PHF] in the subjective measures **realism and fun**, but **not in exertion**." [1] - -  - -*Stimmt das aber wirklich?* 🤔 - ---- -# Experiment 1: **Ergebnisse** -## Bewertungen -![center w:800](./images/exp1results.png) - - - ---- -# Experiment 1: **Ergebnisse** -## Vergleiche -* Bei **Realismus** und **Spaß** wurde DPHF höher als PHF bewertet - * Länge: 11 DPHF, 1 PHF; gleicyth bei Dicke -* **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 **Anstrengung** - ---- - -# Experiment 2 -##
Das Gewicht bewegt sich aber langsam !

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:
-### 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
--- -# Experiment 2: **virtuelle Objekte heben** - -
- -- Würfel verschiedener Größen sollen aus
einem **Inventar** genommen werden -- Nach dem Greifen soll der Würfel in
die **richtige Lage** gebracht werden -- Kombinationen von 6 Varianten werden
nach einer **Latin Square Approach**
von den Teilnehmenden verglichen -- Anhand der Vergleichsergebnisse
wird ein **Score** für Metriken berechnet - -
- -![center w:10000](./images/smoke_example.gif) - -
- - ---- -# Experiment 2: **virtuelle Objekte heben** -
-
- -### 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* - -
-
- -### Gemessene Metriken -**Realismus**, **am wenigsten beunruhigend**, **Anstrengung**, **Spaß**, **Präferenz** -
- ---- -# Experiment 2: **Vorgehensweise** - -
- -## 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}$ - -
- -(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}$ - -
- ---- - -# 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. - -  - -Stimmt das? 🤔 - ---- -# Experiment 2: **Ergebnisse** - -![center w:800](images/exp2results-left.png) -![center w:540](images/exp2results-right.png) - ---- -# Experiment 2: **Ergebnisse** -- ✅ **Realismus** und **Spaß** sind höher bei Shifty als bei PHF -- ✅ Visiualisierungen minimieren die **Beunruhigung** -- ✅ **Anstrengung** ist höher bei Shifty als bei PHF -- ❓ Visualisierungen kompensieren (einigermaßen) die **Anstrengung** -- Bisherige Ergebnisse zur **Visual Dominance** bestätigt - ---- -# Experiment 2: **Ergebnisse** -## Welche Variante liefert die beste Erfahrung? - -* ### TL;DR: Es hängt davon ab, welche Eigenschaft am wichtigsten ist -* **Realismus**/**am wenigsten beunruhigend**/**Präferenz** $\implies$ `Skalierung` -* **Spaß**/**Präferenz** $\implies$ `hinter Rauch verstecken` -* **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 **Anstrengung** beim *exertion* -* Auch wenn kompensiert $\rightarrow$ **Anstrengung** bleibt hoch -* Beispiel eines Hammers ist **begrenzt** (1-dimensionale, mit Shifty kompatible Anwendung) - ---- -# **Fazit** - -
- -## Vorteile -- **interessante Entwicklung** -- **Realismus** und **Spaß** werden bei **tragbaren Kosten** erhöht - -
- -## 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 - -
- ---- -# **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 + * **Which one are you willing to pay?** --- -# 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!
## 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)
## HTML -[![](./images/html_qrcode.png)](https://pages.ct.cozytren.ch/sti-presentation) +[![](./images/html_qrcode.png)](https://pages.ct.cozytren.ch/m1s2-eng-presentation)
## 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)
```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 ``` \ No newline at end of file