Optimizing Your App for Real-World Networks Presentation

  • Upload
    thranch

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

  • 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=55430
  • 8/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/93r5Jy
  • 8/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/93r5Jy
  • 8/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/downloads
  • 8/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