Skip to end of metadata
Go to start of metadata

Titel

Traildevils iOS App

Studenten

Roman Blum, Philipp Schilter

Betreuer

Prof. Dr. Markus Stolze

Projektpartner

Frontline Media GmbH

Ausgangslage

Ein zentrales Produkt der Frontline Media GmbH ist die Traildevils Website, eine Online Community Site für Mountain Biker. Die Traildevils Website ist schon heute mit dem Webbrowser von Mobilgeräten aus zugreifbar. Der Auftraggeber möchte die Attraktivität der Community durch eine native iOS Applikation steigern. Zur Darstellung von Kartendaten soll die Mapping Plattform Mapbox verwendet werden.

Vorgehen und Technologien

In einer ersten Phase wurde aufgrund fehlender Erfahrung mit dem iOS SDK ein Prototyp erstellt. Die gemachten Experimente wurden zusätzlich in einem GitHub Repository dokumentiert. Dies hatte einerseits den Vorteil, dass bei Problemen mit Mapbox in Issues darauf verwiesen werden konnte, andererseits konnten dadurch wichtige Erkenntnisse und Best-Practices der Community zur Verfügung gestellt werden. Anfänglich identifizierte Probleme mit Mapbox konnten gegen Ende aus dem Weg geräumt werden.

Es konnte gezeigt werden, dass sich die zentralen, funktionalen und nicht-funktionalen Anforderungen mit Mapbox auf iOS Geräten umsetzen lassen. Für einzelne Anforderungen war es nötig, Workarounds zu definieren, bei anderen wurde Mapbox durch Features erweitert.

Der zweite Teil beschäftigt sich mit der konkreten Implementierung. Mit der Programmiersprache Swift und der Software-Architektur VIPER wurden viele der gewünschten Features in die App implementiert und für den Projektpartner zum Testen über TestFlight zur Verfügung gestellt. VIPER verfolgt einen anderen Ansatz als bekanntere Architekturen wie MVC oder MVVM. In VIPER ist jede View bzw. jeder Use Case ein Modul bestehend aus mehreren Komponenten. Jede Komponente erfüllt dabei immer nur eine kleine Aufgabe einer gesamten Logik. Der Vorteil dabei ist, dass jedes Modul unabhängig und entkoppelt vorliegt und jede einzelne Komponente seperat besser getestet werden kann.

Ergebnisse

Im Rahmen der Studienarbeit zeigte sich, dass das SDK für iOS weit weniger fortgeschritten ist als jenes in JavaScript. Zum Vorteil von uns durchlief die eingesetzte Version 3.4.0 mehrere Alpha- und Beta-Releases, wodurch wöchentlich neue Features dazukamen. Ein fehlendes, aber doch zwingend notwendiges Feature (POI Icons für Style-Layers), konnte von uns noch während der Experimentierphase im Kern des Frameworks implementiert werden. Unser Code wird auch Bestandteil des nächsten, offiziellen Releases sein.


Am Ende dieser Arbeit kann eine iOS App vorgewiesen werden, deren zentrale Eigenschaft die schnelle und flüssige Reaktion auf Benutzerinteraktionen mit der Karte ist. Details zu Kartenelementen werden aus dem Offline Cache oder von der Webschnittstelle geladen und angezeigt. Eine schnelle Suchfunktion für Traildevils- und öffentliche Kartendaten wurde ebenfalls implementiert. Als Nebenprodukt der Implementierung der responsiven Detail-Ansicht für Kartenelemente wurde eine generelle iOS-GUI Komponente entwickelt und unter dem Namen "Raclette" auf GitHub veröffentlicht.

Ausblick

Der Grundstein für eine erfolgreiche Weiterentwicklung und Veröffentlichung im App Store konnte durch den Abschluss dieser Arbeit gelegt werden. Der nächsten Schritt wäre aus der Sicht der Autoren die Umsetzung der Benutzeranmeldung und Benutzerregistrierung.

So können Funktionen freigeschaltet werden, welche einen eingeloggten Benutzer voraussetzen, wie z.B. ein Trail Check-In, einen Zustand melden, ein Kartenelement bewerten und kommentieren, oder etwa einen Rider anzeigen. Zudem kann ein Aktivitätenstream gebaut werden, welcher bereits im Einsatz ist auf der Webseite.

  • No labels