Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

41
iks Thementag „Mobile Applikationen – Es lebe die Vielfalt?!“ 20.11.2012 Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase Autor: Paul Dziwoki

description

Mobile Applikationen für Smartphones und Tablets sind aus der Geschäftswelt nicht mehr wegzudenken: Mitarbeiter und Geschäftspartner können mobil in Unternehmensprozesse eingebunden werden, Kunden mit mobilen Applikationen auf Daten und Dienstleistungen zugreifen. Oder Neukunden werden durch mobile Applikationen erst auf das Unternehmen aufmerksam.

Transcript of Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Page 1: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

iks Thementag

„Mobile Applikationen – Es lebe die Vielfalt?!“

20.11.2012

Entwicklung, Roll-Out, Wartung:

Tipps & Tricks für die Umsetzungsphase

Autor:

Paul Dziwoki

Page 2: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 3 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Ausgangssituation

Idee ist bereits ausgearbeitet

Plattform & Geräte ausgewählt

Mock-Up ist fertig

Zahlungsmodell steht fest

Page 3: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 4 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Agenda

Entwicklung:

– Prototyping

– Implementierung

– Tests

Distribution & Roll-Out

Wartung

Zusammenfassung

Page 4: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 5 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Agenda

Entwicklung:

– Prototyping

– Implementierung

– Tests

Distribution & Roll-Out

Wartung

Zusammenfassung

Page 5: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 6 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Prototyping

Klickprototyp mit Dummydaten

Gründe für Prototyping

– Akzeptanz schaffen bei Budgetverantwortlichen

– Entwurf optimieren

– Neuartiges Userinterface testen

– Backend testen

Quelltext des Prototyps wird größtenteils weiter verwendet!

Einfache Klickprototypen können ohne Programmierkenntnisse

erstellt werden mit:

– Blueprint (iOS)

– iPlotz (Android & iOS)

– Storyboard (Teil der Entwicklungsumgebung Xcode) (iOS)

Page 6: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 7 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Klickprototyp Tool: Blueprint App (iOS)

Page 7: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 8 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Agenda

Entwicklung:

– Prototyping

– Implementierung

– Tests

Distribution & Roll-Out

Wartung

Zusammenfassung

Page 8: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 9 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Native Apps - Einarbeitung

Voraussetzung: OO-Hochsprache

Einarbeitungsaufwand:

– Hält sich bei den unterschiedlichen Systemen

die Waage

Selbst bei Sprachkenntnis ist immer noch

Einarbeitung in die unterschiedlichen

Frameworks + Best Practices notwendig

Sehr umfangreiche Dokumentation vorhanden,

Durcharbeiten empfohlen

Page 9: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 10 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Native Apps – iOS

Objective-C in Verbindung mit

– XCode (kostenfrei)

• Beinhaltet Interface Builder / Storyboard

– JetBrains AppCode (175 €)

Mac OS X 10.7+

Kostenpflichtiger Apple Developer Account ($99 p. a.)

– Tipp: Gebühr rechtzeitig zahlen, sonst fliegt App aus dem Store!

Zugang zu Beta-Firmware und Dokumentation

Page 10: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 11 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Native Apps – Android

Java in Verbindung mit Eclipse

Alle Systeme auf denen Eclipse läuft

Kostenpflichtiger Google Play Account ($25 einmalig)

Page 11: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 12 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Native Apps – WP8 & weitere Plattformen

Windows Phone 8.0

– .NET in Verbindung mit Windows Phone Developer Tools

– Windows 7 / Windows 8

– Kostenpflichtiger Entwicklerzugang ($99 p. a.)

Weitere Plattformen:

– RIM Blackberry OS

– Amazon (angepasstes Android ICS)

– Mozilla Firefox OS

– Symbian

– Web OS

– MeeGo

Page 12: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 13 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Das Rad nicht neu erfinden

Frameworks/Komponenten der

Betriebssysteme nutzen

– Datenstruktur / ORM

– GestureRecognizer (PinchToZoom,

Drag&Drop, ...)

– Umfangreiche GUI-Bibliothek (Buttons,

TableView, WebView, ...)

– Große Open Source Community (Github,

Google Code, ...)

• Barcode-/QR-Scanner

• PDF-Reader

Page 13: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 14 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Open Source Komponenten – Qualität bewerten

Anzahl Forks (Abspaltungen)

Anzahl Empfehlungen (Stars)

Aktivität: Anzahl Commits

Aktualität: letzter Commit

Page 14: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 15 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Open Source – richtige Komponente finden

Android, WP, iOS:

– http://www.verious.com/

– http://www.developergarden.com/

iOS

– http://www.cocoacontrols.com

GitHub

– Forks beachten!

Page 15: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 16 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Agenda

Entwicklung:

– Prototyping

– Implementierung

– Tests

Distribution & Roll-Out

Wartung

Zusammenfassung

Page 16: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 17 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Test (1)

Tools der Entwicklungsumgebungen

– Simulator / Emulator

• Android: sehr langsam, da Emulator

• iOS: Druckersimulator (Airprint)

• iOS: GPS-Positionen und Routen simulieren

• iOS: SlowMotion um Animationen zu prüfen

– Debugger

– Unit Testing

– Performance Tools

• Speicherlecks finden

• Batterieverbrauch / Ressourcenverbrauch / FPS messen

Darüber hinaus sind weitere Testframeworks verfügbar

– z.B. Monkeytalk (iOS&Android), Robotium (Android)

Page 17: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 18 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Test (2)

Wann soll mit dem Testen begonnen werden?

– Idealerweise bereits parallel zur Implementierungsphase

– Frühzeitiges Finden von Ressourcenproblemen

Test im Simulator keinesfalls ausreichend

– Touch-Oberflächen lassen sich am besten auf einem Touchscreen

testen, nicht mit Tastatur und Maus

– Insbesondere gestenbasierte Steuerungen auf dem Gerät testen

– Speicher- & Prozessorauslastung

– Usabilitytests mit Anwendern

Herausforderung hierbei: Fragmentierung

Page 18: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 19 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Fragmentierung – Herausforderung

Android: viele unterschiedliche Geräte und OS Versionen

– Unklarheit ob der Benutzer das entsprechende OS Update erhält

• Hersteller trifft die Entscheidung

– Hardwareausprägungen

• Bildschirmauflösung

• Physikalische Tastatur

• Kamera

• Prozessor, RAM

iOS und Windows Phone aufgrund von Regeln weniger betroffen

Page 19: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 20 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Fragmentierung – Android

Umfeld wird immer heterogener

Android 4 zu dem Zeitpunkt kaum vertreten

Alte Versionen noch sehr verbreitet

http://opensignalmaps.com/reports/fragmentation.php?

Page 20: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 21 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Fragmentierung – Lösung

Testgeräte entsprechend der Vorbedingungen bereitstellen

– Hardwareausprägungen + OS Versionen abdecken

– 100% Testabdeckung bei Android nicht möglich

Nicht nur der Dienstleister sollte testen, auch der Auftraggeber

– Tipp: Möglichst viele zum Testen mobilisieren, nicht nur

Entwickler!

OTA-Distribution nicht ungeschützt online stellen

Page 21: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 22 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Agenda

Entwicklung:

– Prototyping

– Implementierung

– Tests

Distribution & Roll-Out

Wartung

Zusammenfassung

Page 22: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 23 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Distribution & Rollout

iOS Android WP Webapp

Internet X X X

Intranet Enterprise-

Programm X

Enterprise-

Programm X

App Store X X X

Page 23: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 24 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Distribution & Rollout - Unterschiede

Internet / Intranet

– Distribution & Zahlungsabwicklung muss selbst abgewickelt werden

App Store

– Distribution & Zahlungsabwicklung durch den App Store Betreiber

– Suchfunktion: App wird schnell gefunden

– Nutzer erhalten automatisch Informationen über Updates

– Kopierschutz

– „Review“-Prozess

Page 24: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 25 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

App Store Distribution – Registrieren

App im Store verfügbar

Freigabe + Reviewprozess

Signierte App hochladen

App signieren

App im App Store anlegen

App Store Registrierung

Unternehmensdaten und Abrechnungsdaten

hinterlegen

Unklarheiten führen zu Verzögerungen

– Handelsregisterprüfung

– Umlaute im Namen führen zu Problemen

Benutzerverwaltung

– Normale Nutzer / Admin: Entwickler,

Marketing, Einkauf, Verkauf

– Agent: kann App im Store freigeben

Page 25: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 26 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

App Store Distribution – App anlegen im Portal

Applikationsbeschreibung

Screenshots

– In allen Sprachen hinterlegen!

Support-URL + Support Email Address

– z.B. Blog (Updates ankündigen) mit Forum

– Kontakt zum Kunden

Kategorien (Erst- & Zweitkategorie)

Suchwörter

Verfügbarkeitsdatum

– Im Einklang mit Backend Livestellung und evtl.

Marketingkampagnen

Veröffentlichungsraum (Länder) App im Store verfügbar

Freigabe + Reviewprozess

Signierte App hochladen

App signieren

App im App Store anlegen

App Store Registrierung

Page 26: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 27 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

App Store Distribution – App signieren

App Store Anbieter stellt ein Distributions-

Zertifikat zur Verfügung

App Signierung sorgt für Kopierschutz

App im Store verfügbar

Freigabe + Reviewprozess

Signierte App hochladen

App signieren

App im App Store anlegen

App Store Registrierung

Page 27: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 28 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

App Store Distribution – App hochladen

Upload über Webseite des App Stores (Google

Play, etc.) oder direkt aus Entwicklungsumgebung

(Apple App Store) heraus

App im Store verfügbar

Freigabe + Reviewprozess

Signierte App hochladen

App signieren

App im App Store anlegen

App Store Registrierung

Page 28: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 29 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

App Store Distribution – Freigabe & Review

Allgemein:

– Review: Überprüfung auf Einhaltung der

Richtlinien (bzgl. Dateisystem, GUI, APIs, etc.)

Apple App Store & Windows Market Place

– Review dauert ca. 5 Werktage

Google Play, etc.

– Automatische Freigabe, sofortige Verfügbarkeit

App im Store verfügbar

Freigabe + Reviewprozess

Signierte App hochladen

App signieren

App im App Store anlegen

App Store Registrierung

Page 29: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 30 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

App Store Distribution – App ist online!

App im Store verfügbar

Freigabe + Reviewprozess

Signierte App hochladen

App signieren

App im App Store anlegen

App Store Registrierung Im Katalog gelistet + auffindbar über Keywords

Downloadstatistiken einsehbar

Page 30: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 31 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

App Store Distribution - Zeitverlauf

Wenige Stunden bis mehrere Tage

Tipp: Rechtzeitig benötigte Informationen sammeln

2 Tage bis mehrere Wochen

Tipp: Rechtzeitig registrieren!

Ca. 5 Werktage (wenn Review erfolgreich!)

Google Play: sofort

Tipp: Bei Risiko für Ablehnung mehr Zeit einplanen! App im Store

verfügbar

Freigabe + Reviewprozess

Signierte App hochladen

App signieren

App im App Store anlegen

App Store Registrierung

Page 31: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 32 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Agenda

Entwicklung:

– Prototyping

– Implementierung

– Tests

Distribution & Roll-Out

Wartung

Zusammenfassung

Page 32: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 33 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Wartung - Allgemeines

Neue Betriebssysteme + neue Geräte

Open Source kann bei Wartung

vorteilhaft sein

Sonderfall Web-Applikation

– Wartung wie bei jeder

Client-Server-Entwicklung

Tipp: Updates mit neuen Funktionen nachreichen!

Page 33: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 34 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Wartung – Intranet

Mitarbeiter geben in der Regel schnell Feedback

Kontrollierte Bedingungen durch Vorgabe bzw. bekannt

sein der Hardware

Auslesen des Gerätes, auf dem der Fehler aufgetreten ist,

ist grundsätzlich möglich

Schnelles Beheben von Fehlern durch Update in

Eigenverantwortung

Page 34: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 35 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Wartung – App Store / App aus dem Internet

Benutzer melden Fehler / Feature-Wünsche:

– App Store Bewertung

– Besser: Supportseite

– Idealfall: In-App-Bewertung

Direkter Kontakt zum Kunden geht verloren

Problem des Herausfindens der

Fehlerursache

Verzögerung der Behebung durch Review-Prozess

Page 35: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 36 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Agenda

Entwicklung:

– Prototyping

– Implementierung

– Tests

Distribution & Roll-Out

Wartung

Zusammenfassung

Page 36: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 37 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Fazit I

Protoyping

– Sollte möglichst gründlich durchgeführt werden

– Späte Änderungen wirken sich mit hohem Aufwand in der

Implementierungsphase aus

Implementierung

– Die einzelnen Entwicklungsumgebungen sind sehr ausgereift

– Frameworks und Open Source Komponenten nehmen einem

viel Arbeit ab

Tests

– Kann sehr umfangreich werden (Plattformabhängig)

– Betriebssystemversionen & Geräte definieren: Test- &

Implementierungsaufwand senken

Page 37: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 38 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Fazit II

Verschiedene Distributionskanäle möglich

– Für jede App einzeln abwägen, welcher Weg der Richtige ist

Vertrieb durch App Store hat Vorteile...

– Keine eigene Infrastruktur nötig

– Keine eigene Abrechnung

– Rudimentäre Bekanntmachung

... aber auch Nachteile

– Keine vollständige Kontrolle über den Prozess

– Review-Prozess

Page 38: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 39 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Fazit III

Aufwand für Wartung einplanen

Über Updates neue Features liefern

Ständiges Überwachen der

Kommunikationskanäle

Page 39: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Seite 40 / 42 iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase

Weiterführende Literatur

Apple

http://developer.apple.com

Google Android

http://developer.android.com/

Windows Phone

http://msdn.microsoft.com/de-de/windowsphone/

Kevin Mullet & Darrell Sano, „Designing Visual Interfaces“

Dave Mark, „Beginning iPhone 4 Development“

Page 40: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

Fragen?

Page 41: Mobile Applikationen: Entwicklung, Rollout, Wartung - Tipps und Tricks für die Umsetzungsphase

www.iks-gmbh.com