apteligent - choosing the right sdks to optimize app performance

16
Choosing the Right SDKs to Optimize App Performance Robert Kwok, Co-Founder & CTO

Upload: apteligent

Post on 13-Apr-2017

309 views

Category:

Mobile


1 download

TRANSCRIPT

Page 1: Apteligent - Choosing the Right SDKs to Optimize App Performance

Choosing the Right SDKs to Optimize App PerformanceRobert Kwok, Co-Founder & CTO

Page 2: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Apteligent: Our SDK provides intelligence about bad user experiencesTransaction Failure

NetworkServices Error Crashes Slow apps

Page 3: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Trusted across the Enterprise app economyApteligent – The Single Source of Mobile Truth

23,000+

50B+

120

6

APPS

APP EVENTS PER MONTH

COUNTRIES

YEARS IN BUSINESS

Page 4: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Yea…I’m going to have to ask you to go ahead and put that SDK in your app…

Should I add an SDK to my app?

Source: Bill from the movie Office Space

Page 5: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

• Typical app has 15 different SDKs• Ads, push notifications, analytics,

performance, etc.• More information is better, but is

it?• But…what if it causes my app to

crash, slow down, or drain the battery?

Should I add an SDK to my app?

Source: Bill from the movie Office Space

Page 6: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

1. Will it crash my app?2. Will it slow down my app?3. Will it cause users to uninstall my app?4. Is my developer willing to use it?5. Test the Vendor

Apteligent’s SDK Safety Checklist

Page 7: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Check #1: Will it crash my app?Pre-Test Evaluation

•Was the SDK updated in the last 3-6 months?•How often is the SDK updated?•Which apps use the SDK?

Play it Safe: Limited Rollout A/B Test• Identify which crashes are due to SDKs, especially during key flows (login, search, purchase)

Page 8: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Check #1: Will it crash my app?•Check for Network Crashes• 20% of crashes is correlated with a network call1

•Twitter’s Fabric SDK had one of the worst network crash rate•Facebook’s SDK was one of the best

1 https://data.apteligent.com/research/network-crashes

Page 9: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Check #2: Will it slow down my app?Monitor App Load Time

• 50% of consumers consider app load time a major source of frustration

- 25% would leave a brand for unacceptable load times

• 46% of iOS apps and 53% of Android apps globally, across all categories, take more than 2 seconds to load2

200 300 400 500 600 700 800 900 1000 2000 >200005

101520253035404550

% of iOS Apps Load Time (mS)

200 300 400 500 600 700 800 900 1000 2000 >20000

10

20

30

40

50

60

% of Android Apps with Load Time (mS)

Page 10: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Check #2: Will it slow down my app?Monitor flows in the app that cause the user to wait

•Monitor the three most important flows in your app•e.g., Login, Search, Send Payment

•Measure how long the user is waiting•Measure how often the flow results in an error

Page 11: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Check #3: Will it cause users to uninstall my app?

•Does the SDK drain battery or use a lot of data?

•Every iOS and Android phone has a battery and data usage app

Page 12: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Check #3: Will it cause users to uninstall my app?Does the SDK drain battery or use a lot of data?

• Request Volume- Monitor increased network calls due to new SDKs

• Data Received and Sent- Monitor the amount of data your app sends and receives with each new

app version

Page 13: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Check #4: Is my developer willing to use it?Does it pass the developer test?

• Is it up to date?•Was the SDK built with the latest version of Xcode?•Does the SDK support Bitcode?

• Is it easy to integrate?•Does the vendor provide an example app?•Does it support Swift?•How long does it take to integrate?

• Possible Mobile Seaworthy Framework Checklist•https://possiblemobile.com/2016/05/ios-frameworks-part-1/

Page 14: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Check #5: Test the VendorDoes the Vendor Understand Mobile?

1. Designed for Mobile Use Cases• How does it handle offline?• What happens if your server goes down?• Does the SDK have a small memory and on-disk footprint?

2. Configurability• Can users opt out of the SDK?• Can you disable parts/all of the SDK?

3. Limits• iOS 100mb Wi-Fi limit

• Does it support Bitcode?• Android method count limit

Page 15: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

1. Will it crash my app?2. Will it slow down my app?3. Will it cause users to uninstall my app?4. Is my developer willing to use it?5. Test the Vendor

Review: Apteligent’s SDK Safety Checklist

Page 16: Apteligent - Choosing the Right SDKs to Optimize App Performance

©2016 Copyright Apteligent

Thank You!www.apteligent.comdata.apteligent.com

@[email protected]