Augmented Reality

AR: Client Server System gewinnt GRAWE High Potential Award

Ein Beitrag von
29. November 2018
Client Server System
Ich habe heute die Ehre, in meinem Blogartikel ein paar Worte über meine Masterarbeit zu verlieren. Gleich vorab für alle, die schon den ‚Schließen‘ Button anvisieren, weil sie sich kein technisches Gebrabbel anhören möchten, kann ich schon mal Entwarnung geben. Ich lasse die technischen Details weg (dazu kann man ja meine Masterarbeit lesen ;-)) und beschränke mich auf die Idee, die Vorteile und was das Ganze mit CodeFlügel zu tun hat.

Da nun hoffentlich schon alle ganz gespannt sind, um was es sich bei LARA handelt und wer oder was sie ist, beginne ich erst mit der Danksagung, damit sie auch jeder liest. 😉

 

 

Dass so eine Arbeit und ein Studium nur mit Unterstützung möglich ist, weiß glaube ich jeder der so etwas schon einmal gemacht hat. Aber in meinen Fall gibt es dann auch noch eine Zusatzkomponente namens CodeFlügel. Hiermit bedanke ich mich gleich einmal bei meinen Chefs Claus und Moosi, die mir diese Arbeit in Zusammenspiel mit meinem Arbeitsleben ermöglicht haben. Auch ein Dankeschön an alle CF Kolleginnen und Kollegen die immer Zeit für Fragen und Diskussionen hatten. Ebenfalls bedanke ich mich bei Herrn Dr. Elmar Krainz für die tolle wissenschaftlich Betreuung der Arbeit. Ein großes Danke geht natürlich an die FH Joanneum, wo ich einen wirklich tollen Master im Studiengang IT und Mobile Security abschließen durfte. Abschließend geht mein Dank auch noch an meine Familie (die natürlich alle brave CodeFlügel Blogleser sind) fürs Motivieren und Korrekturlesen.

Idee

Die fleißigen Blogleser haben sicher mitbekommen, dass ich mich schon seit einigen Jahren mit dem Thema Augmented Reality und insbesondere mit der Einfachheit und Zuverlässigkeit von Augmented Reality Apps beschäftige (siehe meine alten Blogs). Dies brachte mich auch dazu, meine Masterarbeit in diesem Gebiet zu schreiben. Obwohl Augmented Reality (AR) seit vielen Jahren ein Trendthema ist, wurden die Verwaltung und der Umgang mit digitalen Informationen noch nicht im Detail analysiert. Während AR viele nützliche Vorteile für Bereiche wie Vertrieb, Medizin, Maintenance und Marketing bringt, geht es dabei um enorme Datenmengen, die von den AR-Anwendungen verwaltet werden müssen.

 

 

Es gibt viele verschiedene Frameworks für AR-Technologien, aber keines von ihnen befasst sich mit der Verwaltung großer Mengen an Content, was allerdings in AR eines der wichtigsten Themen ist. Darüber hinaus gibt es noch keine Standards, wie eine Augmented Reality Anwendung aufgebaut sein soll und wie die einzelnen Module interagieren sollen. Die Idee meiner Arbeit war nun, die Struktur einer typischen AR-Anwendung und die verschiedenen Formen des Content Managements für AR zu untersuchen und damit ein System zu schaffen, um verschiedene Content-Lademethoden gleichzeitig und gewinnbringend zu nutzen. Mit den Erkenntnissen der Vorarbeit habe ich ein Client-Server-System für Augmented Reality Anwendungen entworfen und in Unity implementiert. Das Hauptaugenmerk habe ich hierbei auf die Benutzerfreundlichkeit bei der Entwicklung und Verwendung von AR-Anwendungen gelegt.

 

 

Vorteile

Nun klingt das ja alles ganz toll und wissenschaftlich, aber interessant ist natürlich, was dies den Augmented Reality Apps eigentlich bringt. Dazu habe ich am Ende meiner Arbeit einen Prototypen entworfen und in einigen Dingen mit „traditionellen“ AR Apps verglichen. Hier ein kleiner Auszug der Bereiche, in denen Vorteile entstehen:

 

 

Allgemeine Vorteile

Anfangs gibt es einmal eine kleine Übersicht wie sich das neue System auf App Größe, Installationsgröße, Updatebarkeit und RAM Auslastung auswirkt.

Vorteile

App Größe

Apps sollten natürlich nicht zu groß sein. Man verschwendet dadurch wichtigen Speicher, den man für Katzenvideos, Freemium Games oder Selfies braucht. Aber Spaß beiseite: Apps werden immer größer und auf vielen Smartphones wird der Platz schön langsam knapp. Ebenfalls geben der Apple App Store und der Google Play Store maximale App-Größen vor. Die ohne WLAN Verbindung heruntergeladen werden können. Mit dem neuen System können die Daten nun intelligent verwaltet werden und man hat nur den Content am Gerät, der auch wirklich Sinn ergibt. Was dies für die App Größen bedeuten kann, sieht man in den nächsten zwei Bildern:

Client Server System App größe

Updatebarkeit des Contents

Den Content schnell, zuverlässig und intelligent Updaten zu können ist bei den meisten Augmented Reality Apps das A und O. Bei traditionellen AR Apps muss man bei jeder Änderung des Inhalts (egal ob Text oder 3D Modell) die App immer wieder neu releasen. Das kann bei iOS Apps schon mal 14 Tage dauern (siehe Bild unten). Das AR Client-Server System verwaltet und visitiert den Content über einen Server. Daher kann dieser jederzeit und schnell (nur eingeschränkt durch die Qualität der Internetverbindung) ausgetauscht, hinzugefügt oder gelöscht werden. Durch das intelligente Versionieren unterscheidet das System auch zwischen Text und 3D Modell-Änderungen und lädt auch immer nur die veränderten Dateien.

Client Server System

(Vorhersage der Dauer für iOS App Reviews, Grafik von Apple: http://appreviewtimes.com/ios/annual-trend-graph)

RAM Auslastung

Viel Content bedeutet bei traditionellen Apps auch eine hohe Belastung des Arbeitsspeichers. Dadurch wir die App langsam und stürzt im schlimmsten Fall sogar ab (mehr zu ladender Content als Arbeitsspeicher am Smartphone). Um das zu vermeiden, kümmert sich das AR Client Server System selbst intelligent darum, welcher Content im Speicher bleiben muss und welcher später wieder neu geladen wird. Im nächsten Bild sieht man den dadurch erzielten Unterschied in der CPU und Memory (RAM) Auslastung.

Client Server System

Was hat CodeFlügel damit zu tun?

Nachdem wir hier beim CodeFlügel Blog sind, ich bei CodeFlügel arbeite und CodeFlügel einer der größten Anbieter von Augmented Reality Apps in Österreich ist, gibt es hier höchstwahrscheinlich einen Zusammenhang. Konkret gesagt, ist diese Arbeit in enger Zusammenarbeit mit CodeFlügel entstanden. Da ich nun seit fast 5 Jahren bei CF bin und unzählige Augmented Reality Projekte umgesetzt habe, sind viele Ideen um die AR Welt zu verbessern natürlich auch in diesen Projekten entstanden. Der Plan war natürlich, die Ergebnisse dieser Arbeit in das CodeFlügel System einzupflegen und dies ist uns bereits erfolgreich gelungen – die wissenschaftlichen Erkenntnisse und Implementierungen wurden in das CF Loading on Demand System eingebaut und sind auch bereits in einigen Apps im Einsatz. Auch das Upgrade einer bereits bestehenden Kundenapp ist ohne Probleme gelungen. Somit können zukünftige Augmented Reality Apps von CodeFlügel davon profitieren.

Wer ist jetzt LARA und warum freut sie sich?

Ich hoffe es haben jetzt nicht alle nur deshalb bis hier gelesen, um zu erfahren warum sich LARA freut und wer sie ist. LARA ist in diesem Fall keine Person, sondern das neue CodeFlügel System, das aus dem bisherigen AR Client Server System entstanden ist. (Wir Programmierer machen aber keine Unterschiede zwischen Systemen und Personen, deswegen darf sich LARA auch freuen ;))

 

 

Wir haben uns dazu entschlossen, unser System von „Loading on Demand“ zu LARA umzubenennen. Da „Loading on Demand“ eigentlich nur ein kleiner Teil des AR Client Server Systems ist. Und dadurch das neue System auch einen neuen Namen verdient hat. Warum sie sich freut ist auch ganz einfach zu beantworten. Das System auf dem sie basiert, hat heute den GRAWE High Potential Award gewonnen. Der von GRAWE und der FH Joanneum für die beste Masterarbeit im Jahrgang vergeben wird.

 

 

Nun bleibt noch offen, was LARA bedeutet. Nun ja, als wir das System gebaut haben, hatten wir einmal 4 tolle Wörter die L… A… R… A… beschreiben. Diese fallen uns allerdings leider selbst nicht mehr ein, da bei uns ohnehin jeder LARA sagt. Somit wurde ‚einfach nur LARA‘ offiziell in unsere CodeFlügel Family aufgenommen. STEVE freut sich. 😀

Das könnte dich
ebenfalls interessieren