IoT App Entwicklung – Vorgehen, Besonderheiten, Kosten (Interview Teil 2/2)

Mobile Apps sind für IoT-Projekte häufig eine Notwendigkeit. Doch wie genau geht man bei der IoT App Entwicklung vor und welche Spezifikationen gibt es in Hinblick auf die verschiedenen IoT-Komponenten?

Unser App-Experte Christian Oberdörfer gibt uns in Teil 2/2 unserer Interview-Serie mit ihm Antworten auf diese Fragen. Teil 1 zum Thema Native vs. hybride Apps könnt ihr hier lesen.

Wie geht man bei der App Entwicklung vor?

Christian: Bevor eine App entwickelt wird, besteht in der Regel bereits ein System, das auf dem Desktop oder einer Webseite läuft. Gleichzeitig gibt es bereits eine Datenbank, auf die man zugreifen kann, oder einen Service, von dem die Informationen abgerufen werden können.

Bei vielen klassischen Apps – wie wir sie von unserer privaten Nutzung kennen – erfolgt die Kommunikation über eine Web-API. Das ist beispielsweise bei Online-Shops oder Messenger-Diensten der Fall. Zum Standardprozess gehört die Entwicklung des User Interfaces und der Datenabfrage.

Wenn also das Konzept für eine neue App geplant wird, werden zunächst die Anforderungen erarbeitet. Muss die App ein spezielles User Interface haben? Soll die App eine spezielle Kommunikation mit anderen Geräten erlauben? Will man ein Berechtigungssystem haben? Soll es Verschlüsselung geben? 

Im nächsten Schritt werden das zur Verfügung stehende Budget und der Aufwand ermittelt. Prinzipiell unterscheidet sich der Entwicklungsaufwand für eine mobile App nicht vom Aufwand für eine Desktop- oder Web-App. Die Software muss lediglich für eine andere Plattform angepasst werden, für die ggf. andere Programmiersprachen und Bibliotheken gebraucht werden.

Und wie läuft das bei der IoT App Entwicklung ab?

Christian: Bei der IoT App Entwicklung kommen weitere Aspekte und damit auch Herausforderungen hinzu. Der Grund dafür ist, dass hier Geräte direkt mit dem Smartphone kommunizieren. Es existiert eine Vielzahl an Technologien, Kommunikationsprotokollen und Interaktionen mit der realen Welt. Hardware-spezifische Aspekte müssen ebenfalls mit berücksichtigt werden. In der Regel folgt dann ein Proof of Concept um zu testen, ob die App überhaupt mit der Hardware wie geplant zusammenarbeiten kann. 



Sehen wir uns ein paar Beispiele an:

  • Beispiel NFC (Near Field Communication):

NFC ist ein Übertragungsstandard zum kontaktlosen Austausch von Daten, der bei IoT-Lösungen häufig genutzt wird. Dabei befindet sich ein Chip beispielsweise auf einem Gerät oder auf einer Ware, den wir direkt mit unserem Smartphone auslesen möchten. Bei der IoT App Entwicklung muss auch berücksichtigt werden, dass nicht alle Smartphones mit allen NFC-Chips kompatibel sind.

Im Prozess sieht das dann wie folgt aus: Wir müssen zunächst einmal das Protokoll und die Eigenheiten des NFC-Chips verstehen. In einem zweiten Schritt wird dann der Datenaustausch mit dem Chip programmiert.

  • Beispiel Bluetooth: 

Eine weitere Technologie, die für viele Produkte gefragt ist, ist Bluetooth. Dabei soll eine Kommunikation über eine Entfernung von mehreren Metern zwischen Smartphone und IoT-Gerät hergestellt werden. Auch hier muss – in Absprache mit der Hardware-Entwicklung – berücksichtigt werden, welches Kommunikationsprotokoll genutzt wird und um welche Bluetooth-Variante es sich handelt.

  • Beispiel Kamera: 

Beim Auslesen von QR- oder Barcodes wird die Kamera des Smartphones verwendet. Dieser Prozess erfordert unter Umständen eine direkte Kommunikation mit dem Kameramodul.

  • Beispiel USB:

Es ist auch möglich, Microcomputer über USB direkt mit dem Smartphone zu verbinden. Hier muss meist ein eigenes Kommunikationsprotokoll entwickelt werden.

Wann ist eine App sinnvoll? 

Christian: Eine mobile App wird immer dann benötigt, wenn die User Experience – also das Erlebnis für die Nutzer – an erster Stelle steht oder wenn Anforderungen bestehen, die über eine Webseite nicht umsetzbar sind.

Bei IoT-Projekten ist dieser zweite Punkt besonders wichtig: Die Kommunikation mit Hardware-Modulen per NFC, Bluetooth oder USB ist über eine Website nicht möglich und erfordert stets die Entwicklung einer speziellen mobilen App.

Projekt-Beispiel “Smart Scale” 
Wir haben eine smarte Waage entwickelt – die Smart Scale – die den Füllstand von Gasflaschen misst. Diese IoT Waage sammelt Daten, die in zeitlichen Abständen in eine Datenbank geschrieben werden. Mit Hilfe von Anwendungen wie Grafana können die Daten für den Nutzer grafisch dargestellt und genutzt werden (z.B. der Füllstand der Gasflasche). Bei der App Entwicklung wird eine solche Anwendung transformiert und ein neues User Interface für das Mobilgerät entwickelt. Die Herausforderung ist dabei, die Daten in Echtzeit auf einer entsprechenden Bildschirmgröße darzustellen.

Für welche Branche oder Use Cases ist eine App wichtig? 

Christian: Abgesehen von den Hardware-Anforderungen ist einer mobile App immer dann sinnvoll, wenn dezentral oder offline gearbeitet wird. Das gilt auch dann, wenn die Daten auf dem Mobilgerät bleiben sollen oder wenn kein flächendeckendes Internet verfügbar ist.

Ein IoT Use Case, bei dem die Entwicklung und Nutzung einer App wichtig ist, ist im Bereich Warehouse Systems. Dort werden Mobilgeräte genutzt, um Informationen zu sammeln oder Codes zu scannen.

Gibt es in Hinblick auf die IoT App Entwicklung einen Unterschied, ob für Android oder iOS entwickelt wird?

Christian: Es gibt schon Unterschiede, was gleichzeitig auch eine weitere Schwierigkeit darstellt. Denn nicht alles ist technisch umsetzbar. 

Es gibt beispielsweise Sensoren, die auf dem iPhone nicht zugreifbar sind. So erlaubt Apple nicht die Nutzung aller Bibliotheken und aller Verbindungsmöglichkeiten. Auf einige Features muss dann verzichtet werden – oder man entwickelt nur für Android. 

App Entwicklung Experte Christian Oberdörfer
IOX App-Entwickler Christian Oberdörfer

Generell ist Android gegenüber iOS technologisch immer etwas voraus, beispielsweise mit Mobile Payment, NFC-Tags oder speziellen Bluetooth-Protokollen. Mit Android kann man sofort ein Gerät per Bluetooth oder USB verbinden und damit kommunizieren. Das ist bei iOS viel schwieriger. Auch NFC-Tags kann man beispielsweise erst seit kurzem mit dem iPhone lesen und beschreiben.

Android bietet zwar mehr Möglichkeiten, dafür gibt es aber auch viel mehr verschiedene Geräte, verschiedene Hersteller oder No-Name-Produkte. Das führt dann wieder zu einem höheren Testaufwand, wenn man sichergehen will, dass die App auf allen Geräten funktioniert. 

Bei Apple muss man dagegen mit wesentlich höheren Kosten für den Benutzer rechnen. Was nicht zuletzt daran liegt, dass Apple sich einen viel höheren Design-Anspruch gesetzt hat. Das Erlebnis für den Benutzer ist immer sehr ähnlich, es gibt wenige Überraschungen, wie eine App funktioniert. Und auch die Leistung der Smartphones ist in der Regel deutlich höher.

Ein grundsätzliches Fachwissen über die verfügbaren Kommunikationsprotokolle, deren Sicherheit und wie das Smartphone mit der Außenwelt kommuniziert, ist prinzipiell von großer Bedeutung. Im Idealfall bringt ein Entwickler Wissen über beide Betriebssysteme- Android und iOS – mit. Letztendlich konzentriert sich der gesamte Markt auf diese beiden Plattformen, für die immer parallel entwickelt werden muss.

Wie hoch sind die Kosten für die IoT App Entwicklung?

Christian: Vor allem im Bereich IoT App Entwicklung werden die Kosten und der Aufwand häufig unterschätzt, weil Kenntnisse und der Überblick über den gesamten Produktionsprozess und die Entwicklung fehlen.

Was für viele simpel scheint, braucht aber Zeit. Eine App muss auf vielen Smartphones getestet werden, sie muss auf allen Modellen und Gerätegrößen flüssig funktionieren. Hinzu kommt der Wartungsaufwand, denn es kommen stetig neue Modelle und Versionen der Betriebssysteme hinzu.

Eine genaue Summe lässt sich schwer bemessen. Es gibt Unternehmen, die für wenig Geld Apps am Fließband produzieren. Dabei wird dann häufig an Features gespart, was zu Abstrichen bei der Qualität und beim Nutzererlebnis führt. 

Bei der IoT App Entwicklung kann eine App preislich durchaus im sechsstelligen Bereich liegen, weil der Aufwand einfach viel größer ist.

Mehr zum Thema:

In Teil 1 unseres Interviews mit Christian geht es um den Unterschied und die Vor- und Nachteile von nativen und hybriden Apps bei IoT-Projekten: Interview Teil 1: Native vs. hybride Apps


Du brauchst Unterstützung bei der Entwicklung deiner IoT App?

Click to rate this post!
[Total: 0 Average: 0]