HTML5Archiv

Business-Apps - finden Sie die richtige Balance

von

Mehr und mehr Unternehmen entdecken mobile Anwendungen und Apps. Diese halten verstärkt Einzug in gewerbliche Bereiche, wie die Fertigung, die Instandhaltung, das Qualitätsmanagement oder den Service.

Analysten schätzen, dass bis 2021 eine Verdoppelung auf weltweit 6,3 Milliarden App-Nutzer stattfinden wird. Speziell in den produktionsnahen-Bereichen werden Mobile Services immer häufiger eingesetzt. Das Ziel liegt klar auf der Hand: Mobile Anwendungen helfen dabei, Arbeitsprozesse innerhalb von Teams und in Zusammenarbeit mit Kunden, Partnern und mobilen Kräften einfacher, effektiver und effizienter zu gestalten.
So erhalten Anwender alle notwendigen Informationen/Nachrichten latenzfrei an die Hand – oder besser ausgedrückt: auf ihre Uhr (Smartwatch), das Telefon oder das Tablet übertragen. Somit werden Prozesse beschleunigt und Entscheidungen aufgrund besserer Informationen schneller getroffen. Wer aber glaubt, dass das nur ein Push der Informationen auf diese Geräte sei, ist schlecht beraten. Mit zunehmender Nutzung von Positions-, Kamera- und Scanner-Informationen wird mehr und mehr Intelligenz in die Lösungen integriert. Beispielweise können Positionsdaten Fehlerauswertungen verbessern oder visualisierte CAD-Maschineninformationen die Instandhaltung erleichtern.
Dank der Einfachheit dieser Anwendungen werden diese auch immer öfter zur Datenerfassung von Sachverhalten, wie Produktionsproblemen, oder gar zur Erstellung von Verträgen oder dem Project Monitoring eingesetzt.
Dadurch erwarten Unternehmenslenker eine Effizienzverbesserung um mindestens 30-40%, basierend darauf, dass sich die Geschwindigkeit der Entscheidungen deutlich beschleunigen wird.
Wir sind davon überzeugt, dass sich diese Erwartungen in den nächsten Jahren bestätigen und sogar ausgebaut werden. Es werden sich weiter neue Anwendungsbereiche mit mobilen Endgeräten, wie den neuen Smartwatches oder den neuen hoch-performanten Smartphones, eröffnen. Klar ist auch, dass Apps in vielen Industriebereichen bald genauso selbstverständlich genutzt werden, wie wir heute zum Beispiel unsere Bahn- oder Flugtickets mobil kaufen und die Fahrkarte mobil mit uns führen.

Das hört sich spannend an: Wie gehe ich so ein Projekt an und was ist zu beachten?
Die Entwicklung von Business-Apps erfordert vorab der Klärung ein paar grundlegender Themen. Hierbei sind die Technologie, die Anwendungen und das Thema der Anwender zu diskutieren. Zudem ist hinzuzufügen, dass man ebenso über den Tellerrand hinaussehen sollte, denn die App wird mit großer Wahrscheinlichkeit ein wesentliches Frontend zum Anwender darstellen.
Nachdem wohl die meisten dieser Apps auch in Zusammenarbeit mit Backendsystemen, wie SAP, Salesforce und Co., betrieben werden, so ist es dringend angeraten, sich mit einem Experten für das Thema Digitalisierung zu vernetzen. Kurz gesprochen sollten alle bestehenden Ziele sowie Ideen gesammelt und priorisiert werden, um daraus einen Weg aufzuzeichnen, wie man diese Gedanken entweder in die Mobile Anwendung bringt, diese miteinander vernetzen oder auch die einzelnen Lösungen sinnvoll voneinander abgrenzen kann.
Denn es sei darauf hingewiesen, dass dies weniger technologische Fragestellungen und auch keine Schnittstellendefinitionen sind. Es sind vielmehr betriebswirtschaftliche Fragestellungen, in welchen Prozessen deren Interaktionen mit den Informationssystemen sowie handelnden Personen und Hierarchien beleuchtet werden sollten, um daraus ein Prozessgerüst, den Informationsfluss und das User Interface ableiten zu können.

Die Vorbereitung der Entwicklung
Nachdem geklärt ist, welche Ideen mit der App umgesetzt bzw. welche Zielzustände (z.B. Reduktion der Bearbeitungszeiten) oder welchen Digitalisierungsgrad man gerne durch den Einsatz einer Mobilen Anwendung erreichen möchte, steht der Produktentstehungs-/-entwicklungsprozess im Fokus. Die nachfolgend formulierten Empfehlungen sollten Sie unserer Meinung nach dabei berücksichtigen:

Im Blickpunkt: Anwender und Anwendbarkeit
Der Erfolg einer Business-App steht und fällt mit der Akzeptanz der Anwender, die täglich damit arbeiten. Eine ansprechend gestaltete Anwendung mit intuitiven User Interfaces spielt dabei eine wesentliche Rolle. Das hören wir sehr häufig. Frägt sich nur, wie setzt man das in die Realität um? Ganz einfach. Nutzen Sie Fachleute/Partner mit grafischer und SW-technischer Kompetenz. Entwickeln Sie ein Mockup mit Werkzeugen (z.B. Zeplin). Diese Werkzeuge ermöglichen, dass die Entwickler an einem Projekt arbeiten und Sie Designs und Styleguides mit genauen Spezifikationen, Assets und Codeausschnitten automatisch übertragen können.
Vertrauen Sie auf die Rückmeldung Ihrer Anwender und planen Sie dafür entsprechende Rückmeldungsmöglichkeiten. Lassen Sie Ihre Ideen verifizieren bzw. entwickeln Sie mit diesen Ideen die Anwendung sukzessive weiter.
Das Ergebnis: Durch die enge Zusammenarbeit mit den Anwendern kann ein besseres Produkt entwickelt und vorgestellt werden, welches auf die Bedürfnisse der Benutzer zugeschnitten ist.

Entwicklungsprozesse, -zeiten und -ressourcen
Eine der ersten und wohl auch wichtigsten Entscheidungen, die Sie vor der Entwicklung von Business-Apps treffen sollten, ist die Frage nach der Plattform. Apple iOS/Android/oder Hybride (PWA). Die Antwort darauf bringt nun eine Reihe neuer Fragen hervor bezüglich Design, Entwicklungszeiten, Know-how und ebenso Fragen zu den Einsatzszenarien (Use Cases). Später kommen noch die Fragen zur Wartung auf die Agenda, die nicht außer Acht gelassen werden dürfen.
Nun bitte der Reihe nach: Sollte eine App auf verschiedenen Plattformen angeboten werden, was in der Praxis immer mehr die Regel ist, werden höhere Kosten anfallen, da Besonderheiten der Plattformen vorab abgeklärt werden müssen. Diese werden sich über den Lebenszyklus der App amortisieren, da Entwicklungsschritte schneller von der Hand gehen.
In vielen den benannten Kundenszenarien ist die Offlinefähigkeit unabdingbar. Da die Speicherkapazität der Browser (in welchen die PWA-App läuft) beschränkt ist, erhöht dieser Punkt die Komplexität, da geeignete Schnittstellen, Protokolle bzw. Bibliotheken in der Regel nur online verfügbar sind.
Zudem bietet eine plattformunabhängige Entwicklung von PWA-Apps, z.B. mit Ionic-Angular-Cordova-Frameworks) Investitionssicherheit, sowohl für den Kunden, da Ableitungen auf native Apps und auch eine zukünftige Portierung auf neue Plattformen in der Regel schneller und kostengünstiger möglich sind.

Verteilung und Wartung der App
Ein häufig unterschätztes Thema betrifft die Bereitstellung und Updates der App. Dabei ist zu entscheiden, inwiefern die App öffentlich oder Firmen-intern distribuiert werden soll. In der Regel werden Business-Apps intern über entsprechende Intranet-Sites verteilt. Hier gilt ebenso der Rat, das so beizubehalten, um den Zertifizierungsprozess, der bis zu 2 Wochen dauern kann, auszulassen. Kein Vorteil ohne Nachteil, denn wie werden nun Updates oder Bug-Fixes bereitgestellt? Nun ja, das kommt auf die gewählte Entwicklungsumgebung an, denn bspw. JavaScript/HTML5 ermöglichen individualisierte Updates. Bei Hybriden Apps wiederum müssen der Rollout und das Update manuell bzw. über entsprechende MDM-Systeme (Airwatch etc.) erfolgen. Was zudem bei all dem App-Hype nicht übersehen werden darf, ist, dass Apple für die Nutzung von Apps Zertifikate nutzt, die jährlich angepasst und erworben werden müssen.

Zusammenfassend/Fazit/Business-Apps – Fragen und Antworten
Wer also den digitalen Wandel mit Hilfe von Business-Apps in seinem Unternehmen vorantreiben möchte, sollte die neuen Gegebenheiten unserer sich stetig verändernden Arbeitswelt aufnehmen. Ein wichtiger Baustein neben Technologie und Designfragen ist dabei die Zusammenarbeit mit Ideengebern und Beteiligten – machen Sie Betroffene zu Beteiligten. Und da reicht es nicht, wenn Sie zu Beginn des neuen Jahres ein paar Schlagworte wie Industrie 4.0-Digitale Transformation sowie die Agenda setzen und anschließend deren Umsetzung einfordern.
Gute und enge Zusammenarbeit bedeutet mehr, als mit denen, die eine hohe Motivation für das Thema mitbringen, neue Wege zu gehen. Es bedeutet vielmehr, Projekte mit den Kunden, dem Markt zu entwickeln, zu testen und kontinuierlich weiter zu entwickeln. Und das wird nie aufhören!
Deshalb sind Auftraggeber und -nehmer gefordert, ihre Ideen zu transportieren und nicht nur das umzusetzen, was schon lange bekannt ist oder was man gerade gehört hat. Zugegeben, provokant ausgedrückt: Nicht das Fehlermachen behindert den Fortschritt, sondern das Festhalten am Verdacht, Fehler zu machen, behindert den Fortschritt.
Sind wir nicht alle auf der Suche nach neuen Ideen und Antworten für diese neue digitale Welt der Business-App? Nur häufig fehlt uns der Glaube an die Veränderung oder gar der Willen, neue Wege auszuprobieren, um unsere neue digitalisierte Zukunft selbst zu gestalten.
Gerade deswegen sollten wir uns bei all den Apps sowie den damit einhergehenden Digitalisierungs- und Sicherheitsfragen wieder darauf besinnen, was uns Menschen eigentlich ausmacht. Alles, was man dann noch tun muss, ist diese Menschen an einem (auch virtuellen) Ort zusammenzubringen, und gute Ideen werden entstehen und Projekte sich schrittweise vorwärts entwickeln – ganz von alleine.
So lautet unser Glaube: Wir sind davon überzeugt, dass Innovation nur in Zusammenarbeit mit Menschen entsteht, nicht durch Technologien. Mögen Ihnen diese Zeilen helfen, einen einfachen und guten Ansatz für die Umsetzung Ihrer nächsten Business- (Progressive-Web-)App zu wählen.

Stellen Sie sich eine iOS App vor, die ein HTML5 Video bereitstellt, das Sie abspielen und stoppen können, und mit dem Sie interagieren können. Das ist genau das, was wir in diesem Tutorial zusammenbauen wollen.

HTML

Da nur kleine Änderungen notwendig sind, werden wir damit beginnen, den HTML/JS-Code zu bearbeiten, der in diesem Artikel bereitgestellt wird. Zuerst verbinden wir ein JavaScript onclick-Attribut mit jedem der Elemente, die

umgeben. Dazu nehmen wir die setupItems()-Funktion:

var t = $(items[i][3]);

Beachten Sie, dass das Encoding notwendig ist, weil der String oben als Funktionsparameter gegeben ist.

Wie Sie sehen können, wird Overlay.call() mit der entsprechenden Item-ID aufgerufen, wenn Sie auf eine Box klicken. Call() arbeitet ähnlich zu der Art und Weise, wie wir windows.location in einem vorangegangenen Artikel verwendet haben, um Daten an die iOS parent app zu schicken.  Es nimmt die ID und leitet die Seite weiter zu so etwas wie ?cmd=call¶m=2. Diese Zeichenfolge kann später von der iOS-App gelesen werden.

Das ist es auch schon! Starten Sie nun Xcode und erzeugen Sie eine neue, view-based Applikation. Nennen Sie es App Solut InteractiveVideoInterface, und öffnen Sie Ihre ViewController header Datei. Fügen Sie folgenden Code ein:

@interface App_Solut_InteractiveVideoInterfaceViewController : UIViewController {

IBOutlet UIWebView *webView;
IBOutlet UILabel *label;
}
@property(retain, nonatomic) UIWebView *webView;
@property(retain, nonatomic) UILabel *label;

@end

Speichern Sie die Datei, wechseln Sie zum Interface Builder und bearbeiten Sie die xib Datei des ViewControllers. Ziehen Sie ein WebView und ein Label auf dem Bildschirm und verbinden Sie die Outlets, die soeben erzeugt wurden. Dazu ziehen Sie (während Sie die Strg-Taste gedrückt halten) aus dem WebView Objekt zum Besitzer der Dateien und wählen Sie delegate. Dann das gleiche umgekehrt: ziehen Sie (während Sie die Strg-Taste gedrückt halten, oder nehmen Sie die rechte Maustaste, wenn Sie eine Standardmaus benutzen) vom Besitzer der Dateien zum  WebView und zum Label und wählen Sie die entsprechenden Einträge aus der Liste. Sie haben nun die Verbindung zwischen Ihrem Code und Ihrem Interface geschaffen.

In Ihrer Implementierungs-Datei führen Sie nun ein synthesize für WebView und Label durch:

@synthesize webView;
@synthesize label;

So wie beim WebView Interface-Code fügen wir die folgende Funktion hinzu, um alle Webpage Requests abzufangen.

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSString *url = [[request URL] absoluteString];
NSArray *urlArray = [url componentsSeparatedByString:@"?"];
NSString *cmd = @"";
NSMutableArray *paramsToPass = nil;
if([urlArray count] > 1) {
NSString *paramsString = [urlArray objectAtIndex:1];
NSArray *urlParamsArray = [paramsString componentsSeparatedByString:@"&"];
cmd = [[[urlParamsArray objectAtIndex:0] componentsSeparatedByString:@"="] objectAtIndex:1];
int numCommands = [urlParamsArray count];
paramsToPass = [[NSMutableArray alloc] initWithCapacity:numCommands-1];
for(int i = 1; i < numCommands; i++){
NSString *aParam = [[[urlParamsArray objectAtIndex:i] componentsSeparatedByString:@"="] objectAtIndex:1];
[paramsToPass addObject:aParam];
}
}
if([cmd compare:@"call"] == NSOrderedSame) {
NSString *message = [[paramsToPass objectAtIndex:0]stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
[label setText:[NSString stringWithFormat:@"You just clicked button #%@", message]];
}
/* Only load the page if it is not an appcall */
NSRange aSubStringRange = [url rangeOfString:@"appcall"];
if(aSubStringRange.length != 0){
NSLog(@"App call found: request cancelled");
return NO;
} else {
return YES;
}
}

Sie sehen, dass der Wert des param Parameters mit einem String verbunden ist, der als Text des Labels benutzt wird. In diesem Szenario schicken alle Video-Overlays ihre eigene ID zur App, wenn auf sie geklickt wird.

Von diesem Punkt an ist Ihre Fantasie frei. Sie können auf den Benutzerinput reagieren und tun, was Sie wollen.

Beispielprojekt herunterladen

Sie finden das Beispielprojekt bei GitHub: InteractiveVideoInterface-Example.