App Adaptype
Von Florian Mayr am 24.02.2022
Technologien
Basis für die Anwendung ist eine Android-App, die in Java geschrieben wurde. Darin läuft ein WebContainer in dem eine „normale“ Webapp aufgerufen wird. Die Webapp ist mit SvelteKit programmiert. Zusätzlich werden Daten an ein simples Firebase Backend gesendet.
Funktionen
Hauptaugenmerk bei der App Adaptype ist die Funktion zur Messung vom Abstand zwischen Smartphone und Gesicht. Diese Funktion wird benötigt um, je nach Abstand die Schriftgröße automatisch anzupassen. Basis meiner Programmierung war das Paper und das GitHub Repository von Ivan Ludvig Tereshko. Hierbei werden Gesicht und Augen erkannt, und anhand des Abstands zwischen den Augen wird der Abstand zwischen Smartphone und Gesicht berechnet. Dieser Wert wird in Android erfasst und berechnet, und an den WebContainer weitergegeben, welche auf Chrome basiert.
Eine zweite Hauptfunktion wird die Weitergabe des Werts vom Lichtsensor, um damit das visuelle Erscheinungsbild der App zu verändern. Da diese Funktionalität sehr verbreitet ist, wurde mit der anderen Funktion begonnen. Im aktuellen Prototyp ist sie noch nicht vollständig ausprogrammiert.
Probleme
Da Java und Android für mich völlig neu waren, entstand eine erhebliche Einstiegshürde. Die Idee, die gesamte App nur mit Android zu programmieren wurde somit nach einigen Versuchen, wieder verworfen. Die Umsetzung mit dem WebContainer bringt somit einen prinzipiellen Vorteil: Jede „Normale“ Website läuft in diesem Container und die Variable mit dem Abstand zwischen Handy und Gesicht kann relativ einfach an Html / Js übergeben werden.
SvelteKit
Das Framework SvelteKit ist relativ neu und noch im Beta Stadium. Dementsprechend sind auch Dokumentation, Tutorials bzw. StackOverflow nocht nicht so weit wie beispielsweise bei VueJS. Prinzipiell war das nicht schlimm. Bei der Übergabe vom Wert von Android zu SvelteKit war es ein bisschen mühsamer. Im Vergleich dazu funktionierte es mit der Svelte Version ohne „KIT“ auf eine andere weise, was mir anfangs nicht klar war. Im Nachhinein ist man immer schlauer 🙂
Future Todos
Da Teile der App für meine Masterarbeit verwendet werden, wird die Entwicklung noch etwas weiter gehen. Die Funktion mit dem Lichtsensor ist auf jeden Fall noch ein Must-have. Des Weiteren wäre es gut, wenn nach der Veränderung der Schriftgröße, der letzte gelesene Satz wieder automatisch in den Viewport springt. Diese Funktion ist bereits begonnen, aber noch nicht ganz fertig.
Quellen
https://www.techrxiv.org/articles/preprint/Calculating_screen_to_face_distance/12951320
https://github.com/IvanLudvig/Screen-to-face-distance
The comments are closed.