Stolperfallen vermeiden

App-Entwicklung: Ohne Konzeption läuft nichts
Kommentare

Der häufigster Fehler in der App-Entwicklung: Es wird mit dem Entwickeln begonnen, ohne die langfristigen Perspektiven im Auge zu behalten und ohne ein entsprechendes Konzept aufzusetzen. Auftauchende Lücken und Fehler werden zu spät bemerkt und können dann nur noch schwer behoben werden; spätere Erweiterungen sind dann teilweise nicht mehr möglich. Ein Projektbeispiel zeigt, wie solche Stolperfallen vermieden werden.

Ob auf dem Smartphone oder dem Tablet: Kaum ein Geschäftsprozess kommt noch ohne ein entsprechendes mobiles Pendant aus. Hier stehen Unternehmen und App-Anbieter vor der großen Frage: Welche der möglichen Lösungen ist die richtige? Native App oder mobile Website? Hybrid App oder Responsive Webdesign? Vielleicht ist auch eine Web-App für den gewünschten Anwendungsfall am besten geeignet? Wichtigstes Anforderungskriterium für ein zufriedenstellendes Ergebnis ist eine umfassende konzeptionelle Vorbereitung. Bereits mit Beginn der Umsetzung müssen viele, zunächst unscheinbare Teilaspekte bedacht und dokumentiert werden. Werden grundlegende Fragen erst während der abschließenden Qualitätssicherung erkannt, können sich vor allem Risiken für die Funktionalität und die Kundenzufriedenheit oder Folgekosten ergeben. Dies soll am Beispiel der Marketing Pad der Wild Beauty AG verdeutlicht werden, die speziell für Außendienstmitarbeiter entwickelt wurde. Bisher wurde bei Vor-Ort-Terminen die Dropbox-App genutzt, um auf dort abgelegte Broschüren, Kataloge oder Videos zuzugreifen. Eine zielgruppenspezifische Aufbereitung der Inhalte erfolgte jedoch nicht und auch der Präsentationsrahmen war der exklusiven Vertriebsmarke PAUL MITCHELL® nicht angemessen. Gerade für Außendienstmitarbeiter sind mobile Lösungen unerlässlich, um jederzeit aktuellen Zugriff auf Daten und Inhalte zu gewähren – eine passende App mit attraktiven Präsentationsmöglichkeiten musste her; die bisherige Datenhaltung sowie die Synchronisation mit den Dropbox-Inhalten sollte jedoch beibehalten werden.

Die NIDAG, die PAUL MITCHELL® seit Jahren mit Internet- und Mobile-Lösungen betreut, konzipierte hierfür die passende Lösung: Eine mobile Anwendung soll den Vertriebsmitarbeitern die Möglichkeit geben, ihren Kunden alle Multimediainhalte individuell auf dem iPad zu präsentieren. Die eigens hierfür entwickelte App unterteilt die Inhalte in verschiedene Dashboards wie „aktuelle Aktionen“ oder „neue Produkte“. Eine übersichtliche und einfache Navigation erleichtert die Auswahl. Eine weitere zentrale Anforderung des Kunden: Alle Inhalte sollten auch offline verfügbar sein. Grundsätzlich stehen zwei gänzlich unterschiedliche technische Herangehensweisen für diese Entwicklung zur Auswahl: die App als auf dem Gerät direkt installierte Anwendung und die Nutzung über den Webbrowser als mobile Webseite. Beide haben je nach den Zielen und Anforderungen, die der Nutzer an die Anwendung stellt, spezifische Vor- und Nachteile. Das bedeutet im Detail aber auch unterschiedliche Fragestellungen, die in der Konzeptionsphase, noch vor der Umsetzung und der Qualitätssicherung, geklärt werden müssen. Beispielsweise ergeben sich für eine native App aufgrund der direkten Interaktionsmöglichkeiten mit der Gerätehardware ganz andere Detailfragen als für die Realisierung einer mobilen Website, die innerhalb des Browsers läuft. Sowohl eine native App als auch eine hybride App müssen zwangsläufig auf dem Gerät des Nutzers installiert werden. Mobile Webseiten sowie Seiten, die mittels Responsive Designs realisiert wurden, werden über den Browser des Mobilgeräts genutzt. Eine Web-App hingegen kann je nach technischem Ansatz sowohl eine eigenständige Anwendung sein als auch für den Einsatz im Webbrowser optimiert werden. Für den Beginn wurden für die App die Hauptfunktionen definiert (Tabelle 1, Abb. 1).

  Nutzung über  
  Installierte Anwendung Webbrowser
Native App X  
Hybrid App X  
Web-App (X) X
Mobile Webseite   X
Responsive Design   X

Tabelle 1: Hauptfunktionen einer App

Abb. 1: Die Hauptfunktionen einer App definieren

Bei der anfänglichen Technologieentscheidung dürfen aber auch die geplanten weiteren Ausbaustufen nicht unberücksichtigt bleiben. Das ist ein sehr häufiger Fehler im Entwicklungsprozess. So sollten beispielsweise künftig Dateien direkt aus der App heraus per E-Mail an den Kunden versendet werden können. Auch eine Notizenfunktion und eine Anbindung an den iOS-Kalender sind geplant. Tipp: Um eine fundierte Technologieentscheidung treffen zu können, sollten alle Kriterien definiert und zusammen mit den verschiedenen Lösungsmöglichkeiten in einer Matrix erfasst werden – so ergibt sich ein genaues Bild darüber, welche Ansätze grundsätzlich in Frage kommen. Die Matrix macht deutlich ersichtlich, dass die browserbasierten Lösungen für den gewünschten Anwendungsfall von Beginn an nicht in Frage kamen, da sie keine Offlinefähigkeit gewährleisten können. Die drei weiteren Möglichkeiten sollten nun entsprechen der Anforderungsliste tiefer analysiert werden:

Native App: Sie laufen ausschließlich auf dem mobilen Betriebssystem, für das sie entwickelt wurden. Dadurch können zwar die Hardware optimal angesprochen und die Ressourcen des jeweiligen Geräts bestmöglich genutzt werden, jedoch steht dem der wesentliche Nachteil gegenüber, dass eine Verbreitung auf mehreren Plattformen erhöhte Kosten mit sich bringt. Die App muss für jedes Gerät und für jedes Betriebssystem individuell entwickelt werden. Eine native App muss vor der Nutzung auf dem Gerät installiert werden. Der Vertrieb erfolgt dabei hauptsächlich über App Stores. „Für unseren Anwendungsfall der Sales-App für Wild Beauty hatte die native App den Vorteil, dass sie die Möglichkeiten der gerätespezifischen Hardware vollumfänglich nutzen und stabil auf die Dropbox-Inhalte zugreifen kann“, erläutert Bohr.

Hybrid-App: Die Grundidee einer Hybrid-App ist die, dass nur eine Codebasis entwickelt wird, die auf mehreren Zielplattformen läuft. Am Ende des Entwicklungsprozesses entstehen native Apps für unterschiedliche Zielplattformen. Diese sind wie gewohnt in den jeweiligen Markets verfügbar und müssen auf den Geräten installiert werden. Während eine einzeln entwickelte native App also immer nur auf einer Plattform läuft, ermöglicht es der generische Ansatz des Entwicklungsprozesses einer Hybrid-App, dass Apps für mehrere Plattformen gleichzeitig entwickelt werden können (Cross-Plattform-Strategie). Im Unterschied zur nachfolgend aufgeführten Web-App wird hier nicht auf einer HTML-Basis gearbeitet. Weiterhin ist es nicht möglich, eine Hybrid-App in einem Browser auszuführen. „Der generische Ansatz birgt jedoch auch erhebliche Risiken, die nicht vergessen werden dürfen“, warnt Bohr. „So entstehen durch die Generik beispielsweise Einbußen in der Performance. Hybrid entwickelte Apps benötigen mehr Rechenleistung und laufen gerade auf älteren Geräten gar nicht oder instabil.“ Außerdem sei man bei hybriden Apps auf Frameworks von Drittanbietern angewiesen und von deren Weiterentwicklung abhängig. Im schlimmsten Fall könne die App später nicht mehr erweitert werden.

Web-App: Eine Web-App ist eine App, die mit HTML(5), JavaScript und CSS-Technologien realisiert wird. Dabei grenzt sie sich zu einer mobilen Webseite in der Darstellung ab. Mit einer Web-App wird versucht, das „Look and Feel“ einer nativen App zu simulieren; das stellt die Entwickler aber auch vor eine große Herausforderung: Der Anwender erwartet, dass eine Web-App in Bedienung und Animation genauso funktioniert wie eine native App. Grundsätzlich kann der User eine Web-App in zwei verschiedenen Kontexten ausführen: über den Webbrowser oder in einem nativen App Container wie PhoneGap. Gegenüber einer nativen oder einer Hybrid-App hat die Web-App mehrere Vorteile. Einer davon ist der Cross-Plattform-Ansatz: Bei der Entwicklung einer Web-App wird nur eine einzige Codebasis für die verschiedenen Plattformen benötigt. Für ein Projekt wird also die App nur einmal entwickelt und verursacht durch das so genannte „Write once, run anywhere“-Prinzip in der Ausweitung auf mehrere verschiedene Plattformen geringere Kosten.„Demgegenüber steht jedoch der deutliche Nachteil der Performance“, so Bohr. „Da die Web-App in einem HTML-Container ausgeführt wird, stehen nur begrenzte Ressourcen zur Verfügung. Das muss bei der Technologieentscheidung auf jeden Fall bedacht werden, denn die Leistungsfähigkeit der App ist eines der wichtigsten Kriterien.“

Technologieentscheidung auf Basis der Anforderungskriterien

Prinzipiell kamen für uns die beiden Technologien nativen App und Web-App für die Umsetzung in Frage. Gegen die ebenfalls mögliche Lösung über eine Hybrid-App haben wir uns deswegen entschieden, weil die Nachteile überwiegen und in der Verwendung Mehraufwand und schlechtere Flexibilität auftreten würden. Ausschlaggebend für die Entscheidung waren am Ende mehrere Faktoren: Zum einen erlaubt eine Umsetzung als Web-App mit HTML5 nur eine Datenspeicherung von wenigen Megabytes, die gewünschte Offlinefähigkeit verlangt jedoch eine höhere Speicherkapazität, um die Daten zum Offlineabruf auf der Festplatte des Geräts abzulegen. Zum anderen warf man bereits bei der Konzeption einen Blick in die Zukunft. Die Entwicklung einer nativen App wurde vor allem aufgrund der angedachten Erweiterungen schlussendlich festgelegt. Damit werden auch in Zukunft keine Probleme auftreten, wenn die Erweiterungsfunktionen implementiert werden. Die Performance einer nativen App hängt ausschließlich von der Hardware des jeweiligen Geräts, nicht jedoch von einem Web-App-Framework eines Drittanbieters ab. Auch die Android-Variante der App soll dann nativ umgesetzt werden, weil sich die Anbindung an Drittsysteme wie Dropbox beispielsweise bei einer Hybrid-Lösung oft schwierig gestaltet und aufwändige Animationen zum Teil nicht kompatibel sind. In der ersten Entwicklungsphase ist eine Cross-Plattform-Entwicklung für native Apps meist teurer, diese Kosten amortisieren sich jedoch in den weiteren Ausbaustufen. Die Erfahrung der Entwickler zeigt, dass eine Web-App oft Mehraufwand und damit höhere Kosten in der Qualitätssicherung und der Fehlerbehebung nach sich zieht, die sich auch in neuen Ausbaustufen der App nicht verringern.

Fragen, die in der Konzeptionsphase geklärt werden sollten
• Hat eine Zielgruppenanalyse stattgefunden, um Anhaltspunkte für die Eignung bestimmter Technologien zu erhalten?
• Sind allen Projektbeteiligten die Abgrenzungen der verschiedenen Technologien und damit einhergehend die unterschiedlichen Begrifflichkeiten bekannt?
• Wurden alle technologischen Ansätze zur Realisierung einer mobilen Anwendung betrachtet und hinsichtlich ihrer Eignung bewertet?
• Wurden bei der Entscheidung für eine Technologie die jeweiligen Vor- und Nachteile berücksichtigt und in der mittel- und langfristigen Planung beachtet?
• Wurde neben den aktuell bestehenden Anforderungen auch die zukünftige Ausrichtung der Funktionalität berücksichtigt?

Aufmacherbild: develop smartphone apps von Shutterstock / Urheberrecht: Ai825

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -