From 666a92ecd0cf38264220dbab87f01739d0e8bd8d Mon Sep 17 00:00:00 2001 From: Jan Date: Wed, 2 Oct 2024 12:46:24 +0200 Subject: [PATCH 1/4] Now with calibration phase --- slaeforms/templates/datenschutz.html | 8 +- slaeforms/templates/startpage.html | 14 +-- slaeforms/userstudy1.json | 178 +++++++++++++++++++++++++++ 3 files changed, 188 insertions(+), 12 deletions(-) diff --git a/slaeforms/templates/datenschutz.html b/slaeforms/templates/datenschutz.html index 9db28d6..7806cee 100644 --- a/slaeforms/templates/datenschutz.html +++ b/slaeforms/templates/datenschutz.html @@ -34,7 +34,7 @@ Organisation: Deutsches Forschungszentrum für Künstliche Intelligenz, 66123 Saarbrücken

- Ansprechpartner: Jan Dickmann, jan.dickmann@web.de + Ansprechpartner: Patrick Gebhard, patrick.gebhard@dfki.de

Datenschutzbeauftragter @@ -59,10 +59,8 @@ Form von Text oder Videoaufnahmen geben. Diese Daten werden soweit möglich vollständig anonymisiert gespeichert. Aufgrund der Charakteristik der Videoaufnahmen ist eine vollständige Anonymisierung im Auswertungsprozess nicht möglich. Die persönliche Zuordnung der betroffenen Personen ist jedoch zu jedem - Zeitpunkt für die Verarbeitung der Daten unerheblich. Die Videoaufnahmen werden nach der Studie - ausgewertet und als Text ausgeschrieben. Videoausschnitte die nicht als Text weiterverarbeitet, werden - können, aber wichtiges Feedback beinhalten, werden nachträglich anonymisiert, um die Identität der - Person im Video zu verbergen. + Zeitpunkt für die Verarbeitung der Daten unerheblich. Die Videoaufnahmen werden nach der Studie von uns + ausgewertet und soweit wie möglich als Text ausgeschrieben.

Rechtsgrundlage der Verarbeitung diff --git a/slaeforms/templates/startpage.html b/slaeforms/templates/startpage.html index 9100b84..5305be9 100644 --- a/slaeforms/templates/startpage.html +++ b/slaeforms/templates/startpage.html @@ -22,20 +22,20 @@ Hallo und willkommen zu dieser Studie, danke für Ihre Teilnahme.

- In dieser Studie geht es um die Entwicklung von Gebärdensprachavataren, also animierte 3D-Avatare, die - Gebärdensprache sprechen sollen. - + In dieser Studie geht es um die Entwicklung von Gebärdensprachavataren.

Bitte beachten Sie, dass diese Avatare noch in einer frühen Entwicklungsphase und noch nicht für den - Gebrauch in der echten Welt geeignet sind. In dieser Studie geht es darum, einzelne Aspekte der Avatare - und neue technologische Ansätze zu testen. Dementsprechend haben die Avatare noch viele offensichtliche - Schwächen, wie zum Beispiel, dass bisher nur die Arme und der Oberkörper, aber nicht das Gesicht - animiert ist. + Gebrauch in einer App/einem Computerprogramm oder auf einer Webseite geeignet sind. In dieser Studie + geht es darum, einzelne Aspekte der Avatare und neue technologische Ansätze zu testen. Dementsprechend + haben die Avatare noch viele offensichtliche Schwächen, wie zum Beispiel, dass bisher nur die Arme und + der Oberkörper, aber nicht das Gesicht animiert ist. Bitte bewerten Sie nur die Qualität der Hände und + Arme.

Diese Studie richtet sich an Menschen, die Gebärdensprache beherrschen, insbesondere gehörlose Menschen. Nehmen Sie bitte nur Teil, wenn Sie (Deutsche) Gebärdensprache beherrschen. + Die Studie dauert ca. 20 Minuten.

Während der Studie werden sie sich Videos anschauen, diese bewerten und Feedback dazu geben können. diff --git a/slaeforms/userstudy1.json b/slaeforms/userstudy1.json index 204bd45..f106da6 100644 --- a/slaeforms/userstudy1.json +++ b/slaeforms/userstudy1.json @@ -285,6 +285,184 @@ "type": "SinglePage", "template": "p1intro.html" }, + "Block 2 calibration": { + "type": "TaskTemplate", + "template": "standard_template.html", + "stimuli": { + "type": "single_video", + "order": "random", + "list": { + "video_1": "0009-inflected.mp4", + "video_2": "0009-mocap.mp4", + "video_3": "0009-simple.mp4" + }, + "configuration": { + "embed": "no" + } + }, + "questions": { + "question0": { + "type": "textblock", + "name": "fragestellung", + "text": "Bitte bewerten Sie das Video bezüglich der Natürlichkeit, Verständlichkeit und grammatikalischen Korrektheit:" + }, + "question1": { + "type": "likert-basic", + "name": "natürlichkeit", + "text": "Natürlichkeit", + "required": "true", + "points": { + "naturalness-p1": { + "value": "1", + "text": "Gar nicht gut 👎" + }, + "naturalness-p2": { + "value": "2", + "text": "" + }, + "naturalness-p3": { + "value": "3", + "text": "" + }, + "naturalness-p4": { + "value": "4", + "text": "Weder gut noch schlecht" + }, + "naturalness-p5": { + "value": "5", + "text": "" + }, + "naturalness-p6": { + "value": "6", + "text": "" + }, + "naturalness-p7": { + "value": "7", + "text": "Sehr gut 👍" + } + } + }, + "question2": { + "type": "likert-basic", + "name": "verständlichkeit", + "text": "Verständlichkeit", + "required": "true", + "points": { + "understandability-p1": { + "value": "1", + "text": "Gar nicht gut 👎" + }, + "understandability--p2": { + "value": "2", + "text": "" + }, + "understandability--p3": { + "value": "3", + "text": "" + }, + "understandability--p4": { + "value": "4", + "text": "Weder gut noch schlecht" + }, + "understandability--p5": { + "value": "5", + "text": "" + }, + "understandability--p6": { + "value": "6", + "text": "" + }, + "understandability--p7": { + "value": "7", + "text": "Sehr gut 👍" + } + } + }, + "question3": { + "type": "likert-basic", + "name": "gramKorrektheit", + "text": "Grammatikalische Korrektheit", + "required": "true", + "points": { + "gramKorrektheit-p1": { + "value": "1", + "text": "Gar nicht gut 👎" + }, + "gramKorrektheit-p2": { + "value": "2", + "text": "" + }, + "gramKorrektheit-p3": { + "value": "3", + "text": "" + }, + "gramKorrektheit-p4": { + "value": "4", + "text": "Weder gut noch schlecht" + }, + "gramKorrektheit-p5": { + "value": "5", + "text": "" + }, + "gramKorrektheit-p6": { + "value": "6", + "text": "" + }, + "gramKorrektheit-p7": { + "value": "7", + "text": "Sehr gut 👍" + } + } + }, + "question4": { + "type": "textinput", + "name": "text_feedback", + "text": "Hier können sie Feedback zum Avatar geben", + "required": "false", + "size": "250" + }, + "question5": { + "type": "videoinput", + "text": "Hier können sie per Video Feedback geben (max. 70 Sekunden)", + "name": "video_feedback", + "required": "false" + } + }, + "infovideo": { + "videourl": "videos/platzhalter-video.mp4", + "htmlblock": "p1infos.html", + "configuration": { + "embed": "no" + } + }, + "database_table": { + "table_name": "p1_video_calibration", + "fields": { + "natürlichkeit": { + "type": "integer", + "nullable": "false" + }, + "verständlichkeit": { + "type": "integer", + "nullable": "false" + }, + "gramKorrektheit": { + "type": "integer", + "nullable": "false" + }, + "text_feedback": { + "type": "string", + "size": "250", + "nullable": "true" + }, + "video_upload": { + "type": "string", + "size": "100", + "nullable": "true" + } + } + } + }, "Block 2": { "type": "TaskTemplate", "template": "standard_template.html", From 3ca3307528919862719253fe09f4ba468cd5939f Mon Sep 17 00:00:00 2001 From: Jan Date: Wed, 2 Oct 2024 12:54:15 +0200 Subject: [PATCH 2/4] gitignore the exports --- .gitignore | 1 + slaeforms/exports/demographic_data.csv | 10 +++++++--- slaeforms/exports/user.csv | 11 +++++++---- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 34a591a..5b91ab0 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ instance/ uploads/ zip_exports/ +exports/ .pytest_cache/ .coverage diff --git a/slaeforms/exports/demographic_data.csv b/slaeforms/exports/demographic_data.csv index f046593..71eed62 100644 --- a/slaeforms/exports/demographic_data.csv +++ b/slaeforms/exports/demographic_data.csv @@ -1,3 +1,7 @@ -id,user_id,date_created,stimulus_name,alter,geschlecht,hoerstatus,bevorzugte_kommunikation,gebrdenzeitraum,gebrdensprachkompetenz -33b2f49f-ccc8-48c5-b7f6-fa4bb9aa1bf3,60c9c65b-b6b7-4510-8fb1-e9f220a7c46e,2024-06-27 17:43:45.381824,empty_stimulus,1,Mnnlich,Hrend,Gesprochene Sprache,1.0,1 -70afa75b-d522-4f26-b8f5-1a22ef425ad5,253b881d-cc08-4835-bf03-4d0ffdd8eddd,2024-06-27 17:44:43.877367,empty_stimulus,1,Weiblich,Schwerhrig,Text,1.0,1 +id,user_id,date_created,stimulus_name,alter,geschlecht,bildung,hoerstatus,wann_gehrlos,wann_gebrdensprache,eltern_gehrlos,zuhause_sl,arbeit_sl,avatar_erfahrung +e0b08915-2975-42ad-8a7c-6c057d914120,1cbab591-9fe8-4e2b-adce-e40ef14ed49d,2024-09-19 15:16:25.413235,empty_stimulus,23,Mnnlich,Bachelor,Hrend,-1,23,keiner,zuhause-Deutsch,"arbeit-Deutsch,arbeit-Sonstige",Ja +6b1d95ed-646d-42dc-b386-d3aacc41d6ed,e8797746-73a1-4b0a-b644-c084d155b3d6,2024-09-19 16:21:20.372629,empty_stimulus,2,Mnnlich,Hauptschule,GehrlosCI,2,3,beide,"zuhause-Deutsch,zuhause-Gebrdensprache","arbeit-Deutsch,arbeit-Gebrdensprache,arbeit-Sonstige",Ja +0103472b-943b-4728-9b50-dc43a886facf,9eb6c08d-1eab-44c3-87a6-8a0a6848adc6,2024-09-21 11:40:35.811739,empty_stimulus,2,Mnnlich,Abitur,Schwerhrig,2,2,einer,zuhause-Deutsch,arbeit-Sonstige,Nein +88e4cb27-0d97-466d-a164-55b657d648ef,dd296f2b-a497-4957-899a-9393b25ab86f,2024-09-23 14:52:29.344441,empty_stimulus,2,Divers,Realschule,GehrlosCI,2,2,einer,"zuhause-Deutsch,zuhause-Gebrdensprache",arbeit-Deutsch,Ja +85e2cc7c-25ba-473b-a3d1-26fac4ca9629,6ece9745-96d7-40e1-a8b1-598608723f3a,2024-10-02 11:51:05.384542,empty_stimulus,67,Mnnlich,Master,Schwerhrig,66,66,keiner,"zuhause-Deutsch,zuhause-Gebrdensprache",arbeit-Deutsch,Nein +54f00de7-4351-47f1-a798-1c5326b3d8da,1e63ca71-bb2e-4d19-a69e-b7e8dccaba35,2024-10-02 11:56:41.492195,empty_stimulus,27,Mnnlich,Bachelor,Hrend,-1,23,keiner,zuhause-Deutsch,"arbeit-Deutsch,arbeit-Sonstige",Ja diff --git a/slaeforms/exports/user.csv b/slaeforms/exports/user.csv index 7b0ac97..7155df4 100644 --- a/slaeforms/exports/user.csv +++ b/slaeforms/exports/user.csv @@ -1,4 +1,7 @@ -user_id,device_id,question_order,date_created,form_completed -60c9c65b-b6b7-4510-8fb1-e9f220a7c46e,f9a2bd4b-e1ef-43a2-a358-a74feea0076d,"{'Block 0': [('video_1', 'video_2'), ('video_2', 'video_1')], 'Block 1': ['empty_stimulus'], 'Block 2': ['video_2', 'video_1']}",2024-06-27 17:43:23.511495,False -253b881d-cc08-4835-bf03-4d0ffdd8eddd,f9a2bd4b-e1ef-43a2-a358-a74feea0076d,"{'Block 0': [('video_1', 'video_2'), ('video_2', 'video_1')], 'Block 1': ['empty_stimulus'], 'Block 2': ['video_1', 'video_2']}",2024-06-27 17:44:22.713605,True -89ad42ff-3310-4548-b179-7df9c138e794,f9a2bd4b-e1ef-43a2-a358-a74feea0076d,"{'Block 0': [('video_1', 'video_2'), ('video_2', 'video_1')], 'Block 1': ['empty_stimulus'], 'Block 2': ['video_2', 'video_1']}",2024-06-27 17:56:57.288776,False +user_id,device_id,question_order,date_created,form_completed +1cbab591-9fe8-4e2b-adce-e40ef14ed49d,71f05b18-36d1-45bc-8b7a-418d05a78c3b,"{'Block 1': ['empty_stimulus'], 'Block 2': ['video_7', 'video_15', 'video_5', 'video_9', 'video_3', 'video_8', 'video_11', 'video_6', 'video_4', 'video_12', 'video_1', 'video_14', 'video_10', 'video_13', 'video_2'], 'Block 3': [('video_1', 'video_1')], 'Block 4': ['video_1']}",2024-09-19 15:15:17.910737,True +e8797746-73a1-4b0a-b644-c084d155b3d6,71f05b18-36d1-45bc-8b7a-418d05a78c3b,"{'Block 1': ['empty_stimulus'], 'Block 2': ['video_10', 'video_11', 'video_14', 'video_5', 'video_1', 'video_2', 'video_12', 'video_7', 'video_3', 'video_13', 'video_8', 'video_6', 'video_4', 'video_15', 'video_9'], 'Block 3': [('video_1', 'video_1')], 'Block 4': ['video_1']}",2024-09-19 16:21:05.738180,False +9eb6c08d-1eab-44c3-87a6-8a0a6848adc6,ccc2054d-295e-47f5-b277-2282109c4ed1,"{'Block 1': ['empty_stimulus'], 'Block 2': ['video_9', 'video_2', 'video_4', 'video_6', 'video_13', 'video_14', 'video_15', 'video_11', 'video_10', 'video_7', 'video_5', 'video_8', 'video_12', 'video_1', 'video_3'], 'Block 3': [('video_1', 'video_1')], 'Block 4': ['video_1']}",2024-09-21 11:40:21.272823,False +dd296f2b-a497-4957-899a-9393b25ab86f,d94cc6b1-958c-43e4-9789-9e0c369ba29a,"{'Block 1': ['empty_stimulus'], 'Block 2': ['video_2', 'video_11', 'video_9', 'video_6', 'video_4', 'video_5', 'video_3', 'video_8', 'video_10', 'video_7', 'video_15', 'video_14', 'video_1', 'video_13', 'video_12'], 'Block 3': [('video_1', 'video_1')], 'Block 4': ['video_1']}",2024-09-23 14:52:02.034386,False +6ece9745-96d7-40e1-a8b1-598608723f3a,588e94df-870d-4c61-b3c8-098edf01e988,"{'Block 1': ['empty_stimulus'], 'Block 2': ['video_14', 'video_8', 'video_5', 'video_6', 'video_1', 'video_7', 'video_4', 'video_2', 'video_15', 'video_9', 'video_11', 'video_13', 'video_10', 'video_3', 'video_12'], 'Block 3': [('video_1', 'video_1')], 'Block 4': ['video_1'], 'Block 5': ['video_1']}",2024-10-02 11:49:11.652504,False +1e63ca71-bb2e-4d19-a69e-b7e8dccaba35,8a1063c3-7130-4ab9-9d88-bd6bf470e685,"{'Block 1': ['empty_stimulus'], 'Block 2': ['video_13', 'video_2', 'video_12', 'video_8', 'video_3', 'video_7', 'video_14', 'video_1', 'video_11', 'video_9', 'video_15', 'video_6', 'video_4', 'video_5', 'video_10'], 'Block 3': [('video_1', 'video_1')], 'Block 4': ['video_1'], 'Block 5': ['video_1']}",2024-10-02 11:55:43.185190,True From 38e9c9f7ed53904df0455742cdec2815607b3dea Mon Sep 17 00:00:00 2001 From: Jan Date: Wed, 2 Oct 2024 13:03:32 +0200 Subject: [PATCH 3/4] Can now export the db --- slaeforms/app.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/slaeforms/app.py b/slaeforms/app.py index 14aba46..805fc1d 100644 --- a/slaeforms/app.py +++ b/slaeforms/app.py @@ -515,6 +515,17 @@ def export_all_tables(): zipdir('exports/', zipf) return send_file("zip_exports/all_tables.zip", as_attachment=False, download_name="all_tables.zip") + +# export Database +@app.route("/export_db") +def export_db(): + if not session.get("logged_in"): + return redirect("/login") + + with ZipFile('zip_exports/db.zip', 'w') as zipf: #no compression, need to add zipfile.ZIP_DEFLATED for compression + zipdir('instance/', zipf) + + return send_file("zip_exports/db.zip", as_attachment=False, download_name="db.zip") # export CSV @app.route("/export_all_videos") From 0d92d281e15b6cb659e6cd38af21cde73db93e6d Mon Sep 17 00:00:00 2001 From: Jan Date: Wed, 2 Oct 2024 13:19:12 +0200 Subject: [PATCH 4/4] New Email: avatarstudy@proton.me as contact --- slaeforms/default.json | 2 +- slaeforms/templates/datenschutz.html | 2 +- slaeforms/templates/endpage.html | 2 +- slaeforms/templates/startpage.html | 4 ++-- slaeforms/templates/teststartpage.html | 4 ++-- slaeforms/test.json | 2 +- slaeforms/userstudy1.json | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/slaeforms/default.json b/slaeforms/default.json index 581e59a..48840c1 100644 --- a/slaeforms/default.json +++ b/slaeforms/default.json @@ -295,7 +295,7 @@ "question1": { "type": "textinput", "name": "formfeedback", - "text": "Das war der Prototyp für dieses Studientool. Über Feedback würde ich mich freuen. Entweder hier oder per Email unter: jan.dickmann@web.de", + "text": "Das war der Prototyp für dieses Studientool. Über Feedback würde ich mich freuen. Entweder hier oder per Email unter: avatarstudy@proton.me", "required": "false", "size": "1000" } diff --git a/slaeforms/templates/datenschutz.html b/slaeforms/templates/datenschutz.html index 7806cee..a5a0545 100644 --- a/slaeforms/templates/datenschutz.html +++ b/slaeforms/templates/datenschutz.html @@ -143,7 +143,7 @@

Mir ist bekannt, dass ich das Recht habe, meine Einwilligung jederzeit zu widerrufen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten - Verarbeitung nicht berührt. Ein Widerruf kann per Email an jan.dickmann@web.de geschickt werden. + Verarbeitung nicht berührt. Ein Widerruf kann per Email an avatarstudy@proton.me geschickt werden.

diff --git a/slaeforms/templates/endpage.html b/slaeforms/templates/endpage.html index aa790d4..d76e2b6 100644 --- a/slaeforms/templates/endpage.html +++ b/slaeforms/templates/endpage.html @@ -21,7 +21,7 @@ Personen Teilen würden: https://slaeforms.leafbla.de/start

- Falls sie noch Fragen oder Anmerkungen haben, schreiben sie uns unter: jan.dickmann@web.de + Falls sie noch Fragen oder Anmerkungen haben, schreiben sie uns unter: avatarstudy@proton.me

diff --git a/slaeforms/templates/startpage.html b/slaeforms/templates/startpage.html index 5305be9..0719d0a 100644 --- a/slaeforms/templates/startpage.html +++ b/slaeforms/templates/startpage.html @@ -55,7 +55,7 @@

Die Teilnahme an dieser Studie ist komplett freiwillig, Sie können die Studie zu jedem Zeitpunkt abbrechen, indem Sie die Seite einfach schließen. Sie können außerdem die Löschung aller Daten bei uns - beantragen: jan.dickmann@web.de + beantragen: avatarstudy@proton.me

Ich, bestätige, dass ich die „Information betroffener Personen zur Verarbeitung personenbezogener Daten“ @@ -67,7 +67,7 @@

Mir ist bekannt, dass ich das Recht habe, meine Einwilligung jederzeit zu widerrufen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten - Verarbeitung nicht berührt. Ein Widerruf kann per Email an jan.dickmann@web.de geschickt werden. + Verarbeitung nicht berührt. Ein Widerruf kann per Email an avatarstudy@proton.me geschickt werden.

diff --git a/slaeforms/templates/teststartpage.html b/slaeforms/templates/teststartpage.html index 62c4fd8..f57bdbe 100644 --- a/slaeforms/templates/teststartpage.html +++ b/slaeforms/templates/teststartpage.html @@ -48,7 +48,7 @@

Die Teilnahme an dieser Studie ist komplett freiwillig, Sie können die Studie zu jedem Zeitpunkt abbrechen, indem Sie die Seite einfach schließen. Sie können außerdem die Löschung aller Daten bei uns - beantragen: jan.dickmann@web.de + beantragen: avatarstudy@proton.me

Ich, bestätige, dass ich die „Information betroffener Personen zur Verarbeitung personenbezogener Daten“ @@ -60,7 +60,7 @@

Mir ist bekannt, dass ich das Recht habe, meine Einwilligung jederzeit zu widerrufen. Durch den Widerruf der Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten - Verarbeitung nicht berührt. Ein Widerruf kann per Email an jan.dickmann@web.de geschickt werden. + Verarbeitung nicht berührt. Ein Widerruf kann per Email an avatarstudy@proton.me geschickt werden.

diff --git a/slaeforms/test.json b/slaeforms/test.json index 20aae20..fa2a597 100644 --- a/slaeforms/test.json +++ b/slaeforms/test.json @@ -300,7 +300,7 @@ "question1": { "type": "textinput", "name": "formfeedback", - "text": "Das war der Prototyp für dieses Studientool. Über Feedback würde ich mich freuen. Entweder hier oder per Email unter: jan.dickmann@web.de", + "text": "Das war der Prototyp für dieses Studientool. Über Feedback würde ich mich freuen. Entweder hier oder per Email unter: avatarstudy@proton.me", "required": "false", "size": "1000" } diff --git a/slaeforms/userstudy1.json b/slaeforms/userstudy1.json index f106da6..259c13c 100644 --- a/slaeforms/userstudy1.json +++ b/slaeforms/userstudy1.json @@ -1052,7 +1052,7 @@ "question0": { "type": "textblock", "name": "fragestellung", - "text": "Vielen Dank für Ihre Teilnahme an der Studie, wenn Sie noch weiteres Feedback geben möchten oder Anmerkungen haben, können Sie uns diese hier mitteilen. Wenn Sie noch weitere Fragen haben, schreiben Sie uns bitte unter: jan.dickmann@web.de" + "text": "Vielen Dank für Ihre Teilnahme an der Studie, wenn Sie noch weiteres Feedback geben möchten oder Anmerkungen haben, können Sie uns diese hier mitteilen. Wenn Sie noch weitere Fragen haben, schreiben Sie uns bitte unter: avatarstudy@proton.me" }, "question5": { "type": "textinput",