Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Test Your Mobile Application’s Performance
with AT&T’s Application Resource Optimizer
Doug Sillars, PhD
Application Optimization Guru
Developer Advocacy, AT&T
@dougsillars
How Fast is Your App?
How Fast is Your App?
How Fast is Your App?
“Zombies appear to be
incapable of running.
The fastest have been
observed to move at a
rate of barely one step
per 1.5 seconds.”
– Max Brooks,
Zombie Survival Guide

Recommended for you

redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)

Case study that summarizes key findings by Red Pill Development as they built a mobile interface for Notes applications at Salvation Army. Using asymmetric modernization a mobile interface can be delivered for an entire portfolio of applications in a few days.

xpagesmobilesalvationarmy
IT Operations Management with OpManager
IT Operations Management with OpManagerIT Operations Management with OpManager
IT Operations Management with OpManager

Embrace IT Operations Management with OpManager to get the visibility into your network, server & storage, application, and service layers. Find the exact fault in minutes and troubleshoot quickly.

itomit operations managementmanageengine opmanager
Mobile apps that win
Mobile apps that winMobile apps that win
Mobile apps that win

Wednesday morning keynote at Mobile+Web Devcon: Mobile Apps that Win - Achieving High Performance with Real-time Analytics - Presented by Steve Fox, Dell Software. Mobile users expect great performance from their apps. Slow apps languish unused and are often uninstalled or given bad reviews. And once a mobile app is labeled as slow — even if only because of one buggy version that slipped out — it can be difficult to recover market perception and corresponding business goals. This session will cover common challenges in achieving high performance for your app, techniques to minimize risk and negative perception, and how to monitor app performance based on real-time user experience so you can proactively address issues. Sign up for a free trial of Foglight APM SaaS Edition at www.foglight.com.

apmmwdconmobile apps
How Important is Speed Anyway?
Traditional Web (PC) Stats:
• Yahoo! 400ms delay leads to 5-9% drop in traffic (1)
• 1 second of latency (2)
–  Customer satisfaction drops 16%
–  Conversion to sales drops 7%
• 10 Golden Principles of Successful Web Apps:
–  “Speed is always the most important feature” (3)
Sillars’ Corollary: If speed is important on the web, it
follows that speed is even more important for mobile
• 71 % of users expect mobile sites to be as fast as desktop (4)
(1) slideshare.net/stoyan/dont-make-me-wait-or-building-highperformance-web-applications
(2) http://econsultancy.com/us/blog/10195-the-need-for-online-speed-in-america
(3) 10 Golden Principles Of Successful Web Apps http://www.businessinsider.com/10-golden-principles-successful-web-apps-2010-3
(4) http://econsultancy.com/us/blog/9162-the-importance-of-speed-for-mobile-commerce
What Do Mobile Users Expect?
High Performance Apps
•  Speed
–  64% of mobile users expect pages/apps to load in <4 seconds (1)
•  Battery Life
–  Better Battery life (6.1 satisfied of 10) !!! (2)
–  72% rate phone as very good or excellent
•  Only 21% rate battery life as very good or excellent (3)
•  Reasonable data usage
–  No one wants to hit their cap
(1) http://www.keynote.com/docs/reports/Keynote-2012-Mobile-User-Survey.pdf
(2) http://www.businessnewsdaily.com/2200-smartphone-customer-satisfaction-battery-life.html
(3) Personal communication from Swiftkey study
What Do Mobile Users Get?
Our Customers Expect More!!!!
• Top Mobile frustrations “web page slow to load” (1)
• Battery life top reported problem (2)
(1) http://www.keynote.com/docs/reports/Keynote-2012-Mobile-User-Survey.pdf
(2) http://www.businessnewsdaily.com/2200-smartphone-customer-satisfaction-battery-life.html
As a Developer, What Can I Do?
• Learn How Mobile is Different
• Optimize:
–  Learn the best practices
–  Test your application
–  Fix issues before your customers discover them
• Get ahead of the game – be ready for industry standards
and grading systems
It can’t be MY developers, they’re the best
• AT&T’s Application Resource Optimizer (ARO)
–  http://Developer.att.com/ARO
–  In 2012, <2% of tested apps required no optimization

Recommended for you

Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications

Todays web front-end applications architecture. All resources shared at the end of presentation. Full sources on: https://lnkd.in/gyQuFKK https://lnkd.in/gZK8Sp3

webpacknodejsreact
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary IkhwanApplication Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan

Edge computing pushes applications and data processing closer to data sources like IoT devices to enable faster results, real-time analytics, and better decision making. Docker is well-suited for application delivery in edge computing due to its lightweight containers that have a small footprint and fast start times. A demo showed containers for a learning management system deploying in seconds versus minutes for virtual machines. Offloading an ETL application to edge resources also significantly reduced bandwidth usage and processing time compared to alternatives that transferred all data to the cloud. Docker's portability and layered images make it a good fit for distributed application delivery in edge computing environments.

Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge Computing

Edge computing pushes applications and data processing closer to data sources like IoT devices to enable low latency and real-time insights. Docker containers are well-suited for edge computing due to their small size, fast deployment, and ability to run on resource-constrained edge devices. A demo showed containers for a learning management system deployed in seconds at an edge location versus minutes for virtual machines. Offloading an ETL application to edge resources also significantly reduced bandwidth usage versus processing in the cloud. Docker provides a lightweight container-based platform to efficiently deliver and manage applications at the edge.

dockerfog computingedge computing
How is Mobile Different?
Internet
IP applications
Mobile applications
Wireless
State
Machine
Mobile apps often do not consider the uniqueness of the wireless network
Optimized mobile applications improve user experience with
improved battery life and perceived faster speed
Data Transfer
LTE RRC State Machine
Timer Expiration
Radio Off Radio On
IDLE
Continuous
Reception
Tail
For AT&T’s Model:
T1 = 100ms
T2 = 20ms
T3 = 10,00ms
100ms
10s
Data Transfer
LTE RRC State Machine
Timer Expiration
Radio Off Radio On
IDLE
Continuous
Reception
Tail
• LTE has higher throughput than 3G
• This does not improve application behaviour
-  The higher power actually accentuates any issues your application might have!
100ms
10s
It’s All Connected
Application traffic triggers RRC State transitions:
•  RRC State transitions control

Recommended for you

Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0cSmarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c

My key note speech at Droidcon 2012 promoting DT's leadership in the Smartphone Challenge initiative. Smartphones have catapulted the distribution of mobile apps to new highs with increased usage of mobile networks. The Smartphone challenge project goal is to optimise the interaction between devices & networks DT understand the threat from network intensive, badly designed applications and developed developer guidelines. DT alone cannot influence the market and we decided to leverage the support of GSMA, industry affiliates and developers themselves.

RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011

This document provides a summary of a masterclass on building distributed real-time systems using the Data Distribution Service (DDS). The class covers DDS concepts and technology, including runtime services, development tools, and standards. It discusses how DDS enables a data-centric model and global data space to support high-performance, scalable, and reliable real-time systems that interact directly with the physical world.

real-time soaamqppub-sub
Mobile Performance Testing - Testing the Server
Mobile Performance Testing  - Testing the ServerMobile Performance Testing  - Testing the Server
Mobile Performance Testing - Testing the Server

This document discusses testing the server side performance of mobile websites. It begins with introducing the importance and challenges of mobile performance testing. It then outlines an agenda covering differences between mobile and desktop usage, steps to take in testing including simple comparison, performance and load tests, and optimization strategies. Specifically, it recommends starting with basic tests to compare a site on desktop vs mobile, then using tools like WebPagetest to analyze performance, and finally gradually increasing load on servers. The overall goal is to help organizations prevent mobile performance issues through early and frequent testing.

mobile performance testing
It’s All Connected
Application traffic triggers RRC State transitions:
•  RRC State transitions control
–  Speed/User Experience
It’s All Connected
Application traffic triggers RRC State transitions:
•  RRC State transitions control
–  Speed/User Experience
–  Device battery life
It’s All Connected
Application traffic triggers RRC State transitions:
•  RRC State transitions control
–  Speed/User Experience
–  Device battery life
–  Network efficiency
AT&T Application Resource Optimizer
• Free diagnostic tool
• Open Source
• Test any Platform
• Emulate any carrier network
• Analysis of both Native Apps and the Mobile Web
• Winner of the 2013 GSMA Smartphone Application Challenge award at
MWC
Allows YOU as a developer to SEE exactly how data
is flowing from your app!

Recommended for you

Mobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeterMobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeter

The document proposes using the open source tool JMeter to perform mobile performance testing in a low-cost manner. It describes capturing the HTTP traffic between a mobile app and server by routing all requests from a real device through a proxy server with JMeter installed. This allows generating test scripts that closely mimic real-world usage without requiring expensive tools or emulators. The approach is device and application independent, producing accurate results without network latency issues encountered through other tools.

jmetermobile apps performance testingjmeter mobile testing
IRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using FirebaseIRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using Firebase

This document summarizes a research project that aims to display smart phone data like call logs, battery status, and SMS information on a desktop computer using Firebase. The project involves developing an Android application to collect device data and send it to a Firebase database. A web application is then created to retrieve the stored data from Firebase and display it on a desktop, allowing users to view their smart phone information from anywhere. The system is designed to address limitations of companies restricting smart phone use at work, enabling users to still access important phone updates from their computer. Firebase is used as the database for its low cost and ability to store mobile data.

irjet
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

To watch, please see: https://info.dynatrace.com/apm_wc_getting_started_with_devops_na_registration.html Starting Your DevOps Journey: Practical Tips for Ops In this webinar, Andreas Grabner, Chief DevOps Activist at Dynatrace, shares practical tips that all IT groups from Dev to Ops can use to start their DevOps journey quickly. With experience from hundreds of DevOps deployments, Andi provides insights it would take your team months or years to learn firsthand. - Learn how everyone on your Ops team can use APM to better understand and monitor SLAs, Performance and End User Impact of their applications. - Foster better collaboration between Ops and architects by extending basic system monitoring to monolith and microservices architectures. - Shift-left your testing and QA by working with metrics that you and the architects agreed on up front, resulting in early relevant feedback and faster code deployments. - Hear why changing the cultural mindset from “fear of change” to “Continuous Innovation and Optimization” is critical for success. Andi is joined by guest speaker, Brian Chandler, Systems Engineer at Raymond James, who shares commonly used Ops dashboards that increase collaboration across IT teams and pro-actively break down silos!

application performance managementend-user experience monitoringapplication performance monitoring
What Platforms Can I Test With?
All of them!
• All Platforms: Pcap/tcpdump network trace
•  Ex: Wi-Fi Hotspot (like Connectify) and Wireshark/NetMon to collect
•  iOS: Remote Virtual Interface uses Instruments to collect pcap over 3G/LTE
• Android and Windows 8: Native Collector
•  Note: Android collector requires root
How Does ARO Work?
Transfer Trace Files Process Trace
Test Your Application
• PCAP only:
•  Network traffic collected
• Native Collector adds:
•  Video
•  User Input
•  Peripheral Usage
•  CPU usage
• Applies Radio and Power models
to data
• Graded against 15 Best Practices
• Learn how your application
ACTUALLY behaves!
Everyone Wins With ARO
•  Faster Response Times
•  Improved Battery Life
•  Efficient Data Plan Usage
•  Enriched User Experience
End User
•  App-specific Analysis
•  Key Areas to Improve
•  Cross Platform and
Network Agnostic
•  Free and Open Source
Developer
•  Increased Network
Availability
•  Signaling Load Reduction
•  Efficient Spectrum Usage
•  Improved Radio
Availability
Wireless Carrier
What’s the Industry Doing?
• Quality App Directory - App Quality Alliance (AQuA)
(http://www.appqualityalliance.org/)
• Smarter App Challenge – GSMA
(http://mobileappchallenge.com/smarterapp/)
• Mobile Content Action Team – CTIA
(http://www.ctia.org/business_resources/wic/index.cfm/AID/10333)
• Other carriers
• All are using ARO!! (http://developer.att.com/ARO)
• Numerous Customer facing apps help customers preserve battery and
reduce data usage
Get ahead of the game: Optimize NOW!

Recommended for you

Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...

This document discusses load testing of jQuery-based e-commerce websites using cloud-based performance testing tools. It provides an overview of load testing and describes how tools like BlazeMeter and Load Impact were used to test an Indian e-commerce site (Amazon.in). Graphs and results from testing on these tools are presented and described. The results help analyze the site's performance under different loads and identify potential bottlenecks.

load testing for jquery based e commerce web appli
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects

The promise of DevOps is that we can push new ideas out to market faster while avoiding delivering serious defects into production. Andreas Grabner explains that testers are no longer measured by the number of defect reports they enter, nor are developers measured by the lines of code they write. As a team, you are measured by how fast you can deploy high quality functionality to the end user. Achieving this goal requires testers to increase their skills. It’s all about finding solutions—not just problems. Testers must transition from reporting “app crashes” to providing details such as “memory leak caused by bad cache implementation.” Instead of reporting “it’s slow,” testers must discover “wrong hibernate configuration causes too much traffic from the database.” Using three real-life examples, Andreas illustrates what it takes for testing teams to become part of the DevOps transformation—bringing more value to the entire organization.

devops
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...

We co-hosted a webinar with Neotys to shed some lights on - How to overcome the challenges in mobile app performance and functional testing - How to gain granular and actionable insights to measure and improve your app user experience - Best practices to get the mobile readiness for 2017 Holiday Shopping Season - A brief demo of the integration between Neoload and Bitbar Testing

mobile devopsdevopsmobile performance testing
So, How Does ARO Make My App Faster?
ARO is the test kit to identify areas where performance
improvements exist
Simple, common sense development best practices
– Reducing connection times
– Caching files
– Eliminating Errors
The fixes identified by ARO will tune your application
to higher performance and speed
From Zombie to Sprinter in 3 Easy Steps
1. Close Connections
2. Cache Your Data
3. Manage Every Connection
From Zombie to Sprinter in 3 Easy Steps
1. Close Connections
2. Cache Your Data
3. Manage Every Connection
Closing Connections? How Does That Help?
>80% of applications
do NOT close
connections when
they are finished!

Recommended for you

Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges

This whitepaper speaks about how Mobile Apps play a key role in daily business functions and the changing trends of consumer web-usage along with a brief summary of mobile application performance drivers...

mobile performancemobile performance testingnous infosystems
Developing of a high load java script framework
Developing of a high load java script frameworkDeveloping of a high load java script framework
Developing of a high load java script framework

This document discusses the design and creation of a JavaScript framework for high-load websites. It describes architectural approaches like using isolated modules and events to improve performance. It also provides tips for optimizing frameworks for high loads, such as using content delivery networks, local storage, moving APIs client-side, and client-side profiling. The presentation encourages the single responsibility principle of creating separate modules for each task. It is given by Nikita Manko, a senior software engineer at EPAM.

rolling scopes #2high-load
WHAT IS BUSINESS TO DEVELOPER MARKETING OR B2D
WHAT IS BUSINESS TO DEVELOPER MARKETING OR B2DWHAT IS BUSINESS TO DEVELOPER MARKETING OR B2D
WHAT IS BUSINESS TO DEVELOPER MARKETING OR B2D

Marketing an API can often be as challenging, or more so, than building it. This presentation provides a deep dive into how to reach the right Audience for your API and engage developers.

b2dapisdeveloper marketing
Closing Connections: Example
38% more power on LTE!
(18% more power on 3G)
Closing Connections: CODE
MultiRes Sample app from Android SDK
– Modified to download images
HttpURLConnection getimagecloseconn = (HttpURLConnection)
urln.openConnection();
getimagecloseconn.setRequestProperty("connection", "close");
getimagecloseconn.connect();
String cachecontrol = getimagecloseconn.getHeaderField("Cache-Control");
InputStream isclose = getimagecloseconn.getInputStream();
bitmap = BitmapFactory.decodeStream(isclose);
getimagecloseconn.disconnect();
https://github.com/attdevsupport/ARO/tree/master/2013DevSummitTurbocharge
From Zombie to Sprinter in 3 Easy Steps
1. Close Connections
2. Cache Your Data
3. Manage Every Connection
Caching Your Data
17% of all mobile traffic is duplicate download of
the same unaltered HTTP content (1)
“It’s just a 6 KB logo”
– 6 KB * 3 DL/session *10,000 users/day =
3.4GB/month
Reading from local cache is 75-99% faster than downloading
from the web
(1)“Web Caching on Smartphones: Ideal vs. Reality”, http://www.research.att.com/~sen/pub/Caching_mobisys12.pdf

Recommended for you

Connected Car - Ian Beavis, EVP at Nielsen Global Automotive
Connected Car - Ian Beavis, EVP at Nielsen Global AutomotiveConnected Car - Ian Beavis, EVP at Nielsen Global Automotive
Connected Car - Ian Beavis, EVP at Nielsen Global Automotive

The document discusses findings from the 2014 Harris Poll AutoTECHCAST survey regarding consumer awareness and interest in connected car technologies. Some key findings include: - Most consumers have heard of a "Connected Car" but are not very familiar with the term. Interest in owning a Connected Car in the future is moderate. - Consumers prefer an integrated "built-in" Connected Car system to one that is brought in via smartphone. However, many have privacy concerns about data collection. - OnStar is the most recognized Connected Car brand name. Awareness of specific Connected Car features is moderate but interest in having them in future vehicles is higher.

connected carcar technologycommerce
Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)
Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)
Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)

The document discusses Diversinet's mobile health platform which aims to achieve interoperability, security and agility. It addresses key challenges in mobile health like security and privacy, and providing an agile platform for app development and integration. The platform uses dynamic authentication and encryption between mobile clients and servers to securely exchange encrypted data. It also allows for interoperable mobile applications to share health data like medical records, profiles and biometrics to provide a holistic view of patients.

mhealthwipjamhealth technology
Tactio on Social Apps (mHealth Summit 2012 WIPJam)
Tactio on Social Apps (mHealth Summit 2012 WIPJam)Tactio on Social Apps (mHealth Summit 2012 WIPJam)
Tactio on Social Apps (mHealth Summit 2012 WIPJam)

This document discusses Tactio, a medical app company. Tactio has over 3 million downloads across 15 languages and has been the #1 paid medical app on iTunes in over 10 countries. It also ranks in the top 10 in over 50 countries and top 50 in 85 countries. The document briefly mentions Tactio's social media, push notifications, eHealth ecosystem, and parent company Tactio Health Group as well as providing their website.

mhealthsocial applicationstactio
Even if caching IS supported – it is OFF by default!!
Caching Support by Library
Android Connection Libraries iOS Libraries Android & Safari
Test Name UC HUC HC WV HRC T20 NSUR ASIHR AB SB
Basic caching ™ ™ ™ ˜ ˜ ™ ˜
Revalidation ™ ™ ™ ˜ ˜ ™ ˜ ˜ ˜ ˜
Non-caching directives ™ ™ ™ ˜ ˜ ™ ˜ » ˜ ˜
Expiration directives ™ ™ ™ ˜ ˜ ™ ˜ ˜ ˜ ˜
URL with query string ™ ™ ™ ˜ ˜ ™ ˜ ˜ ˜ ˜
Partial caching ™ ™ ™ ™ ™ ™ ™ ™ ™ ™
Redirection ™ ™ ™ ™ ™ ™ ™
Caching Methods (How do I do it?)
ETags
Cache Control Headers
• Each file has a Unique Tag
• Revalidated on server for each request
– High Performance Web Sites:
Rule 1 – Make Fewer HTTP Requests (1)
– Adding a connection drains battery,
adds 500-3,000 ms latency
• Important to carefully assign Max-Age times
• App will not check file on server until Max-Age
is reached
– Retrieval is strictly file processing time
(1) http://developer.yahoo.com/blogs/ydn/posts/2007/04/rule_1_make_few/
Comparing ETag vs. Cache Control
Network Usage Battery Drain Data Usage Speed
NO Cache
YES entire file
downloaded
Full network
connection made
High Slowest
ETag
Yes – ETag in cache
is validated on server
Full network
connection
Low Slow
Cache Control No N/A N/A Fast
Any Caching is better than no caching, but for mobile, Cache Control is preferred
Caching: Worth the Effort?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//establish a cache
try {
File httpCacheDir = new File(getCacheDir(), "http");
long httpCacheSize = 10 * 1024 * 1024; // 10 MiB
HttpResponseCache.install(httpCacheDir, httpCacheSize);
//
}
catch (IOException e) {
Log.i(TAG, "HTTP response cache installation failed:" + e);
}
Add this!
Android 4.0:
Don’t leave older devices in the cold: Consider adding reflection for
older versions of Android
http://developer.android.com/reference/android/net/http/HttpResponseCache.html

Recommended for you

Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)
Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)
Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)

The document discusses how social media usage has grown significantly from 2010 to 2011, with more people sharing what they are doing on Facebook and Twitter. It then introduces Viafo as a service that allows apps to integrate social and location-based features through a single gateway, rather than having to integrate directly with each individual network. This solves problems like dependency on third parties and needing to update integrations when networks change their APIs. The service aims to improve brand performance and user satisfaction by making social sharing easy within apps. It also discusses some new features Viafo is working on, like tools for regional social networks and gamification, as well as an example social blood donation app called BloodSprint.

mhealthviafowipjam
George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)
George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)
George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)

The document outlines several mobile game projects created by student teams for the Century Council to promote responsible decision making around underage drinking. It introduces the Century Council's mission to delay a person's first drink and have a positive impact on their life. It also notes that motor vehicle crashes remain the leading cause of death for 15- to 20-year-olds. The document then lists three student teams and the names of mobile games each created for the Century Council.

gamificationwipjamgeorge mason university
Ayogo Mobile Gamification (mHealth Summit WIPJam)
Ayogo Mobile Gamification (mHealth Summit WIPJam)Ayogo Mobile Gamification (mHealth Summit WIPJam)
Ayogo Mobile Gamification (mHealth Summit WIPJam)

Mobile games can help with health by incentivizing positive behaviors for patients and caregivers in a fun way. Monster Manor is a game that rewards tasks like taking medication on time with in-game rewards like unlocking monsters. It uses an incentive economy and respects the needs of both patients and children by allowing kids to still be kids through gameplay like smashing piñatas while supporting health goals through immediate alerts and reminders sent by SMS, email or app notifications.

gamificationayogomhealth
Caching Performance
File still valid in cache
Radio never turns on
100% less
power!
MultiRes sample app – modified to add caching
98% faster!
Caching Performance
File in cache has expired,
revalidate at server
If radio has gone back to
IDLE, this can take 2.5s
LTE: 14%
less power!
MultiRes sample app – modified to add caching
3G: 30%
less power!
30% faster!
89% faster!
From Zombie to Sprinter in 3 Easy Steps
1. Close Connections
2. Cache Your Data
3. Manage Every Connection
Grouping Connections
38J of energy used!!
Imagine an app that:
1. Downloads an image every 60s
2. Downloads an Ad every 60s
3. Sends Analytics to a Server every 60s

Recommended for you

Mobile Developer 101 (mHealth 2012 Edition)
Mobile Developer 101 (mHealth 2012 Edition) Mobile Developer 101 (mHealth 2012 Edition)
Mobile Developer 101 (mHealth 2012 Edition)

Learn about App Design, Mobile Development. Trends in the Health Industry, and how your company can benefit from going mobile.

developermhealthmobile developer
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf

Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment. How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.

pigging solutionsprocess piggingproduct transfers
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses

CIO Council Cal Poly Humboldt September 22, 2023

national research platformdistributed supercomputerdistributed systems
Grouping Connections
16J of energy used!!
58% savings!
Now, look what happens if your connections are grouped together
1. Downloads an image every 60s
2. Downloads an Ad every 60s
3. Sends Analytics to a Server every 60s
16J of energy used!! 58% less energy
How Do I Group Connections
if (Tel.getDataActivity() >0){
if (Tel.getDataActivity() <4){
//ok, we are passed the minimum time to check
//and we found network activity-
//download the image here using image getter
imagegetter(counter, numberofimages);
//and show the ad
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
adView.loadAd(adRequest);
// Initiate a generic request to load it with an ad
adView.loadAd(new AdRequest());
Grouping Connections for Speed
Not only can you save battery, but you can speed up your
application by managing connections properly:
Threading file downloads vs. serial download
Removing redirects to files
Pre-fetching files that are used often
Grouping Connections for Speed
Threading file downloads vs. serial download

Recommended for you

20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024

Everything that I found interesting about engineering leadership last month

quantumfaxmachine
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time

Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality. Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality. Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality. Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank? ** Episode Overview ** In this first episode of our quality series, Kristen Hansen and the panel discuss: ⦿ What do we mean when we say patent quality? ⦿ Why is patent quality important? ⦿ How to balance quality and budget ⦿ The importance of searching, continuations, and draftsperson domain expertise ⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications https://www.aurorapatents.com/patently-strategic-podcast.html

patentspatent applicationpatent prosecution
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model

The Linux-kernel memory model (LKMM) is a powerful tool for developing highly concurrent Linux-kernel code, but it also has a steep learning curve. Wouldn't it be great to get most of LKMM's benefits without the learning curve? This talk will describe how to do exactly that by using the standard Linux-kernel APIs (locking, reference counting, RCU) along with a simple rules of thumb, thus gaining most of LKMM's power with less learning. And the full LKMM is always there when you need it!

Grouping Connections for Speed
Not only can you save battery, but you can speed up your
application by managing connections properly:
Removing redirects to files
Redirection adds ~2-3 seconds for each request
{
2 sec
Grouping Connections for Speed
Not only can you save battery, but you can speed up your
application by managing connections properly:
Pre-fetching files that are used often
More Best Practices
Look for error codes: no 4xx 5xx
HTTP response codes should occur:
More Best Practices
Look for error codes: 404s
Error messages should be short and sweet

Recommended for you

一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理

原版一模一样【微信:741003700 】【(msvu毕业证书)圣文森山大学毕业证成绩单】【微信:741003700 】学位证,留信学历认证(真实可查,永久存档)原件一模一样纸张工艺/offer、在读证明、外壳等材料/诚信可靠,可直接看成品样本,帮您解决无法毕业带来的各种难题!外壳,原版制作,诚信可靠,可直接看成品样本。行业标杆!精益求精,诚心合作,真诚制作!多年品质 ,按需精细制作,24小时接单,全套进口原装设备。十五年致力于帮助留学生解决难题,包您满意。 本公司拥有海外各大学样板无数,能完美还原。 1:1完美还原海外各大学毕业材料上的工艺:水印,阴影底纹,钢印LOGO烫金烫银,LOGO烫金烫银复合重叠。文字图案浮雕、激光镭射、紫外荧光、温感、复印防伪等防伪工艺。材料咨询办理、认证咨询办理请加学历顾问Q/微741003700 【主营项目】 一.毕业证【q微741003700】成绩单、使馆认证、教育部认证、雅思托福成绩单、学生卡等! 二.真实使馆公证(即留学回国人员证明,不成功不收费) 三.真实教育部学历学位认证(教育部存档!教育部留服网站永久可查) 四.办理各国各大学文凭(一对一专业服务,可全程监控跟踪进度) 如果您处于以下几种情况: ◇在校期间,因各种原因未能顺利毕业……拿不到官方毕业证【q/微741003700】 ◇面对父母的压力,希望尽快拿到; ◇不清楚认证流程以及材料该如何准备; ◇回国时间很长,忘记办理; ◇回国马上就要找工作,办给用人单位看; ◇企事业单位必须要求办理的 ◇需要报考公务员、购买免税车、落转户口 ◇申请留学生创业基金 留信网认证的作用: 1:该专业认证可证明留学生真实身份 2:同时对留学生所学专业登记给予评定 3:国家专业人才认证中心颁发入库证书 4:这个认证书并且可以归档倒地方 5:凡事获得留信网入网的信息将会逐步更新到个人身份内,将在公安局网内查询个人身份证信息后,同步读取人才网入库信息 6:个人职称评审加20分 7:个人信誉贷款加10分 8:在国家人才网主办的国家网络招聘大会中纳入资料,供国家高端企业选择人才 办理(msvu毕业证书)圣文森山大学毕业证【微信:741003700 】外观非常简单,由纸质材料制成,上面印有校徽、校名、毕业生姓名、专业等信息。 办理(msvu毕业证书)圣文森山大学毕业证【微信:741003700 】格式相对统一,各专业都有相应的模板。通常包括以下部分: 校徽:象征着学校的荣誉和传承。 校名:学校英文全称 授予学位:本部分将注明获得的具体学位名称。 毕业生姓名:这是最重要的信息之一,标志着该证书是由特定人员获得的。 颁发日期:这是毕业正式生效的时间,也代表着毕业生学业的结束。 其他信息:根据不同的专业和学位,可能会有一些特定的信息或章节。 办理(msvu毕业证书)圣文森山大学毕业证【微信:741003700 】价值很高,需要妥善保管。一般来说,应放置在安全、干燥、防潮的地方,避免长时间暴露在阳光下。如需使用,最好使用复印件而不是原件,以免丢失。 综上所述,办理(msvu毕业证书)圣文森山大学毕业证【微信:741003700 】是证明身份和学历的高价值文件。外观简单庄重,格式统一,包括重要的个人信息和发布日期。对持有人来说,妥善保管是非常重要的。

(msvu毕业证书)圣文森山大学毕业证
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024

This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator. Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/ Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.

a11yaccessibilityalt text
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)

Video traffic on the Internet is constantly growing; networked multimedia applications consume a predominant share of the available Internet bandwidth. A major technical breakthrough and enabler in multimedia systems research and of industrial networked multimedia services certainly was the HTTP Adaptive Streaming (HAS) technique. This resulted in the standardization of MPEG Dynamic Adaptive Streaming over HTTP (MPEG-DASH) which, together with HTTP Live Streaming (HLS), is widely used for multimedia delivery in today’s networks. Existing challenges in multimedia systems research deal with the trade-off between (i) the ever-increasing content complexity, (ii) various requirements with respect to time (most importantly, latency), and (iii) quality of experience (QoE). Optimizing towards one aspect usually negatively impacts at least one of the other two aspects if not both. This situation sets the stage for our research work in the ATHENA Christian Doppler (CD) Laboratory (Adaptive Streaming over HTTP and Emerging Networked Multimedia Services; https://athena.itec.aau.at/), jointly funded by public sources and industry. In this talk, we will present selected novel approaches and research results of the first year of the ATHENA CD Lab’s operation. We will highlight HAS-related research on (i) multimedia content provisioning (machine learning for video encoding); (ii) multimedia content delivery (support of edge processing and virtualized network functions for video networking); (iii) multimedia content consumption and end-to-end aspects (player-triggered segment retransmissions to improve video playout quality); and (iv) novel QoE investigations (adaptive point cloud streaming). We will also put the work into the context of international multimedia systems research.

Ad Download every 30s
More Best Practices:
Periodic Connections
Regular 3 minute Polls for updates (20% battery/day)
Summary
• Our customers expect high performance
• App performance optimizations are easy…
Once you know the issues
• Best Practices:
–  Close Connections
–  Cache Data
–  Group Connections
• Fewer connections
• Threaded Connections
• No redirects
• 4XX HTTP response codes
• Periodic Connections
everyone wins
with ARO
Developer.att.com/ARO
Developer.program@att.com
@dougsillars
thank you!

Recommended for you

Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure

Recent advancements in the NIST-JARVIS infrastructure: JARVIS-Overview, JARVIS-DFT, AtomGPT, ALIGNN, JARVIS-Leaderboard

jarvisjarvis-dftalignn
Running a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU ImpactsRunning a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU Impacts

Understanding the impacts of running a containerized Go application inside Kubernetes with a focus on the CPU.

K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024

K2G - Insurtech Innovation Award 2024

k2gawards

More Related Content

Similar to Doug Sillars on App Optimization

How to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting PerformanceHow to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting Performance
rickschwar
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Prolifics
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App Performance
TechWell
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)
Peter Presnell
 
IT Operations Management with OpManager
IT Operations Management with OpManagerIT Operations Management with OpManager
IT Operations Management with OpManager
ManageEngine, Zoho Corporation
 
Mobile apps that win
Mobile apps that winMobile apps that win
Mobile apps that win
DellFoglight
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
Ömer Göktuğ Poyraz
 
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary IkhwanApplication Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
OpenNebula Project
 
Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge Computing
Bukhary Ikhwan Ismail
 
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0cSmarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Jeffrey Gardner CMgr FCMI IEng MIET
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
Gerardo Pardo-Castellote
 
Mobile Performance Testing - Testing the Server
Mobile Performance Testing  - Testing the ServerMobile Performance Testing  - Testing the Server
Mobile Performance Testing - Testing the Server
XBOSoft
 
Mobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeterMobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeter
Devendra Singh
 
IRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using FirebaseIRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET Journal
 
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
Dynatrace
 
Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...
IAEME Publication
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
TechWell
 
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
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges
Nous Infosystems
 
Developing of a high load java script framework
Developing of a high load java script frameworkDeveloping of a high load java script framework
Developing of a high load java script framework
Mikita Manko
 

Similar to Doug Sillars on App Optimization (20)

How to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting PerformanceHow to Lower Android Power Consumption Without Affecting Performance
How to Lower Android Power Consumption Without Affecting Performance
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
Testing Mobile App Performance
Testing Mobile App PerformanceTesting Mobile App Performance
Testing Mobile App Performance
 
redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)redpill Mobile Case Study (Salvation Army)
redpill Mobile Case Study (Salvation Army)
 
IT Operations Management with OpManager
IT Operations Management with OpManagerIT Operations Management with OpManager
IT Operations Management with OpManager
 
Mobile apps that win
Mobile apps that winMobile apps that win
Mobile apps that win
 
Modern Web Applications
Modern Web ApplicationsModern Web Applications
Modern Web Applications
 
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary IkhwanApplication Delivery Platform Towards Edge Computing - Bukhary Ikhwan
Application Delivery Platform Towards Edge Computing - Bukhary Ikhwan
 
Docker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge ComputingDocker:- Application Delivery Platform Towards Edge Computing
Docker:- Application Delivery Platform Towards Edge Computing
 
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0cSmarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
Smarter Apps for Smarter phones - see me at bit.ly/1ezHj0c
 
RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011RTI Data-Distribution Service (DDS) Master Class 2011
RTI Data-Distribution Service (DDS) Master Class 2011
 
Mobile Performance Testing - Testing the Server
Mobile Performance Testing  - Testing the ServerMobile Performance Testing  - Testing the Server
Mobile Performance Testing - Testing the Server
 
Mobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeterMobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeter
 
IRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using FirebaseIRJET- Displaying Smart Phone Data in the Desktop using Firebase
IRJET- Displaying Smart Phone Data in the Desktop using Firebase
 
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
 
Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...Load testing for jquery based e commerce web applications with cloud performa...
Load testing for jquery based e commerce web applications with cloud performa...
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
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...
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges
 
Developing of a high load java script framework
Developing of a high load java script frameworkDeveloping of a high load java script framework
Developing of a high load java script framework
 

More from wipjam

WHAT IS BUSINESS TO DEVELOPER MARKETING OR B2D
WHAT IS BUSINESS TO DEVELOPER MARKETING OR B2DWHAT IS BUSINESS TO DEVELOPER MARKETING OR B2D
WHAT IS BUSINESS TO DEVELOPER MARKETING OR B2D
wipjam
 
Connected Car - Ian Beavis, EVP at Nielsen Global Automotive
Connected Car - Ian Beavis, EVP at Nielsen Global AutomotiveConnected Car - Ian Beavis, EVP at Nielsen Global Automotive
Connected Car - Ian Beavis, EVP at Nielsen Global Automotive
wipjam
 
Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)
Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)
Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)
wipjam
 
Tactio on Social Apps (mHealth Summit 2012 WIPJam)
Tactio on Social Apps (mHealth Summit 2012 WIPJam)Tactio on Social Apps (mHealth Summit 2012 WIPJam)
Tactio on Social Apps (mHealth Summit 2012 WIPJam)
wipjam
 
Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)
Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)
Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)
wipjam
 
George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)
George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)
George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)
wipjam
 
Ayogo Mobile Gamification (mHealth Summit WIPJam)
Ayogo Mobile Gamification (mHealth Summit WIPJam)Ayogo Mobile Gamification (mHealth Summit WIPJam)
Ayogo Mobile Gamification (mHealth Summit WIPJam)
wipjam
 
Mobile Developer 101 (mHealth 2012 Edition)
Mobile Developer 101 (mHealth 2012 Edition) Mobile Developer 101 (mHealth 2012 Edition)
Mobile Developer 101 (mHealth 2012 Edition)
wipjam
 

More from wipjam (8)

WHAT IS BUSINESS TO DEVELOPER MARKETING OR B2D
WHAT IS BUSINESS TO DEVELOPER MARKETING OR B2DWHAT IS BUSINESS TO DEVELOPER MARKETING OR B2D
WHAT IS BUSINESS TO DEVELOPER MARKETING OR B2D
 
Connected Car - Ian Beavis, EVP at Nielsen Global Automotive
Connected Car - Ian Beavis, EVP at Nielsen Global AutomotiveConnected Car - Ian Beavis, EVP at Nielsen Global Automotive
Connected Car - Ian Beavis, EVP at Nielsen Global Automotive
 
Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)
Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)
Powering Care Coordination Through Mobility (mHealth Summit 2012 WIPJam)
 
Tactio on Social Apps (mHealth Summit 2012 WIPJam)
Tactio on Social Apps (mHealth Summit 2012 WIPJam)Tactio on Social Apps (mHealth Summit 2012 WIPJam)
Tactio on Social Apps (mHealth Summit 2012 WIPJam)
 
Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)
Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)
Viafo - Making Your App Social (mHealth Summit 2012 WIPJam)
 
George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)
George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)
George Mason University on Mobile Gamification (mHealth Summit 2012 WIPJam)
 
Ayogo Mobile Gamification (mHealth Summit WIPJam)
Ayogo Mobile Gamification (mHealth Summit WIPJam)Ayogo Mobile Gamification (mHealth Summit WIPJam)
Ayogo Mobile Gamification (mHealth Summit WIPJam)
 
Mobile Developer 101 (mHealth 2012 Edition)
Mobile Developer 101 (mHealth 2012 Edition) Mobile Developer 101 (mHealth 2012 Edition)
Mobile Developer 101 (mHealth 2012 Edition)
 

Recently uploaded

Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
ScyllaDB
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
uuuot
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
Alpen-Adria-Universität
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Running a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU ImpactsRunning a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU Impacts
ScyllaDB
 
K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
The Digital Insurer
 
AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)
apoorva2579
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx
SATYENDRA100
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
SeasiaInfotech2
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 

Recently uploaded (20)

Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
How to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory ModelHow to Avoid Learning the Linux-Kernel Memory Model
How to Avoid Learning the Linux-Kernel Memory Model
 
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
一比一原版(msvu毕业证书)圣文森山大学毕业证如何办理
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Running a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU ImpactsRunning a Go App in Kubernetes: CPU Impacts
Running a Go App in Kubernetes: CPU Impacts
 
K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
 
AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx5G bootcamp Sep 2020 (NPI initiative).pptx
5G bootcamp Sep 2020 (NPI initiative).pptx
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 

Doug Sillars on App Optimization

  • 1. Test Your Mobile Application’s Performance with AT&T’s Application Resource Optimizer Doug Sillars, PhD Application Optimization Guru Developer Advocacy, AT&T @dougsillars
  • 2. How Fast is Your App?
  • 3. How Fast is Your App?
  • 4. How Fast is Your App? “Zombies appear to be incapable of running. The fastest have been observed to move at a rate of barely one step per 1.5 seconds.” – Max Brooks, Zombie Survival Guide
  • 5. How Important is Speed Anyway? Traditional Web (PC) Stats: • Yahoo! 400ms delay leads to 5-9% drop in traffic (1) • 1 second of latency (2) –  Customer satisfaction drops 16% –  Conversion to sales drops 7% • 10 Golden Principles of Successful Web Apps: –  “Speed is always the most important feature” (3) Sillars’ Corollary: If speed is important on the web, it follows that speed is even more important for mobile • 71 % of users expect mobile sites to be as fast as desktop (4) (1) slideshare.net/stoyan/dont-make-me-wait-or-building-highperformance-web-applications (2) http://econsultancy.com/us/blog/10195-the-need-for-online-speed-in-america (3) 10 Golden Principles Of Successful Web Apps http://www.businessinsider.com/10-golden-principles-successful-web-apps-2010-3 (4) http://econsultancy.com/us/blog/9162-the-importance-of-speed-for-mobile-commerce
  • 6. What Do Mobile Users Expect? High Performance Apps •  Speed –  64% of mobile users expect pages/apps to load in <4 seconds (1) •  Battery Life –  Better Battery life (6.1 satisfied of 10) !!! (2) –  72% rate phone as very good or excellent •  Only 21% rate battery life as very good or excellent (3) •  Reasonable data usage –  No one wants to hit their cap (1) http://www.keynote.com/docs/reports/Keynote-2012-Mobile-User-Survey.pdf (2) http://www.businessnewsdaily.com/2200-smartphone-customer-satisfaction-battery-life.html (3) Personal communication from Swiftkey study
  • 7. What Do Mobile Users Get? Our Customers Expect More!!!! • Top Mobile frustrations “web page slow to load” (1) • Battery life top reported problem (2) (1) http://www.keynote.com/docs/reports/Keynote-2012-Mobile-User-Survey.pdf (2) http://www.businessnewsdaily.com/2200-smartphone-customer-satisfaction-battery-life.html
  • 8. As a Developer, What Can I Do? • Learn How Mobile is Different • Optimize: –  Learn the best practices –  Test your application –  Fix issues before your customers discover them • Get ahead of the game – be ready for industry standards and grading systems It can’t be MY developers, they’re the best • AT&T’s Application Resource Optimizer (ARO) –  http://Developer.att.com/ARO –  In 2012, <2% of tested apps required no optimization
  • 9. How is Mobile Different? Internet IP applications Mobile applications Wireless State Machine Mobile apps often do not consider the uniqueness of the wireless network Optimized mobile applications improve user experience with improved battery life and perceived faster speed
  • 10. Data Transfer LTE RRC State Machine Timer Expiration Radio Off Radio On IDLE Continuous Reception Tail For AT&T’s Model: T1 = 100ms T2 = 20ms T3 = 10,00ms 100ms 10s
  • 11. Data Transfer LTE RRC State Machine Timer Expiration Radio Off Radio On IDLE Continuous Reception Tail • LTE has higher throughput than 3G • This does not improve application behaviour -  The higher power actually accentuates any issues your application might have! 100ms 10s
  • 12. It’s All Connected Application traffic triggers RRC State transitions: •  RRC State transitions control
  • 13. It’s All Connected Application traffic triggers RRC State transitions: •  RRC State transitions control –  Speed/User Experience
  • 14. It’s All Connected Application traffic triggers RRC State transitions: •  RRC State transitions control –  Speed/User Experience –  Device battery life
  • 15. It’s All Connected Application traffic triggers RRC State transitions: •  RRC State transitions control –  Speed/User Experience –  Device battery life –  Network efficiency
  • 16. AT&T Application Resource Optimizer • Free diagnostic tool • Open Source • Test any Platform • Emulate any carrier network • Analysis of both Native Apps and the Mobile Web • Winner of the 2013 GSMA Smartphone Application Challenge award at MWC Allows YOU as a developer to SEE exactly how data is flowing from your app!
  • 17. What Platforms Can I Test With? All of them! • All Platforms: Pcap/tcpdump network trace •  Ex: Wi-Fi Hotspot (like Connectify) and Wireshark/NetMon to collect •  iOS: Remote Virtual Interface uses Instruments to collect pcap over 3G/LTE • Android and Windows 8: Native Collector •  Note: Android collector requires root
  • 18. How Does ARO Work? Transfer Trace Files Process Trace Test Your Application • PCAP only: •  Network traffic collected • Native Collector adds: •  Video •  User Input •  Peripheral Usage •  CPU usage • Applies Radio and Power models to data • Graded against 15 Best Practices • Learn how your application ACTUALLY behaves!
  • 19. Everyone Wins With ARO •  Faster Response Times •  Improved Battery Life •  Efficient Data Plan Usage •  Enriched User Experience End User •  App-specific Analysis •  Key Areas to Improve •  Cross Platform and Network Agnostic •  Free and Open Source Developer •  Increased Network Availability •  Signaling Load Reduction •  Efficient Spectrum Usage •  Improved Radio Availability Wireless Carrier
  • 20. What’s the Industry Doing? • Quality App Directory - App Quality Alliance (AQuA) (http://www.appqualityalliance.org/) • Smarter App Challenge – GSMA (http://mobileappchallenge.com/smarterapp/) • Mobile Content Action Team – CTIA (http://www.ctia.org/business_resources/wic/index.cfm/AID/10333) • Other carriers • All are using ARO!! (http://developer.att.com/ARO) • Numerous Customer facing apps help customers preserve battery and reduce data usage Get ahead of the game: Optimize NOW!
  • 21. So, How Does ARO Make My App Faster? ARO is the test kit to identify areas where performance improvements exist Simple, common sense development best practices – Reducing connection times – Caching files – Eliminating Errors The fixes identified by ARO will tune your application to higher performance and speed
  • 22. From Zombie to Sprinter in 3 Easy Steps 1. Close Connections 2. Cache Your Data 3. Manage Every Connection
  • 23. From Zombie to Sprinter in 3 Easy Steps 1. Close Connections 2. Cache Your Data 3. Manage Every Connection
  • 24. Closing Connections? How Does That Help? >80% of applications do NOT close connections when they are finished!
  • 25. Closing Connections: Example 38% more power on LTE! (18% more power on 3G)
  • 26. Closing Connections: CODE MultiRes Sample app from Android SDK – Modified to download images HttpURLConnection getimagecloseconn = (HttpURLConnection) urln.openConnection(); getimagecloseconn.setRequestProperty("connection", "close"); getimagecloseconn.connect(); String cachecontrol = getimagecloseconn.getHeaderField("Cache-Control"); InputStream isclose = getimagecloseconn.getInputStream(); bitmap = BitmapFactory.decodeStream(isclose); getimagecloseconn.disconnect(); https://github.com/attdevsupport/ARO/tree/master/2013DevSummitTurbocharge
  • 27. From Zombie to Sprinter in 3 Easy Steps 1. Close Connections 2. Cache Your Data 3. Manage Every Connection
  • 28. Caching Your Data 17% of all mobile traffic is duplicate download of the same unaltered HTTP content (1) “It’s just a 6 KB logo” – 6 KB * 3 DL/session *10,000 users/day = 3.4GB/month Reading from local cache is 75-99% faster than downloading from the web (1)“Web Caching on Smartphones: Ideal vs. Reality”, http://www.research.att.com/~sen/pub/Caching_mobisys12.pdf
  • 29. Even if caching IS supported – it is OFF by default!! Caching Support by Library Android Connection Libraries iOS Libraries Android & Safari Test Name UC HUC HC WV HRC T20 NSUR ASIHR AB SB Basic caching ™ ™ ™ ˜ ˜ ™ ˜ Revalidation ™ ™ ™ ˜ ˜ ™ ˜ ˜ ˜ ˜ Non-caching directives ™ ™ ™ ˜ ˜ ™ ˜ » ˜ ˜ Expiration directives ™ ™ ™ ˜ ˜ ™ ˜ ˜ ˜ ˜ URL with query string ™ ™ ™ ˜ ˜ ™ ˜ ˜ ˜ ˜ Partial caching ™ ™ ™ ™ ™ ™ ™ ™ ™ ™ Redirection ™ ™ ™ ™ ™ ™ ™
  • 30. Caching Methods (How do I do it?) ETags Cache Control Headers • Each file has a Unique Tag • Revalidated on server for each request – High Performance Web Sites: Rule 1 – Make Fewer HTTP Requests (1) – Adding a connection drains battery, adds 500-3,000 ms latency • Important to carefully assign Max-Age times • App will not check file on server until Max-Age is reached – Retrieval is strictly file processing time (1) http://developer.yahoo.com/blogs/ydn/posts/2007/04/rule_1_make_few/
  • 31. Comparing ETag vs. Cache Control Network Usage Battery Drain Data Usage Speed NO Cache YES entire file downloaded Full network connection made High Slowest ETag Yes – ETag in cache is validated on server Full network connection Low Slow Cache Control No N/A N/A Fast Any Caching is better than no caching, but for mobile, Cache Control is preferred
  • 32. Caching: Worth the Effort? public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //establish a cache try { File httpCacheDir = new File(getCacheDir(), "http"); long httpCacheSize = 10 * 1024 * 1024; // 10 MiB HttpResponseCache.install(httpCacheDir, httpCacheSize); // } catch (IOException e) { Log.i(TAG, "HTTP response cache installation failed:" + e); } Add this! Android 4.0: Don’t leave older devices in the cold: Consider adding reflection for older versions of Android http://developer.android.com/reference/android/net/http/HttpResponseCache.html
  • 33. Caching Performance File still valid in cache Radio never turns on 100% less power! MultiRes sample app – modified to add caching 98% faster!
  • 34. Caching Performance File in cache has expired, revalidate at server If radio has gone back to IDLE, this can take 2.5s LTE: 14% less power! MultiRes sample app – modified to add caching 3G: 30% less power! 30% faster! 89% faster!
  • 35. From Zombie to Sprinter in 3 Easy Steps 1. Close Connections 2. Cache Your Data 3. Manage Every Connection
  • 36. Grouping Connections 38J of energy used!! Imagine an app that: 1. Downloads an image every 60s 2. Downloads an Ad every 60s 3. Sends Analytics to a Server every 60s
  • 37. Grouping Connections 16J of energy used!! 58% savings! Now, look what happens if your connections are grouped together 1. Downloads an image every 60s 2. Downloads an Ad every 60s 3. Sends Analytics to a Server every 60s 16J of energy used!! 58% less energy
  • 38. How Do I Group Connections if (Tel.getDataActivity() >0){ if (Tel.getDataActivity() <4){ //ok, we are passed the minimum time to check //and we found network activity- //download the image here using image getter imagegetter(counter, numberofimages); //and show the ad AdRequest adRequest = new AdRequest(); adRequest.addTestDevice(AdRequest.TEST_EMULATOR); adView.loadAd(adRequest); // Initiate a generic request to load it with an ad adView.loadAd(new AdRequest());
  • 39. Grouping Connections for Speed Not only can you save battery, but you can speed up your application by managing connections properly: Threading file downloads vs. serial download Removing redirects to files Pre-fetching files that are used often
  • 40. Grouping Connections for Speed Threading file downloads vs. serial download
  • 41. Grouping Connections for Speed Not only can you save battery, but you can speed up your application by managing connections properly: Removing redirects to files Redirection adds ~2-3 seconds for each request { 2 sec
  • 42. Grouping Connections for Speed Not only can you save battery, but you can speed up your application by managing connections properly: Pre-fetching files that are used often
  • 43. More Best Practices Look for error codes: no 4xx 5xx HTTP response codes should occur:
  • 44. More Best Practices Look for error codes: 404s Error messages should be short and sweet
  • 45. Ad Download every 30s More Best Practices: Periodic Connections Regular 3 minute Polls for updates (20% battery/day)
  • 46. Summary • Our customers expect high performance • App performance optimizations are easy… Once you know the issues • Best Practices: –  Close Connections –  Cache Data –  Group Connections • Fewer connections • Threaded Connections • No redirects • 4XX HTTP response codes • Periodic Connections