SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Bay Area
Android Meetup
How to Achieve
Mobile App
Performance and
Monitoring to
Ensure Great
User
Experiences
6:30pm: Food & Drinks
7:00pm: Performance
Monitoring – Alex Gaber
7:40pm: Test Automation and
CI – Melvin Laguren
Bay Area Android Meetup
How to Achieve Mobile App
Performance and Monitoring to
Ensure Great User Experiences
Crittercism 3-25-2014
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
How Users React to Poor App Performance
Source: Crittercism end-user survey Q4’2013
26%
9%
10%
21%
26%
65%
0% 10% 20% 30% 40% 50% 60% 70%
Did not do anything
Shared the experience via social media
Left a negative review on the app store
Contacted support or told the vendor
Told a friend in person
Uninstalled the app
What Do Users Do When the App is Slow?
Personal Experience – Uninstalled Android Apps
Lots of apps in the
Google Play
Store……..
..….. and lots of
uninstalls, 1 stars,
bugs?
HELP !!!
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Snappy UI Equals Great UX
Linear Layout
• Similar to nested tables in HTML
• Great for quick and simple UI designs
• Performance degrades as complexity increases
Linear Layout
Snappy UI Equals Great UX
Relative Layout
• Eliminates Nested view groups
• Keeps layout hierarchy flat
• Much better performance for complex layouts
Relative Layout Example – activity_main.xml
Relative Layout
“button2” is
below
“button1”
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
ANR – Application Not Responding
What causes an
“Application Not
Responding”
(ANR) error?
• No response to an input event (such as key
press or screen touch events) within 5
seconds (5,000 ms)
• A BroadcastReceiver hasn't finished
executing within 10 seconds (10,000 ms)
Main Threads vs Worker Threads
Main Thread (UI Thread)
• Main Thread is also called the “UI Thread”
• All Android activities operate in the Main
Thread by default
• You can easily overload the Main Thread
– Doing network operations on Main Thread
– Slow disk operations (un-optimized SQL)
Main Thread (UI Thread)
TIPS
• Worker Threads are “background threads”
• Handle all network calls w/ Worker Threads
• Decouple the UI Thread from potential blockers
Sample Worker Thread
Main Thread (UI Thread)
Set Thread Priority: Example
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Android OS Install Base Fragmentation
Over 20% of Android
devices are still running
an OS version below 4.0
Data collected during a 7-day period
ending on March 3, 2014
(developer.android.com)
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Average Mobile App Consumes Five 3rd Party APIs
• The average mobile app is using between
5-6 APIs / web services
• API Monitoring from web server to web
server does not tell the full story
Average Mobile App Consumes Five 3rd Party APIs
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
3rd Party SDK Overhead and Performance Latency
• Mobile Ads SDKs
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
3rd Party SDK Overhead and Performance Latency
• Security SDKs
3rd Party SDK Overhead and Performance Latency
What is that SDK adding to your app?
• What is the performance overhead for this service?
• What if they start to lag or get slow?
• How can I monitor that this SDK isn’t making my app have
performance issues?
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
MBaaS Powering your Android App
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Testing Does Not Ensure Performance: Trust But Verify
• Agile Mobile App Development methodology
– Leaves little time for testing
Testing Does Not Ensure Performance: Trust But Verify
• Agile Mobile App Development methodology
– Leaves little time for testing
Agenda
• Why Does Android Performance Matter?
• Snappy UI for UX Performance
• UI Thread vs. Worker Thread
• Android OS Install Base Fragmentation
• Mashed Up Mobile Apps – 3rd Party APIs
• Mobile Ad SDK performance
• Security SDKs performance
• MBaaS performance
• Testing vs. Monitoring for Performance
• Implementing Android App Monitoring
Implementing Performance Monitoring for Android
Failure of shopping cart check-outs, referrals,
etc.
Transaction Errors
HTTP Errors like 404’s, Errors accessing
Cloud Services
API & Network Errors
Slow performance, High latenciesUnresponsive Apps
Downtime due to app crashes
Apps Crashes &
Exceptions
Performance issues due to geographyLocation
What cannot be tested prior to launch?
Implementing Performance Monitoring for Android
DEMO
Testing Does Not Ensure Performance: Trust But Verify
Thank You!
www.crittercism.com
@crittercism

Weitere ähnliche Inhalte

Was ist angesagt?

Can We Deliver Mobile Apps Continuously?
Can We Deliver Mobile Apps Continuously?Can We Deliver Mobile Apps Continuously?
Can We Deliver Mobile Apps Continuously?Dan Waters
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsDynatrace
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentDynatrace
 
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...Federico Toledo
 
Web API Fragility: How Robust Is Your Mobile Application?
Web API Fragility: How Robust Is Your Mobile Application?Web API Fragility: How Robust Is Your Mobile Application?
Web API Fragility: How Robust Is Your Mobile Application?Andy Zaidman
 
Practical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringPractical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringDynatrace
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesSauce Labs
 
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins CloudBees
 
How Digital Changed the Game... and how to cross platform test for it
How Digital Changed the Game... and how to cross platform test for itHow Digital Changed the Game... and how to cross platform test for it
How Digital Changed the Game... and how to cross platform test for itLizzy Guido (she/her)
 
Consigue una App 5 estrellas
Consigue una App 5 estrellasConsigue una App 5 estrellas
Consigue una App 5 estrellasGlobe Testing
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application developmentThoughtworks
 
Building Agility for Automated Mobile Apps Testing
Building Agility for Automated Mobile Apps TestingBuilding Agility for Automated Mobile Apps Testing
Building Agility for Automated Mobile Apps TestingKapil Saxena
 
Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Dynatrace
 
End User Monitoring with AppDynamics - AppSphere16
End User Monitoring with AppDynamics - AppSphere16End User Monitoring with AppDynamics - AppSphere16
End User Monitoring with AppDynamics - AppSphere16AppDynamics
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysDynatrace
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions Sauce Labs
 
Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Perfecto Mobile
 
One Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptOne Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptSauce Labs
 
App & API Monitoring: Building a 5-Star Reputation for your Apps
App & API Monitoring: Building a 5-Star Reputation for your AppsApp & API Monitoring: Building a 5-Star Reputation for your Apps
App & API Monitoring: Building a 5-Star Reputation for your AppsApigee | Google Cloud
 

Was ist angesagt? (20)

Can We Deliver Mobile Apps Continuously?
Can We Deliver Mobile Apps Continuously?Can We Deliver Mobile Apps Continuously?
Can We Deliver Mobile Apps Continuously?
 
Starting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for OpsStarting Your DevOps Journey – Practical Tips for Ops
Starting Your DevOps Journey – Practical Tips for Ops
 
Continuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile DevelopmentContinuous Performance Testing and Monitoring in Agile Development
Continuous Performance Testing and Monitoring in Agile Development
 
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
CMG imPACt2016 - Mobile performance testing - Vendor training - Federico Tole...
 
Web API Fragility: How Robust Is Your Mobile Application?
Web API Fragility: How Robust Is Your Mobile Application?Web API Fragility: How Robust Is Your Mobile Application?
Web API Fragility: How Robust Is Your Mobile Application?
 
Practical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User MonitoringPractical Tips for Ops: End User Monitoring
Practical Tips for Ops: End User Monitoring
 
BDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User StoriesBDD Selenium for Agile Teams - User Stories
BDD Selenium for Agile Teams - User Stories
 
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
Automated Testing and Continuous Deployment for Mobile Apps with Jenkins
 
Get More out of Appium
Get More out of AppiumGet More out of Appium
Get More out of Appium
 
How Digital Changed the Game... and how to cross platform test for it
How Digital Changed the Game... and how to cross platform test for itHow Digital Changed the Game... and how to cross platform test for it
How Digital Changed the Game... and how to cross platform test for it
 
Consigue una App 5 estrellas
Consigue una App 5 estrellasConsigue una App 5 estrellas
Consigue una App 5 estrellas
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
 
Building Agility for Automated Mobile Apps Testing
Building Agility for Automated Mobile Apps TestingBuilding Agility for Automated Mobile Apps Testing
Building Agility for Automated Mobile Apps Testing
 
Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]Accelerate User Driven Innovation [Webinar]
Accelerate User Driven Innovation [Webinar]
 
End User Monitoring with AppDynamics - AppSphere16
End User Monitoring with AppDynamics - AppSphere16End User Monitoring with AppDynamics - AppSphere16
End User Monitoring with AppDynamics - AppSphere16
 
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code DeploysOur DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
Our DevOps Journey: 6 Month Waterfalls to 1 Hour Code Deploys
 
Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions		Live Panel: Appium Core Committers Answer Your Questions
Live Panel: Appium Core Committers Answer Your Questions
 
Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...
 
One Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One ScriptOne Test To Rule Them All - Conquer Android and iOS With One Script
One Test To Rule Them All - Conquer Android and iOS With One Script
 
App & API Monitoring: Building a 5-Star Reputation for your Apps
App & API Monitoring: Building a 5-Star Reputation for your AppsApp & API Monitoring: Building a 5-Star Reputation for your Apps
App & API Monitoring: Building a 5-Star Reputation for your Apps
 

Andere mochten auch

Open Food Facts - Computer Cooking Contest 2012
Open Food Facts - Computer Cooking Contest 2012Open Food Facts - Computer Cooking Contest 2012
Open Food Facts - Computer Cooking Contest 2012Stéphane Gigandet
 
digital gastronomy: culinary + mobile culture
digital gastronomy: culinary + mobile culturedigital gastronomy: culinary + mobile culture
digital gastronomy: culinary + mobile culture7rba
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...SoftServe
 
Performance Testing on Android
Performance Testing on AndroidPerformance Testing on Android
Performance Testing on AndroidAkshay Dashrath
 
Unit testing in android
Unit testing in androidUnit testing in android
Unit testing in androidLi-Wei Cheng
 
50 Connected Devices - How Mobile and the Internet of Things Will Affect You
50 Connected Devices - How Mobile and the Internet of Things Will Affect You50 Connected Devices - How Mobile and the Internet of Things Will Affect You
50 Connected Devices - How Mobile and the Internet of Things Will Affect YouApteligent
 
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesHow to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesBitbar
 
Presentation for Cooking App
Presentation for Cooking AppPresentation for Cooking App
Presentation for Cooking AppTommy Roberts
 
Testing on Android
Testing on AndroidTesting on Android
Testing on AndroidAri Lacenski
 

Andere mochten auch (14)

Open Food Facts - Computer Cooking Contest 2012
Open Food Facts - Computer Cooking Contest 2012Open Food Facts - Computer Cooking Contest 2012
Open Food Facts - Computer Cooking Contest 2012
 
GANGLOFF resume 060215
GANGLOFF resume 060215GANGLOFF resume 060215
GANGLOFF resume 060215
 
digital gastronomy: culinary + mobile culture
digital gastronomy: culinary + mobile culturedigital gastronomy: culinary + mobile culture
digital gastronomy: culinary + mobile culture
 
Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...Android Mobile Application Testing: Specific Functional, Performance, Device ...
Android Mobile Application Testing: Specific Functional, Performance, Device ...
 
Performance Testing on Android
Performance Testing on AndroidPerformance Testing on Android
Performance Testing on Android
 
Module 4 presentation
Module 4 presentationModule 4 presentation
Module 4 presentation
 
Android performance
Android performanceAndroid performance
Android performance
 
Testing Android Security
Testing Android SecurityTesting Android Security
Testing Android Security
 
Unit testing in android
Unit testing in androidUnit testing in android
Unit testing in android
 
50 Connected Devices - How Mobile and the Internet of Things Will Affect You
50 Connected Devices - How Mobile and the Internet of Things Will Affect You50 Connected Devices - How Mobile and the Internet of Things Will Affect You
50 Connected Devices - How Mobile and the Internet of Things Will Affect You
 
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesHow to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
 
Presentation for Cooking App
Presentation for Cooking AppPresentation for Cooking App
Presentation for Cooking App
 
Testing on Android
Testing on AndroidTesting on Android
Testing on Android
 
Luxury Goods Market in 2016
Luxury Goods Market in 2016Luxury Goods Market in 2016
Luxury Goods Market in 2016
 

Ähnlich wie Android Performance and Monitoring - Meetup 3 25-14

The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...Bitbar
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Igor Abade
 
Innovate 2013 session 1243 mobile testing.v3
Innovate 2013   session 1243 mobile testing.v3Innovate 2013   session 1243 mobile testing.v3
Innovate 2013 session 1243 mobile testing.v3Leigh Williamson
 
Mobile apps that win
Mobile apps that winMobile apps that win
Mobile apps that winDellFoglight
 
Beyond App Development
Beyond App DevelopmentBeyond App Development
Beyond App DevelopmentOsman Celik
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...NITHIN S.S
 
The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)David Low
 
Mastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita PuramMastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita PuramQA or the Highway
 
Is It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just MeIs It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just MeVik Chaudhary
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As ServiceKalyan Paluri
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training QA Masters
 
Appium training online|Mobile automation testing with appium
Appium training online|Mobile automation testing with appiumAppium training online|Mobile automation testing with appium
Appium training online|Mobile automation testing with appiumQA Masters
 
Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]BrowserStack
 
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdfGeekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdfNITHIN S.S
 
Cross Platform Development with Spring
Cross Platform Development with SpringCross Platform Development with Spring
Cross Platform Development with SpringCygnet Infotech
 
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...Sencha
 
[APIdays Melbourne 2019] Delivering the Modern API: Know What it Takes
[APIdays Melbourne 2019] Delivering the Modern API: Know What it Takes[APIdays Melbourne 2019] Delivering the Modern API: Know What it Takes
[APIdays Melbourne 2019] Delivering the Modern API: Know What it TakesWSO2
 
Bulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback MattersBulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback MattersPronovix
 

Ähnlich wie Android Performance and Monitoring - Meetup 3 25-14 (20)

The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
 
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
Aprenda mais sobre sua aplicação e seus usuários com Application Insights (DN...
 
Innovate 2013 session 1243 mobile testing.v3
Innovate 2013   session 1243 mobile testing.v3Innovate 2013   session 1243 mobile testing.v3
Innovate 2013 session 1243 mobile testing.v3
 
Mobile apps that win
Mobile apps that winMobile apps that win
Mobile apps that win
 
Beyond App Development
Beyond App DevelopmentBeyond App Development
Beyond App Development
 
Beyond App Development
Beyond App DevelopmentBeyond App Development
Beyond App Development
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
 
The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)
 
Mastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita PuramMastering the Art of Mobile Testing by Akshita Puram
Mastering the Art of Mobile Testing by Akshita Puram
 
Is It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just MeIs It The Cloud, The App, Or Just Me
Is It The Cloud, The App, Or Just Me
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As Service
 
RESUME - ME1
RESUME - ME1RESUME - ME1
RESUME - ME1
 
Appium tutorial| Appium Training
Appium tutorial| Appium Training Appium tutorial| Appium Training
Appium tutorial| Appium Training
 
Appium training online|Mobile automation testing with appium
Appium training online|Mobile automation testing with appiumAppium training online|Mobile automation testing with appium
Appium training online|Mobile automation testing with appium
 
Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]Ship quality mobile apps with speed [Webinar]
Ship quality mobile apps with speed [Webinar]
 
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdfGeekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf
 
Cross Platform Development with Spring
Cross Platform Development with SpringCross Platform Development with Spring
Cross Platform Development with Spring
 
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
 
[APIdays Melbourne 2019] Delivering the Modern API: Know What it Takes
[APIdays Melbourne 2019] Delivering the Modern API: Know What it Takes[APIdays Melbourne 2019] Delivering the Modern API: Know What it Takes
[APIdays Melbourne 2019] Delivering the Modern API: Know What it Takes
 
Bulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback MattersBulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback Matters
 

Kürzlich hochgeladen

WSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdfWSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdfJamesConcepcion7
 
Customizable Contents Restoration Training
Customizable Contents Restoration TrainingCustomizable Contents Restoration Training
Customizable Contents Restoration TrainingCalvinarnold843
 
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...SOFTTECHHUB
 
Psychic Reading | Spiritual Guidance – Astro Ganesh Ji
Psychic Reading | Spiritual Guidance – Astro Ganesh JiPsychic Reading | Spiritual Guidance – Astro Ganesh Ji
Psychic Reading | Spiritual Guidance – Astro Ganesh Jiastral oracle
 
Data Analytics Strategy Toolkit and Templates
Data Analytics Strategy Toolkit and TemplatesData Analytics Strategy Toolkit and Templates
Data Analytics Strategy Toolkit and TemplatesAurelien Domont, MBA
 
Introducing the Analogic framework for business planning applications
Introducing the Analogic framework for business planning applicationsIntroducing the Analogic framework for business planning applications
Introducing the Analogic framework for business planning applicationsKnowledgeSeed
 
NAB Show Exhibitor List 2024 - Exhibitors Data
NAB Show Exhibitor List 2024 - Exhibitors DataNAB Show Exhibitor List 2024 - Exhibitors Data
NAB Show Exhibitor List 2024 - Exhibitors DataExhibitors Data
 
Driving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon HarmerDriving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon HarmerAggregage
 
How to Conduct a Service Gap Analysis for Your Business
How to Conduct a Service Gap Analysis for Your BusinessHow to Conduct a Service Gap Analysis for Your Business
How to Conduct a Service Gap Analysis for Your BusinessHelp Desk Migration
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdfShaun Heinrichs
 
Healthcare Feb. & Mar. Healthcare Newsletter
Healthcare Feb. & Mar. Healthcare NewsletterHealthcare Feb. & Mar. Healthcare Newsletter
Healthcare Feb. & Mar. Healthcare NewsletterJamesConcepcion7
 
Planetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifePlanetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifeBhavana Pujan Kendra
 
Types of Cyberattacks - ASG I.T. Consulting.pdf
Types of Cyberattacks - ASG I.T. Consulting.pdfTypes of Cyberattacks - ASG I.T. Consulting.pdf
Types of Cyberattacks - ASG I.T. Consulting.pdfASGITConsulting
 
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxGo for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxRakhi Bazaar
 
digital marketing , introduction of digital marketing
digital marketing , introduction of digital marketingdigital marketing , introduction of digital marketing
digital marketing , introduction of digital marketingrajputmeenakshi733
 
Interoperability and ecosystems: Assembling the industrial metaverse
Interoperability and ecosystems:  Assembling the industrial metaverseInteroperability and ecosystems:  Assembling the industrial metaverse
Interoperability and ecosystems: Assembling the industrial metaverseSiemens
 
Pitch Deck Teardown: Xpanceo's $40M Seed deck
Pitch Deck Teardown: Xpanceo's $40M Seed deckPitch Deck Teardown: Xpanceo's $40M Seed deck
Pitch Deck Teardown: Xpanceo's $40M Seed deckHajeJanKamps
 
Neha Jhalani Hiranandani: A Guide to Her Life and Career
Neha Jhalani Hiranandani: A Guide to Her Life and CareerNeha Jhalani Hiranandani: A Guide to Her Life and Career
Neha Jhalani Hiranandani: A Guide to Her Life and Careerr98588472
 

Kürzlich hochgeladen (20)

WSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdfWSMM Technology February.March Newsletter_vF.pdf
WSMM Technology February.March Newsletter_vF.pdf
 
Customizable Contents Restoration Training
Customizable Contents Restoration TrainingCustomizable Contents Restoration Training
Customizable Contents Restoration Training
 
Authentically Social - presented by Corey Perlman
Authentically Social - presented by Corey PerlmanAuthentically Social - presented by Corey Perlman
Authentically Social - presented by Corey Perlman
 
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
How To Simplify Your Scheduling with AI Calendarfly The Hassle-Free Online Bo...
 
Psychic Reading | Spiritual Guidance – Astro Ganesh Ji
Psychic Reading | Spiritual Guidance – Astro Ganesh JiPsychic Reading | Spiritual Guidance – Astro Ganesh Ji
Psychic Reading | Spiritual Guidance – Astro Ganesh Ji
 
Data Analytics Strategy Toolkit and Templates
Data Analytics Strategy Toolkit and TemplatesData Analytics Strategy Toolkit and Templates
Data Analytics Strategy Toolkit and Templates
 
The Bizz Quiz-E-Summit-E-Cell-IITPatna.pptx
The Bizz Quiz-E-Summit-E-Cell-IITPatna.pptxThe Bizz Quiz-E-Summit-E-Cell-IITPatna.pptx
The Bizz Quiz-E-Summit-E-Cell-IITPatna.pptx
 
Introducing the Analogic framework for business planning applications
Introducing the Analogic framework for business planning applicationsIntroducing the Analogic framework for business planning applications
Introducing the Analogic framework for business planning applications
 
NAB Show Exhibitor List 2024 - Exhibitors Data
NAB Show Exhibitor List 2024 - Exhibitors DataNAB Show Exhibitor List 2024 - Exhibitors Data
NAB Show Exhibitor List 2024 - Exhibitors Data
 
Driving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon HarmerDriving Business Impact for PMs with Jon Harmer
Driving Business Impact for PMs with Jon Harmer
 
How to Conduct a Service Gap Analysis for Your Business
How to Conduct a Service Gap Analysis for Your BusinessHow to Conduct a Service Gap Analysis for Your Business
How to Conduct a Service Gap Analysis for Your Business
 
1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf1911 Gold Corporate Presentation Apr 2024.pdf
1911 Gold Corporate Presentation Apr 2024.pdf
 
Healthcare Feb. & Mar. Healthcare Newsletter
Healthcare Feb. & Mar. Healthcare NewsletterHealthcare Feb. & Mar. Healthcare Newsletter
Healthcare Feb. & Mar. Healthcare Newsletter
 
Planetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in LifePlanetary and Vedic Yagyas Bring Positive Impacts in Life
Planetary and Vedic Yagyas Bring Positive Impacts in Life
 
Types of Cyberattacks - ASG I.T. Consulting.pdf
Types of Cyberattacks - ASG I.T. Consulting.pdfTypes of Cyberattacks - ASG I.T. Consulting.pdf
Types of Cyberattacks - ASG I.T. Consulting.pdf
 
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptxGo for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
Go for Rakhi Bazaar and Pick the Latest Bhaiya Bhabhi Rakhi.pptx
 
digital marketing , introduction of digital marketing
digital marketing , introduction of digital marketingdigital marketing , introduction of digital marketing
digital marketing , introduction of digital marketing
 
Interoperability and ecosystems: Assembling the industrial metaverse
Interoperability and ecosystems:  Assembling the industrial metaverseInteroperability and ecosystems:  Assembling the industrial metaverse
Interoperability and ecosystems: Assembling the industrial metaverse
 
Pitch Deck Teardown: Xpanceo's $40M Seed deck
Pitch Deck Teardown: Xpanceo's $40M Seed deckPitch Deck Teardown: Xpanceo's $40M Seed deck
Pitch Deck Teardown: Xpanceo's $40M Seed deck
 
Neha Jhalani Hiranandani: A Guide to Her Life and Career
Neha Jhalani Hiranandani: A Guide to Her Life and CareerNeha Jhalani Hiranandani: A Guide to Her Life and Career
Neha Jhalani Hiranandani: A Guide to Her Life and Career
 

Android Performance and Monitoring - Meetup 3 25-14

  • 1. Bay Area Android Meetup How to Achieve Mobile App Performance and Monitoring to Ensure Great User Experiences 6:30pm: Food & Drinks 7:00pm: Performance Monitoring – Alex Gaber 7:40pm: Test Automation and CI – Melvin Laguren
  • 2. Bay Area Android Meetup How to Achieve Mobile App Performance and Monitoring to Ensure Great User Experiences Crittercism 3-25-2014
  • 3. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 4. How Users React to Poor App Performance Source: Crittercism end-user survey Q4’2013 26% 9% 10% 21% 26% 65% 0% 10% 20% 30% 40% 50% 60% 70% Did not do anything Shared the experience via social media Left a negative review on the app store Contacted support or told the vendor Told a friend in person Uninstalled the app What Do Users Do When the App is Slow?
  • 5. Personal Experience – Uninstalled Android Apps Lots of apps in the Google Play Store…….. ..….. and lots of uninstalls, 1 stars, bugs? HELP !!!
  • 6. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 7. Snappy UI Equals Great UX Linear Layout • Similar to nested tables in HTML • Great for quick and simple UI designs • Performance degrades as complexity increases Linear Layout
  • 8. Snappy UI Equals Great UX Relative Layout • Eliminates Nested view groups • Keeps layout hierarchy flat • Much better performance for complex layouts
  • 9. Relative Layout Example – activity_main.xml Relative Layout “button2” is below “button1”
  • 10. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 11. ANR – Application Not Responding What causes an “Application Not Responding” (ANR) error? • No response to an input event (such as key press or screen touch events) within 5 seconds (5,000 ms) • A BroadcastReceiver hasn't finished executing within 10 seconds (10,000 ms) Main Threads vs Worker Threads
  • 12. Main Thread (UI Thread) • Main Thread is also called the “UI Thread” • All Android activities operate in the Main Thread by default • You can easily overload the Main Thread – Doing network operations on Main Thread – Slow disk operations (un-optimized SQL)
  • 13. Main Thread (UI Thread) TIPS • Worker Threads are “background threads” • Handle all network calls w/ Worker Threads • Decouple the UI Thread from potential blockers Sample Worker Thread
  • 14. Main Thread (UI Thread) Set Thread Priority: Example
  • 15. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 16. Android OS Install Base Fragmentation Over 20% of Android devices are still running an OS version below 4.0 Data collected during a 7-day period ending on March 3, 2014 (developer.android.com)
  • 17. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 18. Average Mobile App Consumes Five 3rd Party APIs • The average mobile app is using between 5-6 APIs / web services • API Monitoring from web server to web server does not tell the full story
  • 19. Average Mobile App Consumes Five 3rd Party APIs
  • 20. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 21. 3rd Party SDK Overhead and Performance Latency • Mobile Ads SDKs
  • 22. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 23. 3rd Party SDK Overhead and Performance Latency • Security SDKs
  • 24. 3rd Party SDK Overhead and Performance Latency What is that SDK adding to your app? • What is the performance overhead for this service? • What if they start to lag or get slow? • How can I monitor that this SDK isn’t making my app have performance issues?
  • 25. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 26. MBaaS Powering your Android App
  • 27. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 28. Testing Does Not Ensure Performance: Trust But Verify • Agile Mobile App Development methodology – Leaves little time for testing
  • 29. Testing Does Not Ensure Performance: Trust But Verify • Agile Mobile App Development methodology – Leaves little time for testing
  • 30. Agenda • Why Does Android Performance Matter? • Snappy UI for UX Performance • UI Thread vs. Worker Thread • Android OS Install Base Fragmentation • Mashed Up Mobile Apps – 3rd Party APIs • Mobile Ad SDK performance • Security SDKs performance • MBaaS performance • Testing vs. Monitoring for Performance • Implementing Android App Monitoring
  • 31. Implementing Performance Monitoring for Android Failure of shopping cart check-outs, referrals, etc. Transaction Errors HTTP Errors like 404’s, Errors accessing Cloud Services API & Network Errors Slow performance, High latenciesUnresponsive Apps Downtime due to app crashes Apps Crashes & Exceptions Performance issues due to geographyLocation What cannot be tested prior to launch?
  • 33. Testing Does Not Ensure Performance: Trust But Verify Thank You! www.crittercism.com @crittercism