40
@MichSinn Michael Sinner 1 Mobile Performance Tuning Michael Sinner SEO CAMPIXX 2012

Trg mobile-performance-tuning-msi campixx-22022012_pub

Embed Size (px)

DESCRIPTION

Mobile Web Performance optimieren. Was ist Performance, wie kann ich diese bei Mobile messen und was sind die Best Practices?

Citation preview

Page 1: Trg mobile-performance-tuning-msi campixx-22022012_pub

@MichSinn  -­‐  Michael  Sinner   1  

Mobile  Performance  Tuning  

Michael  Sinner  

SEO  CAMPIXX  2012  

Page 2: Trg mobile-performance-tuning-msi campixx-22022012_pub

Um  was  geht  es?  

@MichSinn  -­‐  Michael  Sinner   2  

0,00%  

20,00%  

40,00%  

60,00%  

80,00%  

100,00%  

1920   1925   1930   1935   1940   1945   1950   1955   1960   1965   1970   1975   1980   1985   1990   1995   2000   2005   2010  

Technologische  Verbreitung,  gemessen  nach  Penetra:on  im  Endnutzersegment  in  den  USA  

Radio   TV   Internet   Mobile  Internet  

In  Anlehnung  an  Mary  Meeker,  PräsentaNon  „Internet  Trends  2011“  Internet  Trends  –  Web  2.0  Summit  San  Francisco,  CA  –  18.10.2011  

Page 3: Trg mobile-performance-tuning-msi campixx-22022012_pub

Smartphones  

Tablet-­‐Computer  

Netbooks  

Notebooks  

Desktops  

StaNonäre  Systeme  

2011  verkauEe  Einheiten  in  Mio.  

Smartphones   Tablet-­‐Computer   Netbooks   Notebooks   Desktops  

Um  was  geht  es?  

@MichSinn  -­‐  Michael  Sinner   3  

Quelle:  CanalysesNmates  ©  Canalys  2012  h\p://www.canalys.com/staNc/press_release/2012/canalys-­‐press-­‐release-­‐030212-­‐smart-­‐phones-­‐overtake-­‐client-­‐pcs-­‐2011_0.pdf  

54  %  46  %  

Page 4: Trg mobile-performance-tuning-msi campixx-22022012_pub

Desktop   Laptop   Tablet   Smartphone  

CPU   Quad  2.1  Ghz   Dual  2.1  Ghz   Dual  1.2  Ghz   Dual  1  Ghz  

RAM-­‐Speicher   4GB   2GB   1GB   512MB  

HDD   1  Terrabyte   420  GB   32GB   8GB  

Verbindung   1Gbps   54Mbps   54Mbps   10Mbps  

Was  bekomme  ich  heute  für  500,-­‐  €  ?  

@MichSinn  -­‐  Michael  Sinner   4  

Page 5: Trg mobile-performance-tuning-msi campixx-22022012_pub

Um  was  geht  es?  

@MichSinn  -­‐  Michael  Sinner   5  

Quelle:  Steve  Souders,  h\p://stevesouders.com/docs/mobilism-20110513.pptx  

Page 6: Trg mobile-performance-tuning-msi campixx-22022012_pub

Die  Herausforderungen  der  Performance  Op:mierung  

@MichSinn  -­‐  Michael  Sinner   6  

Quelle:  Jon  Jenkins  (amazon.com),  Velocity  Conference  Berlin  –  8.11.2011  h\p://assets.en.oreilly.com/1/event/74/Introducing%20the%20Amazon%20Silk%20Web%20Browser%20PresentaNon.pdf  

W3C  mobile  page  size  limit  

Page 7: Trg mobile-performance-tuning-msi campixx-22022012_pub

Performance  Op:mierung  bei  amazon.com  

@MichSinn  -­‐  Michael  Sinner   7  

Quelle:  Jon  Jenkins  (amazon.com),  Velocity  Conference  Berlin  –  8.11.2011  h\p://assets.en.oreilly.com/1/event/74/Introducing%20the%20Amazon%20Silk%20Web%20Browser%20PresentaNon.pdf  

Was  tun,  wenn  man  nicht  amazon.com  ist?  

Page 8: Trg mobile-performance-tuning-msi campixx-22022012_pub

Agenda  

Was  ist  (Mobile)  Performance?  

Wie  Mobile  Performance  messen?  

Was  sind  die  Best-­‐PracNces?  

Fazit  

8  @MichSinn  -­‐  Michael  Sinner  

Page 9: Trg mobile-performance-tuning-msi campixx-22022012_pub

Agenda  

+  Was  ist  (Mobile)  Performance?  

Wie  Mobile  Performance  messen?  

Was  sind  die  Best-­‐PracNces?  

Fazit  

9  @MichSinn  -­‐  Michael  Sinner  

Page 10: Trg mobile-performance-tuning-msi campixx-22022012_pub

Ist  Performance  wich:g?  

@MichSinn  -­‐  Michael  Sinner   10  

Was  tun,  wenn  man  nicht  Amazon.com  ist?  

Quelle:  Jake  Brutlag  (Google),  Eric  Schuman  (bing)  –  Velocity  Conference,  San  Jose  CA  23.6.2011  h\p://velocityconf.com/velocity2009/public/schedule/detail/8523  

Page 11: Trg mobile-performance-tuning-msi campixx-22022012_pub

Performance  ist  relevant!  

@MichSinn  -­‐  Michael  Sinner   11  

Quelle:  Jake  Brutlag  (Google),  Eric  Schuman  (bing)  –  Velocity  Conference,  San  Jose  CA  23.6.2011  h\p://velocityconf.com/velocity2009/public/schedule/detail/8523  

Page 12: Trg mobile-performance-tuning-msi campixx-22022012_pub

Performance,  der  relevanteste  Faktor?  

@MichSinn  -­‐  Michael  Sinner   12  

“First and foremost, we believe that speed is more than a feature. Speed is the most important feature.”  

Quelle:  Fred  Wilson  –  Future  Web  Apps  Conference,  Miami  FL,  Feb.  2010  h\p://vimeo.com/10510576  

Page 13: Trg mobile-performance-tuning-msi campixx-22022012_pub

Ultraschnell  ist  wich:g  

@MichSinn  -­‐  Michael  Sinner   13  

ultraschnell  überlegene  Leistung  und  Geschwindigkeit  

superschnell  

Page 14: Trg mobile-performance-tuning-msi campixx-22022012_pub

Noch  schneller  

@MichSinn  -­‐  Michael  Sinner   14  

schnellere  

Verdoppeln...  Datengeschwindigkeit  

schnelleres  

schnell  

Page 15: Trg mobile-performance-tuning-msi campixx-22022012_pub

Was  ist  Performance?  

@MichSinn  -­‐  Michael  Sinner   15  

Page 16: Trg mobile-performance-tuning-msi campixx-22022012_pub

Back-­‐  und  Frontend  bei  Performance  

@MichSinn  -­‐  Michael  Sinner   16  

Backend   Frontend  

“80-­‐90%  of  the  end-­‐userresponse  2me  is  spent  on  the  frontend.    Start  there.”  

Page 17: Trg mobile-performance-tuning-msi campixx-22022012_pub

p (w) = d * t

d: Summe  der  zu  übertragenden  Datenmenge  

t: Zeit  

Performance  berechnen  

@MichSinn  -­‐  Michael  Sinner   17  

Dynamische  Inhalte?  InformaNonsdarstellung?  Übertragungszeit/-­‐Störung  der  Verbindung?  

Page 18: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Performance  ist  Basis  für  Erfolg  Oder:  Performance  (vortäuschen)  macht  erfolgreich  

  Keine  harten  Zahlen  für  Vergleichbarkeit  möglich  Schon  gar  nicht  bei  Mobile  

  QuanNtaNve  Faktoren  genauso  wichNg  wie  qualitaNve  Faktoren  Zum  Beispiel:    Dateigröße  (Gesamt  oder  einzelne  Einheiten)  

  BenöNgte  Verbindungen  (HTTP-­‐Requests,  Lookups)    Übertragungszeit    Übersichtlichkeit    InformaNonsdarstellung    ...  

Erste  Learnings  

@MichSinn  -­‐  Michael  Sinner   18  

Page 19: Trg mobile-performance-tuning-msi campixx-22022012_pub

Agenda  

Was  ist  (Mobile)  Performance?  

+  Wie  Mobile  Performance  messen?  

Was  sind  die  Best-­‐PracNces?  

Fazit  

19  @MichSinn  -­‐  Michael  Sinner  

Page 20: Trg mobile-performance-tuning-msi campixx-22022012_pub

„Das  Op2mum  ist  die  Lösung,  die  unter  mehreren  Op2mierungszielen  op2mal  ist.“  

  Das  Ziel  ist  nicht  eindeuNg.  Und  nicht  für  jeden  gleich.  

Kennzahlen  zur  Op:mierung  

@MichSinn  -­‐  Michael  Sinner   20  

Page 21: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Hürden:    Datenübertragungsrate  schwankt  sehr  stark    Geringe  Vergleichbarkeit  der  Ergebnisse    Datenerhebung  aufwändiger  

  Erste  Ansätze:  Auf  staNonären  Rechnern  mit  User-­‐Agent  Daten  sammeln?  Wie  eine  vergleichbare  Systemlandschat  schaffen?  

  Lösungen:    Mobil  Daten  sammeln,  lokal  auswerten  

  Lokal  Daten  sammeln  durch  Emulatoren/Proxies  

Herausforderungen  bei  der  Mobile  Performancemessung  

@MichSinn  -­‐  Michael  Sinner   21  

Page 22: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Auswertungen  aus  Tools  auf  dem  Mobilgerät  im  Browser  sammeln    In  der  Cloud  verwalten  als  .JSON-­‐File  

  Auf  lokalem  Rechner  auswerten  

Mobil  Daten  sammeln,  lokal  auswerten  

@MichSinn  -­‐  Michael  Sinner   22  

Page 23: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Durch  Lesezeichen  FunkNonen  über  JS  laden    Vielzahl  an  FunkNonen,  analog  zu  Desktop  

  Datenhaltung  in  der  Cloud  zur  Auswertung  möglich  

Bookmarks  als  Tools  

@MichSinn  -­‐  Michael  Sinner   23  

Page 24: Trg mobile-performance-tuning-msi campixx-22022012_pub

  HTML  Inhalte  auf  einem  Mobilgerät  analysieren    CSS  und  HTML  Elemente  untersuchen  und  verändern  

  Detaillierte  Analyse  

FirebugLite  im  Firefox  Mobile  

@MichSinn  -­‐  Michael  Sinner   24  

Page 25: Trg mobile-performance-tuning-msi campixx-22022012_pub

  YSlow  direkt  auf  Smartphone  ausführen    Bewertung  der  Performance  einer  Mobilversion  

  Unterscheidung  in  viele  Performancekategorien  

Yslow  als  Webapp  

@MichSinn  -­‐  Michael  Sinner   25  

Page 26: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Das  DataObjectModel  einer  Webseite  analysieren    Tipps  und  Auswertungen  im  Tool  

Das  DOM-­‐Monster  bekämpfen  

@MichSinn  -­‐  Michael  Sinner   26  

Page 27: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Gibt  Ladezeit  einer  Seite  wieder  

Ladezeiten  berechnen  

@MichSinn  -­‐  Michael  Sinner   27  

Page 28: Trg mobile-performance-tuning-msi campixx-22022012_pub

  HTML  auf  Mobile  Browser  anzeigen  lassen    Externe  Elemente  anzeigen  lassen  

  Sinnvoll:  Übertragung  zu  JDROP  

Quelltext  analysieren  

@MichSinn  -­‐  Michael  Sinner   28  

Page 29: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Bryan  McQuade  vom  Google  Page  Speed  Team    P(acket)Capture  Format  sammelt  Bewegungsdaten  im  Netzwerk  (z.B.  über  Wireshark)  

  Daten  Sammeln  über  ein  eigenes  WLAN-­‐Netz  

  PCAP-­‐Datei  über  h\p://pcapperf.appspot.com/  (Google  Page  Speed)  auswerten  lassen  

PCAPPerf.appspot.com  

@MichSinn  -­‐  Michael  Sinner   29  

Page 30: Trg mobile-performance-tuning-msi campixx-22022012_pub

Agenda  

Was  ist  (Mobile)  Performance?  

Wie  Mobile  Performance  messen?  

+  Was  sind  die  Best-­‐Prac:ces?  

Fazit  

30  @MichSinn  -­‐  Michael  Sinner  

Page 31: Trg mobile-performance-tuning-msi campixx-22022012_pub

Alle  machen  Umleitungen!  Wieso?  

GET  h\p://www.beispiel.de/  DNS-­‐Lookup  HTTP-­‐Request  

Redirect  h\p://m.beispiel.de/  

GET  h\p://m.beispiel.de/  HTTP-­‐Request  

301  Redirect  h\p://m.beispiel.de/iphone  

GET  h\p://m.beispiel.de/iphone  

200  OK  

Auf  Umleitungen  verzichten  

@MichSinn  -­‐  Michael  Sinner   31  

Im  Durchschni\  30%  größere  HTTP-­‐Header  bei  Mobile!  

Page 32: Trg mobile-performance-tuning-msi campixx-22022012_pub

Cloaking  ist  das  neue  Mobile  SEO  

@MichSinn  -­‐  Michael  Sinner   32  

Page 33: Trg mobile-performance-tuning-msi campixx-22022012_pub

  So  wenige  Verbindungen  wie  möglich  erzwingen!  

HTTP-­‐Requests  bedeuten  Verbindungen  

@MichSinn  -­‐  Michael  Sinner   33  

Quelle:  Maximiliano  Firtman,  Velocity  Conference  Juni  2010  h\p://www.slideshare.net/firt/mobile-­‐web-­‐high-­‐performance  

Page 34: Trg mobile-performance-tuning-msi campixx-22022012_pub

Das  Packet-­‐System  

@MichSinn  -­‐  Michael  Sinner   34  

Inline  Grafiken  im  HTML    

CSS-­‐Sprite  Grafiken  

Libraries  (JavaScript,  etc.)  

Font-­‐Pictogramme  

h\p://www.thebuzzmedia.com/cat-­‐box-­‐sizng-­‐is-­‐a-­‐law-­‐of-­‐nature/  

Page 35: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Keep  It  (Short  and)  Simple,  Stupid  KISS  

  KEINE  iFrames!  

  Mehr  CSS  

  Weniger  aufwendigen  Schnickschnack  

Minimierung  der  Rohdaten  

@MichSinn  -­‐  Michael  Sinner   35  

Page 36: Trg mobile-performance-tuning-msi campixx-22022012_pub

Komprimierung  

@MichSinn  -­‐  Michael  Sinner   36  

Alle  Inhalte  stärker  komprimieren  als  für  Breitband  Bilder  Videos  Audio  

Animierte  Grafiken  in  GIF-­‐Format  sta\  Flash  (oder  gleich  HTML5  für  AnimaNonen)  

GZip  im  Server  akNvieren,  auch  „beschränkte“  Browser  können  es!  Nicht  nur  HTML,  sondern  alle  per  HTTP-­‐Request  angeforderten  Inhalte  GZip‘en  

Page 37: Trg mobile-performance-tuning-msi campixx-22022012_pub

  „lazy  load“-­‐Modus  für  Dateien  (keine  „naNve“  Lösung,  aber  JS  tut  sein  bestes)  

  Zusätzliche  Dateien  von  Dri\parteien  immer  mit  2.  Priorität  versehen  –  zuerst  kommt  der  Nutzer!  

  Nicht  relevante  Inhalte  (below-­‐the-­‐fold)  bei  InterakNon  laden    Immer  einen  Schri\  voraus  laden  

(„Ich  weiß  was  du  letzten  Sommer  geklickt  hast“)  

  Direkt  benöNgte  Dateien  entsprechend  laden:    CSS  zu  Anfang    Script-­‐Elemente  zum  Schluss  (können  parallelen  Au|au  verhindern)  

Inhalte  dynamisch  nachladen  

@MichSinn  -­‐  Michael  Sinner   37  

Page 38: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Simple  Browser  unterstützen  expires-­‐header  InformaNonen  Immer  angeben!  

  (weitestgehend)  StaNsche  Elemente  immer  mit  „Mindesthaltbarkeitsdatum“  ausliefern  

  Cache-­‐RestrikNonen  beachten  (iPhone:  ca.  25kb  je  Datei,  500kb  Gesamt)  

  Mehr  Kontrolle  über  Cache  in  HTML5  Nutze  es!    

Mache  Caching  zu  deinem  Freund  

@MichSinn  -­‐  Michael  Sinner   38  

Page 39: Trg mobile-performance-tuning-msi campixx-22022012_pub

Agenda  

Was  ist  (Mobile)  Performance?  

Wie  Mobile  Performance  messen?  

Was  sind  die  Best-­‐PracNces?  

+  Fazit  

39  @MichSinn  -­‐  Michael  Sinner  

Page 40: Trg mobile-performance-tuning-msi campixx-22022012_pub

  Performance  ist  mehr  als  bloß  nackte  Zahlen  

  Mobile  Performance  ist  „unberechenbar“  

  Quick-­‐Win:  Keine  unnöNgen  Redirects  

  Im  Zweifel  immer  lieber  ein  HTTP-­‐Request  weniger  als  zuviel  

  HTML  5  rockt!  

Was  haben  wir  heute  gelernt?  

@MichSinn  -­‐  Michael  Sinner   40