Compare commits
12 Commits
423cd2590a
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 6cf5befe9d | |||
| da0adbdf3e | |||
| 839add7809 | |||
| 320d7ac7f3 | |||
| b07eef79e8 | |||
| 3fd3943133 | |||
| e31388f601 | |||
| e9215b634b | |||
| 6a320569bd | |||
| 99f628a12d | |||
| 68555de14c | |||
| 054f56105e |
@@ -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 }}"
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# 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/m1s2-eng-presentation
|
||||
- PDF: https://pages.ct.cozytren.ch/m1s2-eng-presentation/presentation.pdf
|
||||
|
||||
## Toolchain
|
||||
- Marp ecosystem for markdown presentation rendering
|
||||
- MarpX for custom parsing logic + custom themes
|
||||
- Gitea actions auto render & upload pipeline
|
||||
|
After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 157 KiB |
|
After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 365 B |
|
After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 216 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 138 KiB |
|
Before Width: | Height: | Size: 570 B After Width: | Height: | Size: 561 B |
|
Before Width: | Height: | Size: 157 KiB |
|
Before Width: | Height: | Size: 571 B After Width: | Height: | Size: 565 B |
|
Before Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 1.6 MiB |
@@ -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
|
||||
|
After Width: | Height: | Size: 101 KiB |
@@ -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,259 +16,173 @@ size: 16:9
|
||||
lang: de
|
||||
math: katex
|
||||
---
|
||||
<style>
|
||||
.inline-img {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: .5rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- _class: "title-academic" -->
|
||||
|
||||

|
||||
|
||||
<div class="title">Shifty: A Weight-Shifting Dynamic Passive Haptic Proxy
|
||||
to Enhance Object Perception in Virtual Reality</div>
|
||||
<div class="subtitle">Präsentation zum Paper von <i>A. Zenner</i> und <i>A. Krüger</i> (2017)</div>
|
||||
<div class="author">Romane Viton</div>
|
||||
<div class="date">2026-05-26</div>
|
||||
<div class="organization">DFI-STI, htw saar</div>
|
||||
|
||||
---
|
||||
# Fragerunde
|
||||
|
||||

|
||||
|
||||
* Wer hat schon VR getestet?
|
||||
* Wie immersiv war die Erfahrung?
|
||||
* Gab es haptisches Feedback?
|
||||
* Wenn ja: wie wurde das implementiert?
|
||||
|
||||
---
|
||||
# Was ist **haptisches Feedback** ?
|
||||
|
||||
* 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
|
||||
|
||||
---
|
||||
# Nutzung der **Visual Dominance**
|
||||
* **Alle Sinne** tragen zur gelebten Erfahrung bei einer Simulation bei
|
||||
* Bei Konflikten hat die **Sicht** bei der Informationsverarbeitung **Vorrang** [TODO CITE]
|
||||
* 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**
|
||||
|
||||
---
|
||||
# **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
|
||||
|
||||
---
|
||||
# **Hintergrund** des Papers
|
||||

|
||||
|
||||
---
|
||||
# **Shifty** als DPHF-Versuch
|
||||
|
||||
### Ziel: Gewicht nach oben bzw. unten bringen, um mehr bzw. weniger Kraft zu brauchen, um gehoben zu werden
|
||||
|
||||
|
||||
|
||||
<div class="multicolumn" align="center"><div>
|
||||
|
||||

|
||||
|
||||
</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 class="title">Privacy by design: DIY Marp(X) AI presentations without sending data to third parties</div>
|
||||
<div class="subtitle">
|
||||
... and why you should use them too!
|
||||
</div>
|
||||
<div class="author">Romane Viton</div>
|
||||
<div class="date">2026-05-24</div>
|
||||
<div class="organization">DFI-203, htw saar</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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div><div>
|
||||
|
||||

|
||||
|
||||
</div></div>
|
||||
# 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?
|
||||
|
||||
---
|
||||
# Experiment 1: **kontinuierliche Änderung der Länge bzw. Dicke**
|
||||
# <div class="inline-img">  **Markdown**
|
||||
## (It's everywhere - you've most likely dealt with it at least once)
|
||||
```md
|
||||
# Main title
|
||||
## Heading 2 - You can make:
|
||||
|
||||
<div class="multicolumn"><div>
|
||||
|
||||

|
||||
|
||||
</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
|
||||
|
||||
</div></div>
|
||||
- *italic text*
|
||||
- **bold text**
|
||||
- ~~strikethrough~~
|
||||
- lists
|
||||
- [links](http://example.com)
|
||||
- 
|
||||
- > Quotes
|
||||
```
|
||||
|
||||
---
|
||||
<!-- _class: quote -->
|
||||
# Erwartungen der Autoren
|
||||
|
||||
"We expect *Shifty* to outperform [PHF] in the subjective measures **realism and fun**, but **not in exertion**."
|
||||
|
||||
|
||||
|
||||
*Stimmt das aber wirklich?* 🤔
|
||||
# Why not write **presentations** as text ?
|
||||
## <div class="inline-img"> Introducing:  (Yuki Hattori)
|
||||
* Markdown presentation ecosystem
|
||||
* <span class="inline-img"> Comes as a  command line tool or a  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!
|
||||
|
||||
---
|
||||
# Experiment 1: **Ergebnisse**
|
||||
|
||||

|
||||
|
||||
<!-- In allen Fällen wurde DPHF besser als PHF bewertet, was die Erwartungen übertroffen hat. -->
|
||||
|
||||
</center></div></div>
|
||||
|
||||
# **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  `git`?
|
||||
* We already have a **tool** to collaborate on versions of text-based projects!
|
||||
|
||||
---
|
||||
<!-- _class: chapter -->
|
||||
# Experiment 2
|
||||
## <br>Das Gewicht bewegt sich aber langsam ! <br><br> Kann man trotzdem (realistisch) schwere Objekte heben ?
|
||||
# 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 infrastructure in an afternoon
|
||||
- (less than 100 lines of `docker-compose.yml`)
|
||||
|
||||
---
|
||||
# **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)
|
||||
- TL;DR: **<box>On pushing changes $\rightarrow$ Auto-Render and Upload**
|
||||
- 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 will do
|
||||
Simple software deployment|Docker
|
||||
HTTPS support|Caddy
|
||||
Git collaboration|Gitea
|
||||
Presentation hosting|Git-Pages
|
||||
Automated deployment|Gitea Actions
|
||||
</center>
|
||||
|
||||
---
|
||||
# Experiment 2: **Heben von virtuellen Objekten**
|
||||
# ...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?**
|
||||
|
||||
---
|
||||
# ...wasn't this supposed to **integrate LLMs** as well?
|
||||
* It can be done as well!
|
||||
* Head start when hosting models: `Ollama` (from Ollama Inc.)
|
||||
* Automatically handles the download and execution of open models locally
|
||||
* **<box>💡 Works even better when handling content, since everything is text-based !**
|
||||
* We can integrate this into our IDE of choice and never have to worry about our data being sent to anyone!
|
||||
|
||||
---
|
||||
# **Pros** and **cons** from experience
|
||||
|
||||
<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
|
||||
## Pros
|
||||
- Enhanced privacy
|
||||
- Very flexible if you know webdev
|
||||
- No need to leave the traditional dev toolset
|
||||
- Open-Source community tools, no dependency on a specific company
|
||||
- Actually know what you're setting up
|
||||
|
||||
</div><div>
|
||||
|
||||

|
||||
## Cons
|
||||
- Steep learning curve
|
||||
- Hard to collaborate with non-technical people
|
||||
- Need to be comfortable with text-based tools
|
||||
- Theme can be limiting if not chosen correctly
|
||||
|
||||
</div></div>
|
||||
|
||||
|
||||
---
|
||||
# Experiment 2: **Heben von virtuellen Objekten**
|
||||
<center>
|
||||
|
||||
### Von den Teilnehmenden getestete Varianten
|
||||
|
||||
Getestete Variante | 🖐️ | 👁️ | 👂
|
||||
------------------:|:----:|:--------------:|:-------:
|
||||
`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>
|
||||
|
||||
---
|
||||
## TODO rest of content
|
||||
# **Conclusion**
|
||||
- Presentation software and AI often feels "unreachable" and only hostable if you're a company and have the resources for it
|
||||
- It doesn't have to be that way!
|
||||
- Don't contribute to that narrative $\implies$ <box>De-mystify the topic!
|
||||
- *Your* data belongs to *you*; own it!
|
||||
|
||||
---
|
||||
<!-- _class: "references" -->
|
||||
# Quellen
|
||||
|
||||
<div class="multicolumn"><div>
|
||||
|
||||
1. MAIN PAPER TODO
|
||||
2. https://wwwx.cs.unc.edu/Research/hyre/papers/EVEAuthored/2005-VR-Burns.pdf (Visual Dominance)
|
||||
3. https://www.researchgate.net/profile/Abdulaziz-Alshaer/publication/303790509_Investigating_visual_dominance_with_a_virtual_driving_task/links/575275a608ae02ac1277b8e7/Investigating-visual-dominance-with-a-virtual-driving-task.pdf (Visual Dominance with wheelchairs)
|
||||
4. https://www.youtube.com/watch?v=1l0wKk6q_ss (Demo Video from researchers)
|
||||
|
||||
</div><div>
|
||||
|
||||
TODO move references on 2 cols to improve readability
|
||||
|
||||
</div></div>
|
||||
|
||||
|
||||
# References
|
||||
* [Marp](https://marp.app)
|
||||
* [MarpX Themes](TODO)
|
||||
* []
|
||||
|
||||
---
|
||||
# MarpX-Präsentation online verfügbar
|
||||
# **This presentation** is online too!
|
||||
|
||||
<div class="multicolumn"><div align="center">
|
||||
|
||||
## PDF
|
||||
|
||||
[](https://pages.ct.cozytren.ch/sti-presentation/presentation.pdf)
|
||||
[](https://pages.ct.cozytren.ch/m1s2-eng-presentation/presentation.pdf)
|
||||
|
||||
</div><div align="center">
|
||||
|
||||
## HTML
|
||||
|
||||
[](https://pages.ct.cozytren.ch/sti-presentation)
|
||||
[](https://pages.ct.cozytren.ch/m1s2-eng-presentation)
|
||||
|
||||
</div><div align="center">
|
||||
|
||||
## Repository
|
||||
|
||||
[](https://gitea.ct.cozytren.ch/romane/sti-presentation)
|
||||
[](https://gitea.ct.cozytren.ch/romane/m1s2-eng-presentation)
|
||||
|
||||
</div></div>
|
||||
</div></div>
|
||||
|
||||
```bash
|
||||
wget https://pages.ct.cozytren.ch/m1s2-eng-presentation/presentation.pdf
|
||||
git clone https://gitea.ct.cozytren.ch/romane/m1s2-eng-presentation
|
||||
|
||||
```
|
||||