© Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2018
Thomas Barton, Christian Müller und Christian Seel (Hrsg.)Digitalisierung in UnternehmenAngewandte Wirtschaftsinformatikhttps://doi.org/10.1007/978-3-658-22773-9_13

13. Optimierung der Kundeninteraktion im Online-Weinhandel am Beispiel der VICAMPO-iOS-App

Karsten Würth1   und Thomas Barton2  
(1)
VICAMPO.de GmbH, Mainz, Deutschland
(2)
Hochschule Worms, Worms, Deutschland
 
 
Karsten Würth (Korrespondenzautor)
 
Thomas Barton

Zusammenfassung

In diesem Kapitel wird beschrieben, wie die Nutzung eines Online-Shops durch eine mobile App nicht nur vereinfacht, sondern die Kundeninteraktion gleichzeitig erheblich gesteigert werden kann. Die Vereinfachung aus Sicht eines Kunden wird anhand verschiedener Funktionen wie Empfehlungen, Angebote, Bewertung von Weinen, Nachbestellen von Weinen sowie dem Check-out verdeutlicht. Eine Steigerung der Interaktionshäufigkeit erfolgt durch den Einsatz von sogenannten Push-Notifications. Die Bedeutung eines modernen Interaktions-Designs in einem mobilen Umfeld wird in dem Beitrag ebenso exemplarisch aufgezeigt wie der Einsatz einer modernen Software-Architektur unter Verwendung einer RESTful API. Die Vorstellung der entwickelten VICAMPO-iOS-App erfolgt als Minimum Viable Product (MVP), das den Kunden durch Einfachheit und Übersichtlichkeit überzeugt und gleichzeitig für Entwickler deutliche Vorteile bietet, da die Komplexität der Anwendung möglichst geringgehalten wird.

Schlüsselwörter

AppOnline-WeinhandelRipple-EffektPush-BenachrichtigungenRESTful API

13.1 Die VICAMPO-App

Die Vicampo.de GmbH, ein Online-Weinhändler aus Mainz, hat eine App für Bestandskunden entwickelt. Hierzu wurde ein „Minimum Viable Product“ (MVP ) entwickelt. Unter einem MVP versteht man ein Produkt, welches die Mindestanforderungen des Markts erfüllt. Es ist somit konkurrenzfähig, bietet jedoch nur einen sehr begrenzten Funktionsumfang. Dieser soll aber für den Start genügen und eine schnelle Veröffentlichung mit möglichst geringem Entwicklungsaufwand ermöglichen. Die VICAMPO-App bietet drei Hauptfunktionen:
  1. 1.

    Empfehlungen

    Weinempfehlungen, passend zu den Käufen des Kunden

     
  2. 2.

    Aktuelle Angebote

    Angebote, passend zu den Käufen des Kunden

     
  3. 3.

    Meine Weine

    Eine Liste der vom Kunden bereits gekauften Weine

     
Wie in Abb. 13.1 zu sehen, sind alle Hauptbereiche über die am unteren Bildschirmrand befindliche TabBar zu erreichen. Auf diese Weise kann der Nutzer schnell zwischen den Bereichen wechseln und hat außerdem alle Funktionen stets im Blick. Über Badges (zu sehen in der TabBar ganz links) kann zusätzlich die Aufmerksamkeit des Nutzers auf einen bestimmten Bereich gelenkt werden. Diese Hauptbereiche fassen teilweise mehrere Seiten der Homepage zusammen. Unter den Angeboten findet der Nutzer beispielsweise alle Angebote aus verschiedenen Landingpages (Weißwein, Rotwein, Gemischt) auf einen Blick. So wird dem Nutzer ein deutlich größeres Angebot ermöglicht, welches er durch den Einsatz von Filtern dennoch individualisieren und übersichtlich durchstöbern kann. Im persönlichen Weinregal „Meine Weine“ sind zahlreiche kundenindividuelle Funktionen zusammengeflossen. Zum einen findet der Nutzer dort seine gekauften Weine und somit eine Art Bestellhistorie. Weinpakete sind bereits in ihre Einzelweine aufgeteilt, so dass der Nutzer direkt zu jedem Wein sein individuelles Nachkaufangebot erhält und mit nur einem weiteren Klick direkt zur Bewertung des Weins gelangt. So kann neben einer deutlich besseren Übersichtlichkeit auch die generelle Nutzung des Bewertungs-Features gesteigert werden, wodurch schließlich auch andere Kunden aussagekräftigere Meinungen zu den Weinen erhalten und mehr Inhalt für den Shop generiert wird. Auf diese Weise konnten vier Funktionen, welche auf der Homepage auf mehrere Seiten aufgeteilt sind, in einem Screen vereint werden. Neben den Hauptfunktionen umfasst die App weitere unabdingbare Bestandteile einer E-Commerce-App wie ein Warenkorb oder der Check-out, worüber der Nutzer schließlich unter Angabe von Adresse und Zahlungsart den Kauf abschließt. Insgesamt ermöglicht der MVP somit zunächst Zugriff auf mobil besonders sinnvolle Funktionen. Diese werden auf rund 35 Screens umgesetzt, welche auf 22 API-Endpunkte zugreifen. Weitere Features werden im Anschluss mithilfe von Updates nachgeliefert.
../images/463345_1_De_13_Chapter/463345_1_De_13_Fig1_HTML.png
Abb. 13.1

Die Hauptfunktionen der VICAMPO-App

13.2 RESTful API im mobilen Umfeld

Heutzutage existieren Apps für die unterschiedlichsten Zwecke, in unzähligen Designs und für verschiedenste Zielgruppen. Doch was (fast) alle gemeinsam haben ist die Kommunikation mit einem Server. Ob Synchronisation von Kontakten, das Laden der neusten Rezepte oder das Speichern eines Spielstands, die Daten all dieser Interaktionen werden nur noch selten ausschließlich lokal auf dem ausführenden Gerät gespeichert, sondern werden mit einem Server synchronisiert. Dadurch kann zum einen Speicherplatz auf dem Endgerät eingespart werden, zum anderen sind die Daten sicher gespeichert und können anderen Services (z. B. einer Homepage) zur Verfügung gestellt werden. Auf diese Weise kann der Nutzer seine Anwendungen auf den verschiedensten Endgeräten nutzen und muss sich keine Gedanken mehr über die Portierung der Daten machen. Für diese Kommunikation zwischen Server und Endgerät ist die RESTful API eine der beliebtesten Methoden. Sie nutzt die Standard HTTP-Methoden GET, POST, OPTIONS, HEAD, DELETE, TRACE und CONNECT für den Datenaustausch. Für die Nutzung einer solchen RESTful API im mobilen Umfeld sollten Entwickler auf einige Besonderheiten achten [1]. Eine Einführung in RESTful Services im Kontext der angewandten Wirtschaftsinformatik ist zu finden in [2].

13.2.1 JSON statt XML

JSON hat XML im Bereich der Datenübertragung inzwischen weitestgehend abgelöst. Das Datenformat bietet diverse Vorteile, wozu zweifelsohne die Ersparnis im Datenvolumen als einer der wichtigsten gilt. Durch die einfache Syntax sind mithilfe von JSON – je nach XML-Schreibweise – Einsparungen von bis zu 60 % [3] möglich. Im mobilen Bereich dürfte dieses Thema durch Fortschritte wie den LTE-Standard zwar an Bedeutung verloren haben, aufgrund nach wie vor sehr geringer Volumentarife ist dieser Punkt aber zumindest in Deutschland nicht vernachlässigbar. Durch die einfache Syntax von JSON nimmt jedoch nicht nur das Datenvolumen ab, sondern auch die Verarbeitung auf dem Endgerät ist deutlich schneller. In einem Test von Infragistics konnte eine 1,3 MB große Datei im JSON-Format rund eine Sekunde schneller verarbeitet werden, als das gleichgroße XML-Pendant [4].

13.2.2 HTTPS statt HTTP

Im Gegensatz zu Desktopanwendungen werden mobile Apps häufig in ungesicherten mobilen Netzwerken, Hotspots o. Ä. genutzt. Der Nutzer kennt den Betreiber des Zugangs und dessen Nutzer meistens nicht und auch nicht ob diese vertrauenswürdig sind. Es ist im mobilen Umfeld daher umso wichtiger, dass alle Endpunkte eine verschlüsselte HTTPS-Verbindung nutzen, um die Daten des Nutzers, aber auch des Betreibers der API zu schützen. Gerade die aktuelle WPA2-Sicherheitslücke KRACK [5] verdeutlicht die Wichtigkeit dieses Punkts.

13.2.3 Server erledigen die meiste Arbeit

Datenvolumen und Akkulaufzeit sind die wohl unbeliebtesten Themen eines Smartphone-Nutzers. Umso wichtiger ist es daher in der Entwicklung von Apps, dass so wenig Arbeit wie möglich auf Endgeräten verrichtet wird. Vom Server sollten daher zum einen nur Daten übermittelt werden, welche in der App benötigt werden: Das bedeutet der API-Nutzer sollte die Möglichkeit haben die Ausgabe durch einen Filter beschränken zu können. Zum anderen sollten die übertragenen Daten fertig zur Nutzung sein. Komplizierte Filter- und Sortiermöglichkeiten, Berechnungen, Daten-Aggregationen etc. sollten ebenso wie die Suche serverseitig implementiert werden. Mithilfe von Pagination kann die Datenausgabe zusätzlich beschränkt werden, so dass der Nutzer volle Kontrolle darüber hat, welche und wie viele Datensätze er erhalten möchte. Die Verlagerung der Arbeit vom Endgerät zum Server bringt außerdem auch für Entwickler Vorteile. So müssen diese Vorgänge nicht mehr für verschiedene Plattformen wie iOS oder Android umgesetzt werden, sondern beide Systeme können auf die fertigen Daten der API zurückgreifen und müssen diese nur noch ausgeben.

13.2.4 Versionierung ist deutlich wichtiger

Da App-Nutzer ihre Anwendungen in sehr unterschiedlichen Frequenzen aktualisieren (oder auch nicht), bekommt die Versionierung der API im Bereich von mobilen Apps eine deutlich wichtigere Rolle als in anderen, kontrollierbareren Anwendungsfällen. Es ist also keine Seltenheit, dass Nutzer auch nach mehreren Monaten nicht die neuste, sondern eine veraltete Version der App nutzen. Diese Fälle müssen eingeplant und abgefangen werden. Es ist daher unabdingbar, dass die API sowohl auf Anfragen der neusten, aber auch auf Anfragen veralteter Versionen antworten kann. Ab einem gewissen Zeitpunkt kann die Unterstützung jedoch mehr Aufwand als Nutzen bedeuten. Auch für diese Fälle sollte innerhalb der App vorgesorgt werden und beispielsweise mit einem Hinweis zur Aktualisierung der App abgefangen werden.

13.3 User Interface und Design

Wenn Nutzer mit einer Anwendung agieren ist visuelles Feedback sehr hilfreich. Besonders wenn die Zielgruppe der Anwendung nicht zu den Digital Natives zählt. Der Ripple-Effekt (engl. Welle) ist eines dieser unterstützenden Elemente. Er ist Bestandteil des Material-Design Motion-Konzepts [6], welches erstmals auf Googles Entwickler-Konferenz I/O im Jahr 2014 vorgestellt wurde und seitdem große Beachtung findet. Der Ripple-Effekt im Speziellen ist einer Welle nachempfunden und stellt eine kreisrunde Animation dar, welche ausgeführt wird, sobald der Nutzer mit einem Element interagiert. Ein einfaches Beispiel ist in Abb. 13.2 zu sehen.
../images/463345_1_De_13_Chapter/463345_1_De_13_Fig2_HTML.png
Abb. 13.2

Ripple-Effekt

Auf diese Weise kann dem Nutzer deutlich gemacht werden, mit welchen Elementen Interaktionen möglich sind und ob eine Interaktion tatsächlich ausgeführt wurde. Eine Auswahl an Bereichen, in denen der Ripple-Effekt in der VICAMPO-App verwendet wurde, ist in Abb. 13.3 zu sehen.
../images/463345_1_De_13_Chapter/463345_1_De_13_Fig3_HTML.png
Abb. 13.3

Beispiele für die Nutzung des Ripple-Effekts in der VICAMPO-App

Des Weiteren gibt es zahlreiche Details, welche dem Nutzer die Bedienung von Apps vereinfachen. So sollte bei Textfeldern beispielsweise stets sichtbar sein, was eingegeben werden soll. Ein Platzhalter sollte nicht nach dem ersten Buchstaben komplett verschwinden. In Abb. 13.4 ist ein Textfeld aus der VICAMPO-App zu sehen. Zunächst ist nur der Platzhalter sichtbar. Dieser verschwindet, sobald der Nutzer mit dem Schreiben beginnt. Daraufhin erscheint der Platzhalter als Label über dem Textfeld. Auf diese Weise ist dem Nutzer zu jedem Zeitpunkt der Kontext klar. Des Weiteren kann eingeblendet werden, ob das Feld optional oder ein Fehler bei der Validierung aufgetreten ist.
../images/463345_1_De_13_Chapter/463345_1_De_13_Fig4_HTML.png
Abb. 13.4

Textfeld vor und nach Eingabe von Text

Ein weiteres Beispiel ist das korrekte Anzeigen einer themenbezogenen Tastatur. Je nach Eingabe sollten verschiedene Tastaturstiele (Zahlen, QWERTZ, E-Mail) eingesetzt werden. Auch die korrekte Bezeichnung des Return-Buttons (z. B. Weiter, Fertig, Absenden) erleichtert dem Nutzer die Bedienung.

13.4 Performance optimierung

Je nach Art der App kann die Darstellung von Inhalten sehr komplex werden. Performance ist in solchen Fällen ein besonders wichtiger Faktor. Beispielsweise eine Produktliste mit zahlreichen Informationen, welche bereits auf erster Ebene angezeigt werden sollen, kann bei suboptimaler Implementierung bereits zu Performanceeinbrüchen führen. Unter nativen Apps ist daher die Verwendung von wiederverwendbaren Zellen unabdingbar – Abb. 13.5. Mithilfe dieser Zellen werden lediglich die im visiblen Bereich befindlichen Elemente sowie eine darüber und darunterliegende Zelle erzeugt. Je nach Scroll-Richtung wird dann die am Ende befindliche Zelle – außerhalb des Sichtbereichs – entfernt und an den Anfang gesetzt. Auf diese Weise muss nur eine begrenzte Anzahl an Zellen erzeugt werden, welche anschließend immer wieder verwendet und mit neuen Inhalten befüllt werden können.
../images/463345_1_De_13_Chapter/463345_1_De_13_Fig5_HTML.png
Abb. 13.5

Prinzip der wiederverwendbaren Zellen

Neben dieser Technik ist außerdem darauf zu achten, dass alle Informationen bereits vorhanden sind, wenn die Zelle dargestellt werden soll. Das bedeutet, dass alle Berechnungen, Formatierungen oder Ladevorgänge bereits abgeschlossen sind und Inhalte lediglich eingefügt werden müssen.

13.5 Entwicklung unter iOS

Für die Entwicklung der VICAMPO-App kommt das proprietäre Betriebssystem iOS zum Einsatz. Apple macht Entwicklern den Einstieg einfach. Es gibt nur eine Handvoll Geräte und die Fragmentierung beschränkt sich meist auf zwei bis drei Versionen. Fluch und Segen zugleich ist aber die schnelle Verbreitung neuer iOS-Versionen. Im September 2017 war iOS 10 nach rund einem Jahr mit 89 % [7] Marktanteil die deutlich führende iOS-Version. Entwickler konnten daher problemlos mit der Entwicklung für Apps ab Version 10 beginnen und mussten sich kaum Gedanken über Nutzer früherer Versionen machen. Dieses Verhalten kann allerdings auch zum Nachteil werden. Liegt der Release-Termin einer App etwa im Zeitraum der Veröffentlichung einer neuen iOS-Version, so kann dies schnell bei einer erheblichen Anzahl an Nutzern zu Abstürzen, Fehldarstellungen o. Ä. führen, wenn diese neue Version in der Entwicklung nicht beachtet wird. So erschien iOS 11 im September 2017 und bereits nach einem Tag hatten über 16 % aller Nutzer die neue Version installiert [8]. Rund einen Monat später lag die Installationsrate schon bei ca. 56 % und damit vor iOS 10 [7]. Es sollte daher während der Entwicklung unbedingt auf zukünftige iOS-Versionen geachtet und ggf. auf Vorabversionen für Entwickler zurückgegriffen werden. Werden in den Vorabversionen mögliche Fehler bereits behoben, so ist i. d. R. auch eine Veröffentlichung im Zeitraum eines iOS-Updates kein Problem. Kosten fallen für die Entwicklung zunächst nicht an. Die Programmierung kann in der kostenlosen Entwicklungsumgebung Xcode stattfinden, worin bereits ein Simulator für alle gängigen iOS-Geräte integriert ist. Erst für die Veröffentlichung der Anwendung im App-Store oder für das Testen via Testflight werden Kosten für einen Entwickler-Account fällig. Diese belaufen sich aktuell auf einen jährlich zu entrichtenden Beitrag von 99 USD [9]. Die Entwicklungsumgebung Xcode erschien in ihrer ersten Version im Jahr 2003 – damals noch hauptsächlich zur Entwicklung von Software für OS X. Erst mit Xcode 3 wurde im Jahr 2007 zur Einführung des ersten iPhones die Unterstützung für iOS integriert. Außerdem konnten Entwickler ab diesem Zeitpunkt auf einen integrierten iPhone-Simulator zurückgreifen. Die Programmiersprache war damals Objective-C. Zahlreiche Updates später steht Xcode inzwischen in Version 9 zur Verfügung und als Programmiersprache stellte Apple im Jahr 2014 die eigens entwickelte Sprache Swift vor. Sie sollte die bis dato genutzte Programmiersprache Objective-C ablösen. Swift setzt hierbei auf eine Vielzahl von Ideen anderer Programmiersprachen. Darunter Ideen des Vorgängers Objective-C, aber auch Konzepte aus Rust, Haskell, Ruby, Python, C#, CLU und vielen mehr [10]. Seit 2015 ist Swift außerdem Open-Source [11] und erscheint jährlich in einer neuen Version. Seit dem 19. September 2017 steht Version 4 zur Verfügung, welche beispielsweise den Umgang mit Strings und Collections sowie die Arbeit mit dem Paketmanager deutlich verbessert [12].

Das Release der ersten Swift-Version im Jahr 2014 ist in Abb. 13.6 deutlich zu erkennen. Seit diesem Zeitpunkt entwickelte sich das Interesse an beiden Sprachen sichtlich auseinander. Auffallend ist aber, dass das Interesse an Swift deutlich stärker angestiegen ist, als es im Fall von Objective-C abgenommen hat. Diese Tatsache lässt sich darauf zurückführen, dass viele Apps aber auch Third-Party-Code in Objective-C geschrieben sind und die Umstellung mitunter aufwändig ist. Viele Frameworks, Libraries und Code-Beispiele sind daher noch in dieser „alten“ Sprache vorhanden, was auch ein Grund dafür sein dürfte, warum Objective-C nach wie vor nur einen Platz hinter Swift im TIOBE-Index für Oktober 2017 steht. Auch in GitHub kommt auf etwa jeden zweiten Swift-Pull-Request ein Request in Objective-C [14]. Der Vorgänger von Swift kann daher noch lange nicht abgeschrieben werden und Swift-Entwickler müssen sich darauf gefasst machen, dass Third-Party-Code unter Umständen noch in Objective-C geschrieben ist. In jedem Projekt ist daher genau zu prüfen, welche Frameworks zum Einsatz kommen und in welcher Sprache sie geschrieben sind. Denn die Integration von Objective-C Frameworks in Swift-Projekte ist zwar möglich, erfordert aber ggf. Aufwand, welcher einkalkuliert werden muss. Neben dem auseinanderdriftenden Interesse ist in Abb. 13.6 ebenfalls zu erkennen, dass das Interesse an Swift im Jahr 2017 stagniert. Auch im TIOBE-Index hat Swift inzwischen Objective-C überholt, beide Sprachen sind aber um vier bzw. sieben Plätze im Vergleich zum Vorjahr gefallen. Diese Entwicklung hängt laut den Herausgebern des Index an den immer stärker werdenden Hybrid-Apps:

„Until recently it was quite common to program Android apps in Java and iOS apps in Swift/Objective-C. This is quite cumbersome because you have to maintain two code bases that are doing almost the same. So frameworks for mobile hybrid apps were developed and now that they have grown mature these are becoming very popular. Market leaders in this area are Microsoft’s Xamarin (C#), Apache’s Cordova (JavaScript) and Ionic (JavaScript). The consequences of all of this are that languages such as C# and JavaScript are gaining popularity at the cost of languages such as Java and Swift.“ [15]

../images/463345_1_De_13_Chapter/463345_1_De_13_Fig6_HTML.png
Abb. 13.6

Seit Release ist Swift deutlich gefragter als Objective-C [13]

Wohingegen Hybrid-Apps vor wenigen Jahren also noch mit Kinderkrankheiten zu kämpfen hatten, scheinen diese problematischen Nachteile inzwischen weitestgehend beseitigt zu sein und die Vorteile kommen immer mehr zum Tragen. Zusammenfassend kann daher gesagt werden, dass Swift in der nativen iOS-Programmierung die klare Zukunft ist. Über die native Entwicklungsumgebung hinaus sollten hybride Ansätze aber immer stärker im Auge behalten werden.

13.6 Push-Benachrichtigungen

Push-Benachrichtigungen sind in fast jeder App gang und gebe. Es gibt zahlreiche Komplettlösungen, welche sich via SDK einbinden lassen, oder man baut eine eigene Lösung mithilfe der Apple-SDK. Sobald die Lösung integriert ist, kann i. d. R. unmittelbar mit dem Versenden von Push-Nachrichten begonnen werden. Jedoch würde sich beim Anklicken der Benachrichtigung lediglich die App öffnen und der Benutzer würde den zuletzt geöffneten Screen sehen. Unter Umständen hat dieser also nichts mit der Benachrichtigung zu tun. Um spezielle Views oder gar Produkte aufrufen zu können, muss daher ein Mechanismus implementiert werden, worüber der Push-Nachricht eine URL angehängt werden kann, welche anschließend von der App registriert und passend reagiert wird. VICAMPO nutzt für sein Bestandkundenmarketing ExactTarget von SalesForce. Der Service ermöglicht neben dem reinen E-Mail-Marketing auch das Versenden von Push-Benachrichtigungen inklusive Links. SalesForce nennt diese Technik OpenDirect-URLs. Durch die Erarbeitung eines Schemas können so zuvor definierte Aktionen in der App ausgeführt werden. In der VICAMPO-iOS-App werden diese Links durch das Suffix „vicampoApp://“ eingeleitet. Mithilfe der verschiedenen Präfixe aus Tab. 13.1 wird die genaue Aktion definiert.
Tab. 13.1

Open-Direct-URLs der VICAMPO-App

URL-Präfix

Funktion

recommendations

recommendations?product_id=12

recommendations?product_id=12&campaign_id=81

Ruft den Empfehlungs-Screen auf. Wird eine product_id (ggf. mit campaign_id) übergeben, wird ein Produkt innerhalb der Empfehlungen aufgerufen

offers

offers?product_id=34

offers?product_id=34&campaign_id=8

Ruft den Angebots-Screen auf. Wird eine product_id (ggf. mit campaign_id) übergeben, wird ein Produkt innerhalb der Angebote aufgerufen

mywines

mywines?product_id=23

mywines?product_id=23&campaign_id=1

Ruft den Meine-Weine-Screen auf. Wird eine product_id (ggf. mit campaign_id) übergeben, wird ein Produkt innerhalb des Meine-Weine-Screens aufgerufen

profile

Ruft das Profil auf

Das entsprechende Verhalten muss in der App implementiert werden, woraufhin im Anschluss über das Userinterface aus Abb. 13.7 Nachrichten erstellt und automatisiert werden können.
../images/463345_1_De_13_Chapter/463345_1_De_13_Fig7_HTML.png
Abb. 13.7

Erstellen einer Push-Benachrichtigung in ExactTarget

Über das Feld „OpenDirect“ in Abb. 13.8 kann die URL eingetragen werden, welche an die App übertragen wird. Auf diese Weise kann der Nutzer beispielsweise darauf aufmerksam gemacht werden, dass einer seiner Weine im Angebot ist. Beim Öffnen der Benachrichtigung gelangt der Nutzer daraufhin direkt zum Produkt innerhalb des Screens „Meine gekauften Weine“.
../images/463345_1_De_13_Chapter/463345_1_De_13_Fig8_HTML.png
Abb. 13.8

Hinzufügen einer OpenDirect-URL in ExactTarget

13.7 Status und weitere Schritte

Von der Konzept-Entwicklung bis zum Release wurden die Funktionen und das Design der VICAMPO-App stets durch Tests in Zusammenarbeit mit Kunden validiert. Auf diese Weise soll sichergestellt werden, dass die Funktionen der App den Erwartungen der Kunden entsprechen. Auch nach der Implementierung wird die App daher einem Alpha- und Beta-Test unterzogen. Im Alpha-Test werden vor allem User-Interaktionen, Darstellungen und andere Funktionalitäten geprüft, welche während der Konzeptionsphase mithilfe von Prototyping nicht simuliert werden konnten. Hierzu zählen beispielsweise reale kundenspezifische Inhalte, Animationen oder Übergänge. Auf diese Weise können kleinere Konzeptfehler aufgedeckt werden, welche in der verbleibenden Zeit bis zum Release korrigiert werden können. Mit dem Abschluss der Alpha-Tests und der Bestimmung der daraus resultierenden Änderungen ist der Funktionsumfang für Version 1.0 final. Ab diesem Zeitpunkt werden in der darauffolgenden Beta-Phase ausschließlich bestehende Features auf ihre Funktionalität und Stabilität getestet. Nachdem die App durch ausgiebiges Testen ein entsprechendes Qualitätslevel erreicht hat, wird sie im Apple App Store veröffentlicht und steht seit Oktober 2017 zum Download bereit. Da es sich bei der ersten Version um einen MVP handelt, stehen bereits zu diesem Zeitpunkt zahlreiche zukünftige Features fest – beispielsweise die Unterstützung weiterer Sprachen. Um trotz des stetig wachsenden Funktionsumfangs dennoch möglichst einfach und effizient ein hohes Qualitätsniveau gewährleisten zu können wird die App zunächst einem ausgiebigen Refactoring unterzogen, welches unter anderem die Integration umfangreicher Unit- und UI-Tests beinhaltet. Durch diese Pflege des Codes können daraufhin die bestehenden Funktionen weitestgehend automatisiert getestet werden, wodurch Release-Zyklen deutlich kürzer ausfallen.