8 Punkte

Was Sie bei der Entwicklung von Business-Apps beachten sollten

03.11.2016 von Holger Schif
Bei der Entwicklung einer Business-App gilt es angesichts des volatilen Mobility-Marktes, die richtigen Entscheidungen zu treffen und die Zielgruppe nicht aus den Augen zu verlieren. Die folgenden acht Aspekte sollten Unternehmen dabei auf jeden Fall berücksichtigen.

1. Unterstützte mobile Plattformen

Die erste und wichtigste Entscheidung, die Unternehmen vor der Entwicklung einer mobilen Business-App treffen sollten, ist, auf welchen Plattformen die Anwendung laufen soll. Diese Entscheidung hat unmittelbare Auswirkung auf alle weiteren Entscheidungen hinsichtlich der User Experience der Anwendung, der Entwicklungsplattformen, der -geschwindigkeit und -kosten sowie zukünftiger Einsatzszenarien.

Soll die Anwendung nur auf ein oder maximal zwei Zielplattformen laufen und deckt die Anwendung selbst einen begrenzten oder fixen Funktionsumfang ab, ist eine native Entwicklung je Plattform durchaus eine sinnvolle Option. Entwicklungskosten und -geschwindigkeit sind hier in aller Regel deutlich besser. Zudem kann das User Interface (UI) spezifisch auf die Plattform ausgerichtet werden, Hardware-nahe Funktionen sind einfacher zu integrieren und Performance-Themen einfacher zu lösen.

Der Erfolg einer Business-App steht und fällt mit der Nutzerakzeptanz.
Foto: Shutterstock.com/kuzma

Auf eine plattformunabhängige Entwicklung zu setzen lohnt sich dagegen umso eher, je variabler oder größer der Funktionsumfang ist, beziehungsweise sein soll. Beispiel dafür wären etwa verschiedene individuelle Kundenszenarien oder eine große Menge an Funktionen, die es über die Zeit in der App umzusetzen gilt.

Dies trifft selbstverständlich auch dann zu, wenn die Anwendung auf einer Vielfalt an Plattformen bereitgestellt werden muss. Hier sind die initialen Kosten zwar in der Regel höher als bei einer rein nativen Entwicklung, dies ändert sich dann aber mit der Zeit, da neue Funktionen im Idealfall nur einmal für alle Plattformen zu entwickeln sind.

Da Business-Anwendungen im Gegensatz zu "Consumer-Apps" in der Regel eine deutliche längere Laufzeit aufweisen, ist eine plattformunabhängige Entwicklung auch hier von Vorteil. Sie bietet Investitionssicherheit, sowohl für einen selbst als auch für die Kunden, da eine Portierung auf neue Plattformen in der Regel schneller und kostengünstiger möglich ist.

2. Hybride versus webbasierte App

Für die plattformunabhängige Entwicklung stehen im Wesentlichen zwei Möglichkeiten zur Verfügung: Auf der einen Seite gibt es hybride Systeme, in denen die eigentliche Anwendung in einem nativen Container läuft, der wiederum Zugriff auf Betriebssystem-Funktionen ermöglicht. Diese sind für jede Plattform zu schreiben, während die eigentliche Anwendung in einer plattformunabhängigen Sprache erstellt wird. Hier nimmt Cordova/PhoneGap mit JavaScript als Entwicklungssprache und HTML für das UI eine führende Position ein.

Mittlerweile gibt es mit "React Native" von Facebook einen sehr vielversprechenden neuen Ansatz, bei dem das UI nativ gerendert wird, aber dennoch weite Teile (auch des UI) in JavaScript implementiert werden können und somit einen "Best-of-both-worlds"-Ansatz bieten.

Auf der anderen Seite stehen die reinen Web-Apps, die ohne einen nativen Container im Browser laufen und dessen (eingeschränkte) Funktionen für den Zugriff auf das Betriebssystem nutzen. Dies ist für einfache Anwendungen ohne große Offline-Fähigkeit eine sehr gute Wahl. Es gibt keine Probleme mit dem Deployment und dem Update von Anwendungen. Die modernen Browser, auch auf mobilen Geräten, sind heute leistungsstark genug, um auch komplexere UIs performant darzustellen.

Mittlerweile ist es zudem auch möglich, auf wichtige betriebssystemnahe Funktionen, wie Kamera oder Geokoordinaten, per Browser zuzugreifen. Eingeschränkte Möglichkeiten zum Zwischenspeichern von Daten für Offline-Fälle sind ebenfalls kein Problem mehr.

Neben diesen beiden Varianten stehen noch Plattformen zur Verfügung, bei denen die Entwicklung in einer Programmiersprache erfolgt und der ausführbare Code von der Plattform für das jeweilige Zielbetriebssystem kompiliert wird.

Xamarin, das Anfang 2016 von Microsoft aufgekauft wurde, ist hier einer der prominentesten Vertreter. Auch wenn diese Form der plattformunabhängigen Entwicklung viele Vorteile mit sich bringt, hat sie sich noch nicht in dem breiten Maße, wie zum Beispiel Cordova, durchgesetzt. Meist sind die Möglichkeiten, das UI plattformunabhängig zu schreiben, nur begrenzt.

Des Weiteren ist man stark vom Anbieter abhängig, was insbesondere beim Aufkommen neuer Plattformen dazu führen kann, dass diese nicht oder nicht schnell unterstützt werden.

3. Zukunftssicherheit der Entwicklungssysteme

Bei der Entwicklung nativer Apps stellt sich nicht wirklich die Frage nach der Zukunftsfähigkeit, da Entwicklungssysteme der Hersteller genutzt werden. Allerdings müssen Unternehmen über Entwickler mit entsprechendem Know-how für jede einzelne Plattform (Objective C für iOS, Java für Android und C# für Windows) verfügen.

Entwicklungssysteme im Bereich Web -und Hybrid-Entwicklung sind sehr vielfältig. Große Teile an (Basis-)Bibliotheken stehen als "Open Source" zur Verfügung. Dies bedeutet Fluch und Segen zugleich, da die Auswahl zum einen schwer zu überblicken ist, es zum anderen aber auch ermöglicht, das optimale Tool zu finden und an die eigenen Bedürfnisse anzupassen.

JavaScript und HTML5 bieten als Standard im Web hohe Zukunftsfähigkeit und Investitionssicherheit in der Entwicklung. Wissen kann einfach sowohl für klassische Web-Anwendungen als auch mobil geteilt und Entwicklungs-Artefakte über die Anwendungen hinweg wiederverwendet werden.

Aktuell besteht aber noch eine hohe Dynamik in der gesamten Entwicklungs-Infrastruktur nach dem Motto: "Gestern war Angular das Framework der Wahl, heute ist es React und morgen gibt es wieder was Neues". Werkzeuge und Bibliotheken sind daher zum Teil noch nicht ausgereift und stabil.

Daher empfiehlt es sich, eine eher konservative Strategie bei der Entwicklung von Apps im Business-Bereich zu wählen und abzuwarten, bis der Hype-Zyklus Richtung "Pfad der Erleuchtung" geht. Ansonsten besteht die Gefahr, sich in eine Abhängigkeit von Herstellern zu begeben, wenn man auf integrierte Umgebungen und Frameworks setzt.

4. Entwicklungskosten

Bei einer rein nativen Entwicklung müssen Unternehmen initial mit den geringsten Kosten rechnen und erhalten sofort eine hohe Produktivität. Je mehr Plattformen unterstützt werden, desto höher sind bei diesem Ansatz allerdings die Kosten für Ressourcen, was die Anzahl der Entwickler sowie deren Recruiting und Aus- und Weiterbildung betrifft.

Bei einem Cross-Platform-Ansatz lässt sich dieser Aufwand für die Entwicklung verschiedener Plattformen zwar reduzieren. Allerdings hängt dies auch sehr von der Komplexität der Anwendung und den Anforderungen an die Widerverwendung ab. Sind diese entsprechend hoch, steigen damit auch der Aufwand und die Kosten bei einem JavaScript/HTML5-Ansatz. Besonders den initialen "Forschungsaufwand" sollten Unternehmen bei komplexen Anforderungen nicht unterschätzen.

Der große Show-Stopper bei Xamarin waren in der Vergangenheit die hohen Kosten pro Entwickler und Jahr. Nachdem Microsoft das Framework nach der Übernahme nun kostenlos zur Verfügung stellt, dürfte es zukünftig deutlich mehr Zulauf bekommen.

In allen Fällen sollten Unternehmen versuchen, schnell mit einem geringen Funktionsumfang produktiv zu gehen, um möglichst früh Feedback von der Zielgruppe in die Weiterentwicklung einfließen zu lassen.

5. Sicherheit

Der Schutz sensibler Daten auf mobilen Geräten außerhalb eines Unternehmensnetzwerks sollte bei der Entwicklung von Business-Apps eine wichtige Rolle spielen. Dabei gilt es, das mobile Endgerät selbst und die Datenübertragung zwischen Endgerät und Server entsprechend zu sichern. Die Datenübertragung zwischen dem Endgerät und dem Server sollte dabei verschlüsselt erfolgen.

Für die Authentifizierung gegenüber dem Server empfehlen sich entsprechende Methoden, wie zum Beispiel über ein Token-basiertes Verfahren, so dass eine Speicherung von Passwörtern am mobilen Client nicht notwendig ist.

Bei der Entwicklung von Business-Apps sollte die Sicherheit eine wichtige Rolle spielen.
Foto: Ahuli Labutin - shutterstock.com

Hierbei ist auch auf die "Benutzbarkeit" des Sicherheitskonzepts zu achten. Erfordert jeder Datenabgleich mit dem Server eine mehrminütige Authentifizierung durch den Benutzer, wird die Anwendung auf wenig Akzeptanz treffen.

Hierbei können auch MDM-Lösungen (Mobile Device Management) helfen, die in der Regel eigene Security-Container mitbringen und darüber hinaus die Möglichkeit bieten, Geschäftsanwendung und -daten von den persönlichen Daten des Anwenders zu trennen.

Bei der Entwicklung sollte deshalb frühzeitig eine Bereitstellung der Anwendung über MDM-Lösungen, insbesondere auch im Hinblick auf den Sicherheitsaspekt, geprüft werden. Da eine Vielzahl an Anbietern auf dem Markt existiert, ist darauf zu achten, dass ein Betrieb in einer solchen Umgebung grundsätzlich möglich ist.

Ist eine rein lokale Absicherung der Anwendung notwendig, sollte diese idealerweise durch Mittel des jeweiligen Betriebssystems, wie zum Beispiel einen biometrischer Fingerabdruckabgleich, erfolgen. Auch wenn diese keine hundertprozentige Sicherheit darstellen, erlauben sie einen hohen Schutz in Kombination mit einfacher Bedienbarkeit.

6. Offline-Fähigkeit

In vielen Kundenszenarien ist die Offline-Fähigkeit von Business-Apps immer noch essentiell. In Branchen wie beim mobilen Einsatz von Servicetechnikern müssen Apps auch an Orten ohne Mobilfunknetz, wie zum Beispiel im Keller oder im Aufzugschacht, funktionieren. Die speicherbare Datenmenge in einem Web-Browser ist in der Regel auf einige Megabyte begrenzt und daher nicht geeignet, wenn große Datenmengen offline vorgehalten werden müssen. Die Offline-Fähigkeit der Anwendung erhöht jedoch deutlich deren Komplexität, da sie geeignete Schnittstellen und Protokolle für den Datenaustausch und -zugriff erfordert.

Ein großer Teil an (Standard-)Bibliotheken ist jedoch nur auf den Online-Datenaustausch ausgelegt. Deswegen sollten Unternehmen bei der Entwicklung von offline-fähigen Apps den zusätzlichen Aufwand bezüglich der Synchronisierung und der Datenhaltung berücksichtigen.

7. Anwenderorientierung

Der Erfolg einer Business-App steht und fällt mit der Nutzerakzeptanz. Eine ansprechende, intuitive Benutzeroberfläche spielt dabei eine große Rolle. Deswegen sollten Unternehmen die Endanwender so früh wie möglich bei der Entwicklung miteinbeziehen.

Tests mit Endanwendern auf Basis von (Klick-)Prototypen stellen dabei ein geeignetes Mittel dar, um UI- und UX-Konzepte schon in einem frühen Stadium zu verifizieren und zu verfeinern. Um die Akzeptanz der App direkt bei den Anwendern zu messen und zu verbessern, lohnt es sich, über den Einsatz von User Feedback Tools, wie z.B. Helpshift oder Apptentive, nachzudenken.

Live-Messaging mit Endanwendern, automatisierte Umfragen, Tracken von bestimmten Funktionen, FAQs und Dashboards können dazu beitragen, die Qualität der App und somit die Zufriedenheit der Anwender nachhaltig zu steigern.

Anwendungen im Business-Umfeld sind oft essentielle Werkzeuge für den Endanwender. Hierbei sind oft auch Verordnungen, wie zum Beispiel für das "Arbeiten am Bildschirmarbeitsplatz" zu beachten sowie die Vielfalt der Benutzergruppen zu berücksichtigen.

Ein klassisches Beispiel hierfür ist die Nutzung verschiedener "UI-Themes" (hell/dunkel) oder die Möglichkeit, dass der Benutzer Schriftgrößen selbst ändern kann. Eine Integration oder Unterstützung solcher Funktionen über die Standardmittel des jeweiligen Betriebssystems sollte dabei der präferierte Weg sein.

Bei einer großen Heterogenität der Zielgruppe bietet es sich zudem an, verschiedene "UI-Workflows" durch den Endanwender einstellbar bereitzustellen. Für "Power-User" können etwa Wischgesten für Aktionen zur Verfügung gestellt werden, während Gelegenheits-User einen von der Anwendung stärker geführten Workflow benötigen. Wie solch unterschiedliche Konzepte dann genutzt werden, kann wiederum über Feedback-Tools auch automatisiert ausgewertet werden.

8. Bereitstellung und Updates

Die Bereitstellung der Business-App orientiert sich vor allem an der Zielgruppe, für die Unternehmen einen unbeschränkten oder beschränkten öffentlichen Zugriff oder nur einen internen Zugriff ermöglichen können.

Eine öffentliche Distribution über den Apple App Store, Google Play Store oder Windows Store erfordert dabei einen Zertifizierungsprozess, der bis zu zwei Wochen dauern kann. Damit erschwert sich für Unternehmen der Prozess, schnell Updates für Bugfixes oder neue Funktionen bereitstellen zu können.

Anwendungen auf Basis von JavaScript/HTML5 ermöglichen jedoch Updates "am App-Store vorbei" und erlauben damit auch individualisierte Updates, zum Beispiel für Key-User, um neue Funktionen zu testen, und vereinfacht die Entwicklung und den Rollout von kundenindividuellen Versionen.

Im Falle von hybriden Apps, müssen der Rollout und Updates des nativen Teils (Container) auf die Endgeräte im Unternehmen selbst entweder manuell oder über ein MDM-System durchgeführt werden. Die eigentliche Anwendung in Form von JavaScript-Code kann dann per "Hot-Code-Push" automatisch aktualisiert werden. Für die Nutzung einer Business-App auf iOS benötigt ein Unternehmen zudem ein Enterprise-Zertifikat von Apple.

Fazit

Die erfolgreiche Entwicklung einer Business-App erfordert vorab eine genaue Analyse der Zielgruppe und Anforderungen, um anschließend die richtigen Entscheidungen im Hinblick auf (Entwicklungs-)Technologien und UI-Konzepte zu treffen.

Neben ausreichend Zeit, um verschiedene Konzepte in der Entwicklung zu evaluieren und zu testen, ist eine kontinuierliche Einbindung der Endanwender ein Schlüssel zum Erfolg. Über Prototypen, (automatisierte) Feedback-Kanäle und Key-User-Versionen, kann dabei eine hohe Akzeptanz der Anwender erreicht und damit auch mittelbar die Kundenzufriedenheit, zum Beispiel im Serviceprozess erreicht werden. (mb)