8/10/2019 Optimizing Your App for Real-World Networks Presentation
1/58
Testing and Adapting Your Mobile App for Real-World Network
Conditions:
Flexibly Network Aware Apps
ennifer !eongAT"T #e$eloper %rogra&
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
2/58
Flexibly Network Aware Ar/iteture
Why we need it
W/at it is01ow to test
Code i&ple&entations 2andwidt/
!ateny
Roa&ing
3u&&ary
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
3/58
Mobile Apps T/at Work
/ttp:00te/run/.o&0()**0)40*50&obile-app-users-are-bot/-6kle-and-loyal-study0
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
4/58
7ngaged Custo&ers
More likely tobuy8
2uy M9R78
/ttp:00www.loalytis.o&0blog0()*(0loyal-users-generate-(5-&ore-in-app-pur/ases0' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
5/58
1ow to et Custo&ers7ngaged;
+ers(.o&puware.o&0A%M?*4?W%?Mobile?App?3ur$ey?Report?Registration./t&l' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
http://www.tatvic.com/blog/churn-analysis-for-mobile-app/http://www.tatvic.com/blog/churn-analysis-for-mobile-app/http://www.tatvic.com/blog/churn-analysis-for-mobile-app/8/10/2019 Optimizing Your App for Real-World Networks Presentation
6/58
7xpetations: !oading
/ttp:00o>ers(.o&puware.o&0A%M?*4?W%?Mobile?App?3ur$ey?Report?Registration./t&l' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
7/58/ttp:00o>ers(.o&puware.o&0A%M?*4?W%?Mobile?App?3ur$ey?Report?Registration./t&l' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
8/58
%erfor&ane Matters
5))&s in delay: (@= frustration inrease
8/10/2019 Optimizing Your App for Real-World Networks Presentation
9/58
Mobile App %erfor&ane
%rior to !aun/TestH TestH Test
Android 2est %raties /ttp:00de$eloper.android.o&0guide0praties0index./t&l
I* ,&pro$e Juality8
AT"TKs Appliation Resoure 9pti&ier #e$eloper.att.o&0AR9
Free and 9pen 3oure
%ost !aun/ Analytis
Respond Luikly to issues
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
10/58
3peed: W/at You CanKtControl
!oation !oation !oation
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty./ttp:00en.wikipedia.org0wiki03anta?ClaraH?CaliforniaI&edia$iewer0File:3antalarao
8/10/2019 Optimizing Your App for Real-World Networks Presentation
11/58
(.5: 4:
+:
%R3 7#7
Network Conditions ary
T/roug/put*))-+)) bit03 ).5 B 5Mbit0s *-5)
Mbit0s !ast Mile!ateny:
4))-*)))&s *))-5)) &s
O*))&s
PMT3 13%AQ !T7
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
12/58
Network Conditions ary
%R3 7#7PMT3 13%AQ !T7
/tt s:00www.ikr.o&0 /otos0blade er0(D4)4+
Is your appready to adaptand changebased onnetworkconditions?
Your App needs to be Flexibly' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
13/58
,nternational Networks
A&erian de$elopers work in
a bubble of t/e fastestnetworks " utting-edge/andsets
*4' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
14/58
Next 2illion %eople oing9nline Few %Cs0landline. Mostly &obile.
3low networks 9ld te/nology
!ow bandwidt/
1ig/ ongestion
3&all data plans - an get used up Luikly
%ower issues Radio /ogging battery drain
1P7 if you an only /arge p/one *x a week
*+' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
M bil T/ / t
8/10/2019 Optimizing Your App for Real-World Networks Presentation
15/58
Mobile T/roug/put:World$iew
( is do&inantH but rapidly dereasing.
4 and + still growing
1ea$ily weig/ted by t/e de$eloping world. 3MA,ntelligene' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
M bil T/ / t
8/10/2019 Optimizing Your App for Real-World Networks Presentation
16/58
Mobile T/roug/put:World$iew
,n de$eloped worldH ( " 4 are dereasing.
4 do&inatesH but S()= of onnetions are +
+ onnetions to surpass ( 79Y ()*+H 4 ()*G
S(5= of onnetions are still ( U*)= t/roug/ ()*DV
3MA,ntelligene' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
17/58
Mobile: Afria
/ttp:00itersnews.o&0;p55+4)/ttp:00www.gs&a&obileeono&yafria.o&0
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
http://itersnews.com/?p=55430http://itersnews.com/?p=55430http://itersnews.com/?p=554308/10/2019 Optimizing Your App for Real-World Networks Presentation
18/58
Android rowt/ in C/ina
/ttp:00www.unwired$iew.o&0()*40**0(G0baidu-says-android-now-/as-(G)-&illion-daily-ati$e-users-in-/ina-&obile-internet-statistis-galore0
J4 ()*4: (G)M Ati$eAndroid users in C/ina8
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
19/58
Network 3peeds in C/ina
(G)M Ati$e Android users: ++= Wi-Fi
8/10/2019 Optimizing Your App for Real-World Networks Presentation
20/58
Android on (
7-&ail B was slowH but worked
3oial Media B Faebook " Twitter proble&atiHW/atsApp worked well
oogle %lay: Not aessible - XNo onnetion: Retryti&eouts
1a$e you tested your appliation on slow &obile networks;
A Flexibly Network Aware App will run Luikly and s&oot/lyHregardless of network ondition
/ttp:00&obility.ng0using-(g-on-an-android-s&artp/one0' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
21/58
3/ould , 2ot/er wit/ (Psers;
3uess in de$eloping world apri&ary fator
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
22/58
Flexibly Network Aware Ar/iteture
W/y we need it
What it is/How to test
Code i&ple&entations 2andwidt/
!ateny
Roa&ing
3u&&ary
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
23/58
Testing #i>erent Network Conditions
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
/ttps:00i.kr0p0D4r5y
/ttps:00i.kr0p0GZeRF
https://flic.kr/p/93r5Jyhttps://flic.kr/p/93r5Jyhttps://flic.kr/p/93r5Jy8/10/2019 Optimizing Your App for Real-World Networks Presentation
24/58
Testing #i>erent Network Conditions
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
/ttps:00i.kr0p0D4r5y
/ttps:00i.kr0p0GZeRF
https://flic.kr/p/93r5Jyhttps://flic.kr/p/93r5Jyhttps://flic.kr/p/93r5Jy8/10/2019 Optimizing Your App for Real-World Networks Presentation
25/58
i93: Network !ink Conditioner
de$eloper.apple.o&0downloads
1ardware ,9 Tools for Zode
#ouble lik on Network !ink Conditioner ion to install%referenes pane
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"Tand t/e AT"T logo are trade&arks of AT"T ,ntelletual%roperty.
http://developer.apple.com/downloadshttp://developer.apple.com/downloads8/10/2019 Optimizing Your App for Real-World Networks Presentation
26/58
i93: Network !ink Conditioner
8/10/2019 Optimizing Your App for Real-World Networks Presentation
27/58
i93: 3peedli&it
Allows li&iting by do&ains
No longer oially supported past !eopard
/ttp:00&s/rag.git/ub.ioopen soureV
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual%roperty.
http://mschrag.github.io/http://mschrag.github.io/8/10/2019 Optimizing Your App for Real-World Networks Presentation
28/58
i93: 3lowy Can li&it by port
Currently supported
%aid app
/ttp:00slowyapp.o&
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual%roperty.
http://slowyapp.com/http://slowyapp.com/8/10/2019 Optimizing Your App for Real-World Networks Presentation
29/58
Testing Android
Android 7&ulator
AT"T Network Attenuator
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
30/58
Android 7&ulator
!ateny and bandwidt/ /angespossible
telnet localhost 5554
network speed edge
Network delay edge
Value
Speed (up:down,kbps)
atency(!s)
gprs +):**< *5)-55)
edge
8/10/2019 Optimizing Your App for Real-World Networks Presentation
31/58
AT"T Network Attenuator
Rooted 3a&sung 34 wit/usto& kernel " libraries
3i&ilar speeds0lateny to
e&ulator ,nreasing ongestion
Raises lateny
!owers t/roug/put
Free beta8#e$eloper.att.o&0attenuator
9R: Eenleongatt' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
3upport 7xisting + 4 users and
8/10/2019 Optimizing Your App for Real-World Networks Presentation
32/58
3upport 7xisting +H 4 usersH andpro$ide great ( ser$ie
/tt s:00www.ikr.o&0 /otos0/elio0+)+
Flexibly Network Aware
FNAV' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
33/58
Responsi$e Web #esign
9ne PR!0one odebase
Media Jueries allow ode to adapt for di>erent sreen sies.Code tells browser /ow to build page based on sreen widt/.
P, is i&pro$ed on all de$ies
/ttp:00alistapart.o&0artile0responsi$e-web-design' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
34/58
Flexibly Network Aware App
Appliation is aware of networkonditions and displays0&odi6esontent exibly Consider:
2andwidt/
!ateny
Roa&ing
!ike RW#H app /anges display0reLuest/arateristis in a exible &anner
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
35/58
8/10/2019 Optimizing Your App for Real-World Networks Presentation
36/58
2andwidt/
Tiers: Wi-Fi: FastH reliableH generally unli&ited
data
40+: 13%AQH !T7V enerally fastH
li&ited data 4: PMT3H 13#%AH 13%A: Mediu&
(-(.5: %R3H 7#7: 3low
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
37/58
Network Aware: 2andwidt/
an = new ARONetworkAttenuator(getApplicationContext());
NetworkConfig nc = an.getNetworkConfig();
int downlinkspeed;
downlinkspeed = nc.getDownlinkSpeed();
Telephonyanager telean =
(Telephonyanager)getSyste!Ser"ice(Conte#t.TELEPHONY_SERVICE);
int networkType = teleMan.getNetworkType();
switch (network$ype)
[case %: netType \%R3\] Network3peed \slow\] break&
case ': netType \7#7\] Network3peed \slow\]break&
case : netType \PMT3\] Network3peed \&ediu&\]break&
case %: netType \!T7\] Network3peed \fast\]break&^
Want to test, but don*t want to tra+el?add etwork -ttenuator ibrary
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
/ttps:00git/ub.o&0dougsillars0FNA3a&pl
8/10/2019 Optimizing Your App for Real-World Networks Presentation
38/58
Network Aware: 2andwidt/
4 ,&ages all 5(5xG))V 2ig: *+4 2
Mediu&: +* 2
3&all: (G 2
switch(NetworkSpeed)$
case %fast%&new '!ageDownloader().e#ecte(rlig);
reak;
case %!edi!%&
new '!ageDownloader().e#ecte(rl!ed);
reak;
case %slow%&new '!ageDownloader().e#ecte(rls!all);
reak;
*
pg Luality:D)=5)=
*)=' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty./ttps:00git/ub.o&0dougsillars0FNA3a&pl
8/10/2019 Optimizing Your App for Real-World Networks Presentation
39/58
Network Aware: 2andwidt/ 4 ,&ages all 5(5xG))V
2ig: *+4 2
Mediu&: +* 2
3&all: (G 2
pg Luality:D)=5)=*)=
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
40/58
2andwidt/ Test Results
$. (0) 12$S(0)
.30.('0)
2,*+4 2V
*.D4< 5.(+4 D.+)5
#ownload ,&age:Not Network AwareFlexibly Network Aware
Mediu& +*2V
(.GD4
3&all (G2V
4.+)*
%erfor&aneain
D+= *GG=
Code:' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
5))&s in delay:(@= frustration inrease
8/10/2019 Optimizing Your App for Real-World Networks Presentation
41/58
2andwidt/ Test Results$. (0) 12$S
(0).30.('0)
2,*+4 2V
*.D4< 5.(+4 D.+)5Mediu& +*2V
(.GD4
3&all (G
2V
4.+)*
%erfor&aneain
D+= *GG=C/anging 6le sie eLualies t/e PZ arossnetwork onditions.
2eing Flexibly Network Aware signi6antly
i&pro$es t/e end user experiene
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
42/58
2andwidt/ Test Results$. (0) 12$S
(0).30.('0)
2,*+4 2V
*.D4< 5.(+4 D.+)5Mediu& +*2V
(.GD4
3&all (G
2V
4.+)*
%erfor&aneain
D+= *GG=Real-ti&e t/roug/put of 6les:
5#/s (a+g) $. (0)12$S(0)
.30.('0)
2, *+42V
G4.< (G.4 *5.(
Mediu& +*2V
*+.G
3&all (G
2V
G.D
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
43/58
Flexibly Network Aware Ar/iteture
W/y we need it
W/at it is01ow to test
"ode i!ple!entations 2andwidt/
atency Roa&ing
3u&&ary' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
44/58
!ateny
Round Trip Ti&e RTTV 2iggest onern is Xlast &ile
(: 4))&s-*s
4: *))-5))&s
+: O*))&s
#istane to Tower
Congestion
/ttps:00www.ikr.o&0p/otos0irisp/otos0@@@
8/10/2019 Optimizing Your App for Real-World Networks Presentation
45/58
Network Aware: !ateny
et data `loserK to usto&ers Pse a C#N
RTT fro& 2oston to !ondon: 54 &s
2oston to 3ydney: *@(&s
et ,% lists fro& arriers to &ap ,% toloations ReLuest a opy of AT"TKs %ubli ,% Ranges
#o at /ttp:00de$eloper.att.o&0support
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
Fl ibl N t k A
8/10/2019 Optimizing Your App for Real-World Networks Presentation
46/58
Flexibly Network Aware:!ateny
pri"ate +it!ap download+it!ap(String rl) $
ong start = !yste".currentTimeMillis();
final Defalt,ttpClient client = new Defalt,ttpClient();
final ,ttp-et gete/est = new ,ttp-et(rl);
try $,ttpesponse response = client.e#ecte(gete/est);
##c$eck %&& O' or success
inal int statusCode = response.get!tatusine().get!tatusCode();
ong gotresponse = !yste".currentTimeMillis();
0*
final ,ttp1ntity entity = response.get1ntity();
if (entity 2= nll) $
'nptStrea! inptStrea! = nll;
try $
inptStrea! = entity.getContent();
final +it!ap it!ap = +it!ap3actory.decodeStream(inputStream);
ong goti"age = !yste".currentTimeMillis();
responseti"e = gotresponse start; i"ageti"e = goti"agestart;
retrn it!ap;
*
responseti&e (RTT
i&ageti&e ti&e to download
6le' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
/ttps:00git/ub.o&0dougsillars0FNA3a&pl
8/10/2019 Optimizing Your App for Real-World Networks Presentation
47/58
FNA: !ateny
Measured fro& ode. ,nludes Network and ser$erlateny !ots of ux in RTT &easure&ents. Pse a running a$erage.
$. (0) 12$S(0)
.30.('0)
RTT *5D +G5 G++
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
48/58
!ateny: !ow Congestion
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty./ttps:00i.kr0p0aaYk#t
8/10/2019 Optimizing Your App for Real-World Networks Presentation
49/58
!ateny: 1ig/ Congestion
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
/ttps:00i.kr0p0Dw
8/10/2019 Optimizing Your App for Real-World Networks Presentation
50/58
FNA: !ateny Measure&ents
Measured fro& ode. ,nludes Network and ser$er lateny !ots of ux in RTT &easure&ents. A$erage se$eral before &aking ras/ /anges.
%lae Network Attenuator Network Congestion at 5)=.
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
(!s) $. .30.RTT
8/10/2019 Optimizing Your App for Real-World Networks Presentation
51/58
!ateny 3a&ple App
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
i6 (I!ages#elowthe7old8')9 Oget next bat/ of i&agesU
^
3
-r
oll
8/10/2019 Optimizing Your App for Real-World Networks Presentation
52/58
!ateny
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
Nor&al !ateny
1ig/ !ateny
i6 (I!ages#elowthe7old8')9 Oget next bat/ of i&agesU ^
I6 (latency nor!al)9 i6 (I!ages#elowthe7old8')9 8get ne;t batch o6 i!ages< =
=.lse 9 //latency is high i6 (I!ages#elowthe7old8)9 8get ne;t batch o6 i!ageser lig/ter site. Co&pare to Xslow
' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
56/58
Flexibly Network Aware Ar/iteture
W/y we need it
W/at it is01ow to test
Code i&ple&entations 2andwidt/
!ateny Roa&ing
Su!!ary' ()*+ AT"T ,ntelletual %roperty. All rig/ts reser$ed. AT"T and t/e AT"T logo are trade&arks of AT"T ,ntelletual %roperty.
8/10/2019 Optimizing Your App for Real-World Networks Presentation
57/58
8/10/2019 Optimizing Your App for Real-World Networks Presentation
58/58
T/ank You
AT"T Network Attenuator Free tool wit/ signed 3# agree&ent
Test $arious Network Conditions
AT"T AR9 Free 9pen 3oure
Test Network %erfor&ane
ennifer.!eongEatt.o& Eenleongatt
Top Related