Die Entwicklung einer Business-App stellt Unternehmen vor viele Herausforderungen. In einem volatilen Markt wie dem für mobile Anwendungen gilt es, die richtigen, zukunftsträchtigen Entscheidungen bezüglich der Unterstützung der Betriebssysteme und Entwicklungstools zu treffen und dabei 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, -geschwindigkeit und -kosten sowie zukünftiger Einsatzszenarien. Soll die Anwendung nur auf einer 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 besser. Zudem kann das UI spezifisch auf die Plattform ausgerichtet werden, hardwarenahe Funktionen sind einfacher zu integrieren und Performancethemen einfacher zu lösen. Je variabler oder größer der Funktionsumfang ist oder sein soll, z. B. um verschiedene individuelle Kundenszenarien oder eine große Menge an Funktionen über die Zeit umzusetzen, desto eher lohnt es sich, auf eine plattformunabhängige Entwicklung zu setzen. Das gilt selbstverständlich auch dann, wenn die Anwendung auf vielen Plattformen bereitgestellt werden muss. Hier sind die initialen Kosten zwar in der Regel höher als bei einer rein nativen Entwicklung, das ändert sich dann aber mit der Zeit, da neue Funktionen im Idealfall nur einmal für alle Plattformen zu entwickeln sind. Da Businessanwendungen 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 den Entwickler als auch für den 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 Zugriff auf Betriebssystemfunktionen 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. Dieser Ansatz bietet das Beste aus beiden Welten. 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. Das ist für einfache Anwendungen ohne große Offlinefähigkeit eine 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 auch möglich, auf wichtige betriebssystemnahe Funktionen per Browser zuzugreifen, wie Kamera oder Geokoordinaten. Eingeschränkte Möglichkeiten zum Zwischenspeichern von Daten für Offlinefä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 durchgesetzt wie Cordova. Meist sind die Möglichkeiten nur begrenzt, das UI plattformunabhängig zu schreiben. Des Weiteren ist man stark vom Anbieter abhängig. Das kann insbesondere beim Aufkommen neuer Plattformen dazu führen, dass sie 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 verfügen (Objective C für iOS, Java für Android und C# für Windows). Entwicklungssysteme im Bereich Web- und Hybridentwicklung sind vielfältig. Große Teile an (Basis-)Bibliotheken stehen quelloffen zur Verfügung. Das bedeutet Fluch und Segen zugleich, da die Auswahl zum einen schwer zu überblicken ist, zum anderen es 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 Webanwendungen als auch mobil geteilt werden. Entwicklungsartefakte können über die Anwendungen hinweg wiederverwendet werden. Aktuell besteht aber noch eine hohe Dynamik in der gesamten Entwicklungsinfrastruktur nach dem Motto: „Gestern war Angular das Framework der Wahl, heute ist es React und morgen gibt es wieder etwas 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 Businessbereich zu wählen und abzuwarten, bis der Hypezyklus 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 Crossplattformansatz lässt sich dieser Aufwand für die Entwicklung verschiedener Plattformen zwar reduzieren, allerdings hängt das auch sehr von der Komplexität der Anwendung und den Anforderungen an die Wiederverwendung ab. Sind sie 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 Showstopper 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. Die Authentifizierung gegenüber dem Server sollte über entsprechende Methoden, wie über ein tokenbasiertes Verfahren erfolgen, sodass eine Speicherung von Passwörtern am mobilen Client nicht notwendig ist. 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 helfen, die in der Regel eigene Securitycontainer 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 geprüft werden, insbesondere auch im Hinblick auf den Sicherheitsaspekt. Da viele Anbieter auf dem Markt existieren, 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 sie idealerweise durch Mittel des jeweiligen Betriebssystems erfolgen, beispielsweise ein biometrischer Fingerabdruckabgleich. Auch wenn diese keine hundertprozentige Sicherheit darstellen, erlauben sie einen hohen Schutz in Kombination mit einfacher Bedienbarkeit.

6. Offlinefähigkeit

In vielen Kundenszenarien ist die Offlinefähigkeit von Business-Apps immer noch essenziell. In Branchen wie beim mobilen Einsatz von Servicetechnikern müssen Apps auch an Orten ohne Mobilfunknetz funktionieren, z. B. im Keller oder im Aufzugschacht. Die speicherbare Datenmenge in einem Webbrowser ist in der Regel auf einige Megabytes begrenzt und daher nicht geeignet, wenn große Datenmengen offline vorgehalten werden müssen. Die Offlinefä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 Onlinedatenaustausch ausgelegt. Deswegen sollten Unternehmen bei der Entwicklung von offlinefä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 mit einbeziehen. 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 Userfeedbacktools nachzudenken, wie Helpshift oder Apptentive. Live-Messaging mit Endanwendern, automatisierte Umfragen, das 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 Businessumfeld sind oft essenzielle Werkzeuge für den Endanwender. Hierbei sind oft auch Verordnungen, wie für das Arbeiten am Bildschirmarbeitsplatz, zu beachten und die Vielfalt der Benutzergruppen ist 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 Poweruser können etwa Wischgesten für Aktionen zur Verfügung gestellt werden, während Gelegenheitsuser einen von der Anwendung stärker geführten Workflow benötigen. Wie solch unterschiedliche Konzepte dann genutzt werden, kann wiederum über Feedbacktools 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 Apples 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 Fall 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 Entwicklungstechnologien und UI-Konzepte zu treffen. Neben ausreichend Zeit, verschiedene Konzepte in der Entwicklung zu evaluieren und zu testen, ist eine kontinuierliche Einbindung der Endanwender ein Schlüssel zum Erfolg. Ãœber Prototypen, (automatisierte) Feedbackkanäle und Key-User-Versionen kann dabei eine hohe Akzeptanz der Anwender erreicht und damit auch mittelbar die Kundenzufriedenheit, z. B. im Serviceprozess, erreicht werden.