Leider existiert bei vielen Entwicklern der Irrglaube, dass mit dem Launch der eigenen App in einem der App Stores die Arbeit getan sei. Dabei geht der Spaß dann erst richtig los. Nur wer seine App als Produkt und nicht als Projekt versteht, hat auch nachhaltig die Chance auf Erfolg. Die Session zeigt, wie man durch Crash Reporting, App Analytics, geschicktes Einbinden der Usercommunity und ein gut durchdachtes Releasemanagement seine App auch nach dem ersten Launch attraktiv und erfolgreich halten kann.
2. Lars Röwekamp (a.k.a. @mobileLarson)
ÜBER MICH
LR
#WISSENTEILEN
Wer bin ich - und wen ja, wie viele?
• CIO New Technologies
• Enterprise & Mobile
• Author, Speaker, Coach & Mentor
• Snowboard & MTB Enthusiast
• dreifacher Vater, einfacher Ehemann
18. The Day After
QUALITY
#WISSENTEILEN
Anforderung an Testabdeckung
• Alles „Offensichtliche“ plus ...
• ... Lifecycle Events & Config Changes
• ... Datenbank & Filesystem
• ... Umwelteinflüsse & Störungen
• ... zu unterstützende Device Konfigurationen
• ... zu unterstützende Versionen, Locales, etc.
19. The Day After
QUALITY
#WISSENTEILEN
Anforderung an Testabdeckung
• ... Reaktion auf Batteriestatus
• ... App Installation & Update
• ... Verhalten im Standby Modus
• ... Standardkonformität
• ... Plattformkonformität
• ... Sicherheit
21. The Day After
QUALITY
#WISSENTEILEN
Unit Tests
• Testen der korrekten Funktionsweise
einzelner, isolierter Komponenten
• automatisiert
• regelmäßig
• wiederholbar
22. The Day After
QUALITY
#WISSENTEILEN
Integration Tests
• Testen der Interaktion von „unit tested“
Komponenten mit ihrer direkten Umgebung
• Life Cycle Behaviour
• Klickpfade, State-Saving/Restoring
• Änderung von Konfiguration, Ressourcen
• Umwelteinflüsse und Störungen
23. The Day After
QUALITY
#WISSENTEILEN
Acceptance Tests
• Testen der Korrektheit und Vollständigkeit von
Use Cases und User Stories
• Remote Installation und Remote Ablauf
• paralleles Testen von verschiedenen „Devices“
• Vergleich von Bildschirmfotos
24. The Day After
QUALITY
#WISSENTEILEN
Stress Tests
• Testen der App gegen Umwelteinflüsse und
„beliebige“ Störungen
• Simulation „beliebiger“ Störungen
• Simulation „beliebiger“ Umwelteinflüsse
• Forciertes „gegen die Wand“ fahren
25. Wer bitte soll das alles
testen?
25
The Day After
QUALITY
• Ich?
• Du?
• Er, sie, es?
• Oder besser doch ... ?
30. The Day After
ROLLOUT
#WISSENTEILEN
Rollout Strategien
• Klingon Rollout
• „Dogfood“ Builds
• Interne oder externe Beta-Phase
• BTW: Single- oder Multi-Plattform Rollout
• BTW: App „only“ oder App & Server Rollout
32. The Day After
ROLLOUT
#WISSENTEILEN
Alpha / Beta Channels
• Community als „Tester“
• „Tester“ bekommen normale Store Updates
• Wenn Alpha/Beta Rollout beendet, sind die
„Tester“ wieder Teil der normalen User-Base,
ohne Deinstallation
33. The Day After
ROLLOUT
#WISSENTEILEN
Staged Rollout
• App geht nur an einen Teil der Nutzer:
5%, 10%, 20%, 50%
• Features auf Akzeptanz testen
• Kritische Fehler betreffen nur Teilgruppen
• Langsames Steigern ist möglich
35. The Day After
ROLLOUT
#WISSENTEILEN
Rollout Zyklen
• Hard Facts:
Jedes Update bringt Traffic!
„Newsletter of Mobile World“
Neue Berechtigungen kosten Nutzer
• Erfahrungswert:
Update alle 2-6 Wochen wird akzeptiert
37. The Day After
ANALYTICS
#WISSENTEILEN
„Meine App ist am Markt! Aber wie bekomme
ich jetzt sinnvolle Informationen über
Nutzerverhalten und Conversion als
Grundlage für strategische
Entscheidungen?“
38. The Day After
ANALYTICS
#WISSENTEILEN
Schritt 1: Notwendige Daten identifizieren
• Was sind die Business relevanten Metriken?
• Was sind die technischen Metriken?
• Was sind weitere Erfolgsmetriken?
39. The Day After
ANALYTICS
#WISSENTEILEN
Schritt 2: Nutzbarkeit prüfen
• Kann ich die gewünschten Daten sammeln?
• Habe ich die notwendigen Analysetools?
• Habe ich die notwendige Analyseerfahrung?
41. The Day After
ANALYTICS
#WISSENTEILEN
Worum geht es beim In-App Logging
• Laufzeitinformationen ...
sammeln, senden & auswerten
• Und was Bitte? Relevantes!
User-Verhalten, Values & Crashes
42. The Day After
ANALYTICS
#WISSENTEILEN
a.k.a. Poor-Mans Analytics
• „einfach“ im Sinne von trivial zu realisieren
• „einfach“ im Sinne von wenig komfortabel
• Wie kommen die Daten zum Entwickler?
• Wie kommen die Daten zum Server?
• Was ist mit Security?
44. The Day After
ANALYTICS
#WISSENTEILEN
Worum geht es beim Crash Reporting
• Kritische Laufzeitinformationen ...
sammeln, senden & auswerten
• Und was Bitte? Unerwartetes!
User-Verhalten, Values & Crashes
54. The Day After
ANALYTICS
#WISSENTEILEN
Main Features des Crash Reporting?
• klinkt sich bei „Ausnahmen“ dazwischen
• erstellt „Crash Reports“
• reichert „Crash Reports“ um Kontext an
• sendet „Crash Reports“ an Backend(s)
• benötigt i.d.R. „lediglich“ Internet-Permission
55. The Day After
ANALYTICS
#WISSENTEILEN
Main Players beim Crash Reporting?
• Crashlytics (Teil von Fabric)
• New Relic
• Cittercism
• Splunk (ehemals Bugsense)
• HockeyApp
• TestFlight, Testfairy
59. The Day After
ANALYTICS
#WISSENTEILEN
Worum geht es beim App Monitoring
• Relevante Laufzeitinformationen ...
sammeln, senden & auswerten
• Nutzerverhalten
• Nutzer-Feedback
60. The Day After
ANALYTICS
#WISSENTEILEN
Monitore deine Ratings
• Ratings unbedingt ernst nehmen!
• Bester Kanal hin zu den Nutzern
• Nächstes Feature ist wahrscheinlich schon als
Review in den Ratings und nicht im Backlog
61. The Day After
ANALYTICS
#WISSENTEILEN
Monitore dein Traffic
• Erkennen von Serverproblemen
• Probleme werden auf die App geschoben.
• App ist nicht Web. Einmal deinstalliert ist
immer deinstalliert!
63. The Day After
ANALYTICS
#WISSENTEILEN
Monitore die UX
• „Number of active Users using the App“
• „Where in the World the App is being used“
• „Adoption and Usage of specific Features“
• „In-App Purchases and Transactions“
• „Crashes and Exceptions“
• „And many other useful metrics ... “