$30 off During Our Annual Pro Sale. View Details »

Learn From Thy Users

Dasmer
August 29, 2014

Learn From Thy Users

A talk about how to use Analytics, AB Testing, and Pre-release builds to gather data from your apps users in order to make apps that people love to use. This was presented at A Swift Start at the Flatiron School.

Dasmer

August 29, 2014
Tweet

More Decks by Dasmer

Other Decks in Technology

Transcript

  1. SO YOU WANT TO WRITE
    AWESOME IOS APPS?
    DASMER SINGH

    View Slide

  2. BUT WHAT
    MAKES AN APP
    AWESOME?

    View Slide

  3. IS IT...

    View Slide

  4. SOMETHING REALLY OUT OF
    THE BOX

    View Slide

  5. OR LIFE SAVING

    View Slide

  6. COOL ANIMATIONS?

    View Slide

  7. THESE ARE ALL IMPORTANT
    MANY GREAT APPS HAVE THESE

    View Slide

  8. BUT WHAT TAKES AN APP TO
    THE next level

    View Slide

  9. IS ITS
    USER-BASE

    View Slide

  10. LEARN FROM THY
    USERS

    View Slide

  11. BUT HOW DO WE KNOW WHAT USERS WANT?
    1. Analytics
    2. AB Testing
    3. Asking

    View Slide

  12. 1. ANALYTICS
    TRACK ALL THE THINGS

    View Slide

  13. THERE ARE MANY GREAT TRACKING TOOLS FOR IOS
    SOME EXAMPLES:
    1. Mixpanel
    2. Flurry
    3. Google Analytics
    4. Parse

    View Slide

  14. WHAT CAN WE TRACK?
    1. Events
    2. Properties

    View Slide

  15. EVENTS USUALLY SIGNIFY AN ACTION TOOK PLACE
    EXAMPLES AT VENMO:
    1. Recipient Selected
    2. Invite Sent
    3. Story Tapped
    4. Address Book Authorized

    View Slide

  16. PROPERTIES ARE PASSED WITH EVENTS TO GIVE CONTEXT
    TO THE ACTION BEING LOGGED
    EXAMPLES AT VENMO:
    1. Recipient Selected - isNearby
    2. Invite Sent - inviteType (SMS/Payment/Email)
    3. Story Cell Tapped - rowIndex
    4. Address Book Authorized - sourceViewController

    View Slide

  17. EXAMPLE:
    Mixpanel *mixpanel = [Mixpanel sharedInstanceWithToken:MIXPANEL_TOKEN];
    [mixpanel track:@"Compose - Recipient Selected" properties:@{
    @"isNearby": @"YES",
    @"isFriend": @"NO"
    }];

    View Slide

  18. ZERO TAP
    SEARCH AT
    VENMO:
    BECAUSE ANALYTICS,
    MOST PAYMENTS REQUIRE NO SEARCH
    TEXT INPUT AT ALL.

    View Slide

  19. 2. AB TESTING

    View Slide

  20. A SIMPLE WAY TO TEST CHANGES TO YOUR
    UI/UX AGAINST THE CURRENT DESIGN

    View Slide

  21. SKYLAB
    AN OPEN SOURCE AB TESTING FRAMEWORK
    FOR MULTI-VARIATE AND ABTESTING
    WRITTEN BY MATTT

    View Slide

  22. SIMPLE EXAMPLE:
    [SkyLab abTestWithName:@"Title" A:^{
    self.titleLabel.text = NSLocalizedString(@"Hello, World!", nil);
    } B:^{
    self.titleLabel.text = NSLocalizedString(@"Greetings, Planet!", nil);
    }];

    View Slide

  23. SLIGHTLY MORE COMPLICATED EXAMPLE:
    [SkyLab splitTestWithName:@"Subtitle" conditions:@{
    @"Red" : @(0.15),
    @"Green" : @(0.10),
    @"Blue" : @(0.50),
    @"Purple" : @(0.25)
    } block:^(id choice) {
    self.subtitleLabel.text = NSLocalizedString(@"Please Enjoy This Colorful Message", nil);
    if ([choice isEqualToString:@"Red"]) {
    self.subtitleLabel.textColor = [UIColor redColor];
    } else if ([choice isEqualToString:@"Green"]) {
    self.subtitleLabel.textColor = [UIColor greenColor];
    } else if ([choice isEqualToString:@"Blue"]) {
    self.subtitleLabel.textColor = [UIColor blueColor];
    } else if ([choice isEqualToString:@"Purple"]) {
    self.subtitleLabel.textColor = [UIColor purpleColor];
    }
    }];

    View Slide

  24. OPTIMIZELY AND MIXPANEL
    MORE SOPHISTICATED AB TESTING FRAMEWORKS
    (AND POTENTIALLY COSTLY)
    1. Edit any nib on the fly
    2. Iterate quicker
    3. No code necessary

    View Slide

  25. EXAMPLE:

    View Slide

  26. ANALYZE AND OPTIMIZE
    TRACK YOUR AB TEST RESULTS WITH ANALYTICS

    View Slide

  27. 3. ASK

    View Slide

  28. WHO? EVERYONE & ANYONE
    HOW? BETA BUILDS WITH TESTFLIGHT
    1. Upcoming Xcode 6 + iTunes Connect Integration
    2. Up to 1000 Testers
    3. Easy to use

    View Slide

  29. OK I SENT THEM A BETA, NOW WHAT?
    1. Read crash logs
    2. Talk to them for feedback.
    3. Send another build with every change you deem significant or want
    to validate

    View Slide

  30. THE APPLE APP STORE IS ONE OF THE WORLD'S
    MOST POWERFUL MARKETPLACES
    1. Over 50 Billion iOS apps have been downloaded
    2. Over 500 million iPhones have been sold
    3. As developers we can have a large reach and can learn from
    a lot of people

    View Slide

  31. TAKE WHAT YOU LEARN AND ITERATE.
    THE MORE USERS LIKE YOUR APP, THE MORE:
    1. they'll use it
    2. the user-base will grow
    3. awesome your app becomes.

    View Slide

  32. Make something beautiful

    View Slide