Darf es ein bisschen mehr sein - Konzepte und Strategien zur Bewältigung groß...
Mobile Applikationen - Juni 2013 - Entwicklung, Roll-out, Wartung
1. iks Thementag
„Mobile Applikationen – Es lebe die Vielfalt?!“
18.06.2013
Entwicklung, Roll-Out, Wartung:
Tipps & Tricks für die Umsetzungsphase
Autor:
Paul Dziwoki
2. Seite 3 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Agenda
Entwicklung
Test
Distribution
Wartung
Zusammenfassung
3. Seite 4 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Agenda
Entwicklung
Test
Distribution
Wartung
Zusammenfassung
4. Seite 5 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Klickdummy
Papierskizze und/oder
klickbares Mockup
Klickdummy
Idee
5. Seite 6 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Klickdummy
Gründe für einen Klickdummy
– Akzeptanz schaffen bei Budgetverantwortlichen
– Entwurf optimieren
– Neuartiges Userinterface testen
– Oft kommen hier weitere Ideen
– Backend testen
Quelltext des Klickdummys wird weiter verwendet!
6. Seite 7 / 41iks 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
7. Seite 8 / 41iks 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.)
– Zugang zu Beta-Firmware und Dokumentation
8. Seite 9 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Native Apps – Android
Java in Verbindung mit
– Eclipse + ADT Plugin
– Android Studio (basiert auf IntelliJ IDEA)
Alle Systeme auf denen Eclipse oder Android Studio läuft
Kostenpflichtiger Google Play Account ($25 einmalig)
9. Seite 10 / 41iks 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:
– Blackberry 10 (Java, Eclipse)
– Mozilla Firefox OS (HTML 5, CSS, JavaScript)
– Ubuntu Mobile (C/C++)
10. Seite 11 / 41iks 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
11. Seite 12 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Open Source Komponenten – Qualität bewerten
Anzahl Forks (Abspaltungen)
Aktivität: Anzahl Commits
Anzahl Empfehlungen (Stars)
Aktualität: letzter Commit
12. Seite 13 / 41iks 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
Allgemein
– https://github.com (auch Forks beachten!)
13. Seite 14 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Agenda
Entwicklung
Test
Distribution
Wartung
Zusammenfassung
14. Seite 15 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Tests – Vorgehensweise
Testversion
bereitstellen
Testen
Feedback von
Tester
Sessions der Tester
analysieren
• Crashreports?
• Logs
Anpassungen
vornehmen
15. Seite 16 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Tests – TestFlight
16. Seite 17 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Tests – Allgemeines und Besonderheiten
Generell gilt: So früh wie möglich testen
Automatisierte Tests: Unit- und UI-Testing
Technische Testfälle, z.B.
– Hochformat / Querformat
– Schwankende Netzqualität / Verbindungsabbrüche
– Skalierung bei verschiedenen Displaygrößen
– Verhalten nach Update der App
Usability Testfälle, z.B.
– Ist die Benutzeroberfläche intuitiv?
17. Seite 18 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Test – Tools
Tools der Entwicklungsumgebungen
– Simulator / Emulator
– Performance Tools (Batterie, Speicher, FPS, etc.)
– Debugging & (Remote-) Logging
Test im Simulator keinesfalls ausreichend
– Touch-Oberflächen lassen sich am besten auf einem Touchscreen
testen, nicht mit Tastatur und Maus
– Insbesondere gestenbasierte (multitouch) Steuerungen auf dem
Gerät testen
– Verhalten im Simulator und auf dem Gerät nicht immer identisch
18. Seite 19 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Android Fragmentierung – Herausforderung
Softwarefragmentierung
– Hersteller trifft Entscheidung
über Update
Hardwarefragmentierung
– Bildschirmauflösung
– Physikalische Tastatur
– Kamera
– Leistung (Prozessor, RAM)
iOS und Windows Phone aufgrund
von Regeln weniger betroffen
19. Seite 20 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Fragmentierung – Lösung
Testgeräte entsprechend des Nutzerkreises bereitstellen
– Hardwareausprägungen + OS Versionen abdecken
Nicht nur das Projektteam sollte testen, sondern auch weitere
Mitarbeiter
– Möglichst viele zum Testen mobilisieren, nicht nur Entwickler!
100% Testabdeckung bei Android kaum möglich
20. Seite 21 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Agenda
Entwicklung
Test
Distribution
Wartung
Zusammenfassung
21. Seite 22 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Distribution – Unterschiede nach Verbreitungsart
App Store
• Distribution & Zahlungsabwicklung durch den App
Store Betreiber
• Suchfunktion: App wird schnell gefunden
• Informationen über Updates / Autoupdate
• Kopierschutz
• „Review“-Prozess
Internet / Intranet
• Gründe:
• Ablehnung im App Store
• Begrenzter Nutzerkreis
• Für Distribution & Zahlungsabwicklung muss selbst
gesorgt werden
22. Seite 23 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
App Store Distribution (1)
App im Store
verfügbar
Freigabe +
Reviewprozess
Signierte App
hochladen
App signieren
App im App Store
anlegen
App Store
Registrierung
23. Seite 24 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
App Store Distribution (1)
App im Store
verfügbar
Freigabe +
Reviewprozess
Signierte App
hochladen
App signieren
App im App Store
anlegen
App Store
Registrierung
Unklarheiten führen zu Verzögerungen, z.B.
– Handelsregisterprüfung
– Umlaute im Namen führen zu Problemen
24. Seite 25 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
App Store Distribution (1)
App im Store
verfügbar
Freigabe +
Reviewprozess
Signierte App
hochladen
App signieren
App im App Store
anlegen
App Store
Registrierung
Daten zur App eintragen, z. B.
- Appbeschreibung
- Manchmal Appvideos
- Screenshots, evtl. mehrsprachig
- Verfügbarkeitsdatum
– Im Einklang mit Backend Livestellung und
evtl. Marketingkampagnen
25. Seite 26 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
App Store Distribution (1)
App im Store
verfügbar
Freigabe +
Reviewprozess
Signierte App
hochladen
App signieren
App im App Store
anlegen
App Store
Registrierung
App Signierung mit Zertifikat sorgt für Kopierschutz
26. Seite 27 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
App Store Distribution (2)
Allgemein:
– Review: Überprüfung auf Einhaltung der
Richtlinien (inhaltlich und technisch)
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
27. Seite 28 / 41iks 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
28. Seite 29 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Agenda
Entwicklung
Test
Distribution
Wartung
Zusammenfassung
29. Seite 30 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Wartung - Allgemeines
Updates aus technischen Gründen
– Neues Betriebssystem
– Neue Geräte
– Bugfixes (z.B. regelmäßig bei Testflight
nach Crashreports schauen)
Updates aus funktionalen Gründen
– Neue Funktionen über Updates
nachreichen
User werden auf die App aufmerksam
Statistiken/Verkaufszahlen auswerten
Supportchannel pflegen
– z.B. Facebook, Blog, FAQ, Wiki
30. Seite 31 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Wartung: App Store
Benutzer melden Fehler / Feature-
Wünsche mittels schlechter Bewertung:
– Kontakt und Feedback kaum möglich
– In jedem Fall notwendig: Bewertungen
verfolgen, ggf. automatisiert
(Monitoring, z. B. www.appbot.co)
31. Seite 32 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Wartung: App Store
Benutzer melden Fehler / Feature-
Wünsche mittels schlechter Bewertung:
– Kontakt und Feedback kaum möglich
– In jedem Fall notwendig: Bewertungen
verfolgen, ggf. automatisiert
(Monitoring, z. B. www.appbot.co)
Kontakt zum Kunden wiederherstellen
– Supportseite
32. Seite 33 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Wartung: App Store
Benutzer melden Fehler / Feature-
Wünsche mittels schlechter Bewertung:
– Kontakt und Feedback kaum möglich
– In jedem Fall notwendig: Bewertungen
verfolgen, ggf. automatisiert
(Monitoring, z. B. www.appbot.co)
Kontakt zum Kunden wiederherstellen
– Supportseite
– In-App-Bewertung/-Support z.B. mit
www.getSatisfaction.com
33. Seite 34 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Wartung: Vorgehen bei B2B/Intranet-Distribution
Mitarbeiter geben in der Regel schnell Feedback
Schnelles Beheben von Fehlern durch Update in
Eigenverantwortung
Kontrollierte Bedingungen durch Vorgabe bzw. bekannt
sein der Hardware
Auslesen des Gerätes, auf dem der Fehler aufgetreten ist,
ist grundsätzlich möglich
34. Seite 35 / 41iks Thementag: Mobile Applikationen – Entwicklung, Roll-Out, Wartung: Tipps & Tricks für die Umsetzungsphase
Agenda
Entwicklung
Test
Distribution
Wartung
Zusammenfassung
35. Seite 36 / 41iks 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
36. Seite 37 / 41iks 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
Distributionskanal wählen:
– Regelfall: App Store
– Ausnahmen: Internet/Intranet
• Aufgrund einer Ablehnung im App Store
• Begrenzter Nutzerkreis (z.B. B2B)
37. Seite 38 / 41iks 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
38. Seite 39 / 41iks 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“