extreme web performance for mobile devices - velocity barcelona 2014

166
extreme web performance for mobile devices maximiliano @rtman rt.mobi Barcelona, Nov 19 2014

Upload: maximiliano-firtman

Post on 02-Jul-2015

1.238 views

Category:

Technology


1 download

DESCRIPTION

Slides for the workshop "Extreme Web Performance for Mobile Devices" at Velocity Barcelona 2014

TRANSCRIPT

Page 1: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

extreme web performance for mobile devices

maximiliano @firtman firt.mobi

Barcelona, Nov 19 2014

Page 2: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 3: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 4: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

NEW!SOON!

Page 5: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 6: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Slides, links and tests firtman.github.io/velocity

Page 7: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

questions

yes, please

QA at the end

(en español también)

Page 8: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

performance + mobile + web

1- Mobile Web today 2- Performance & Mobile 3- Tools 4- Initial loading & perception 5- Responsiveness & experience

Page 9: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 10: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

1- mobile web today*

*today: november 2014

Page 11: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

1- mobile web today

- Web Platforms - The Android’s problem

Page 12: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

Page 13: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

iOS and Android

web platforms

Page 14: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Adobe Digital Index NetMarketShare Akamai.io Wikimedia Stats StatCounter MOVR by WURFL

web platformsLinks at firtman,github.io/velocity

Page 15: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platformsOthers

4%

Windows Phone 3%

Opera 5%

iOS50%

Android38%

Page 16: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

iOS50%

Safari100%

Page 17: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

iOS50%

Apps (Web View) 12%

Safari88%

Page 18: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

iOS50%

7.x 40%

6.x5%

8.x55%

Source: Apple

Page 19: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

InApp iOS 5%

Safari iOS720%

Safari iOS825%

Android38%

Page 20: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

Android38%

Page 21: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

Android38% Browser

60%

Chrome40%

Page 22: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 23: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

1% month

Page 24: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 25: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

Page 26: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

Page 27: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

Page 28: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

LG G3

Page 29: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

Android38%

Samsung20%

Browser40%

Chrome40%

Page 30: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 31: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 32: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 33: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

iOS50%

Android38%

Page 34: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

web platforms

Samsung10%

Android15%

Others4%

Windows Phone 3%

Opera 5%InApp iOS

5%

Safari iOS720%

Safari iOS825%

Chrome14%

Others?

• Firefox • UC Browser • Nokia Browser • BlackBerry Browser

Page 35: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

1- mobile web today

- Understand the real ecosystem - Android browsers - Don’t think you are an average user - May change future

Page 36: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

2- mobile & performance

- Perception - Differences - Cellular networks - Responsive Web Design

Page 37: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

immediate feedback 100ms

perception

Jakob Nielsen - Usability Engineering

Page 38: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

immediate feedback 100ms

losing user’s flow of thoughts 1s

perception

Jakob Nielsen - Usability Engineering

Page 39: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

500ms delay, +26% user’s frustration

perception

Source: Radware

Page 40: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

why do we need special care on mobile?

Page 41: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

CPU and GPU

Memory

differences

Page 42: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

CPU and GPU

Memory

differences

5x

Page 43: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Wifi

differences

Page 44: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Wifi, public spaces?

differences

Page 45: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Cellular connections

differences

Page 46: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

We have 4G! We don't need to worry about performance...

(

)

Page 47: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

cellular

0

25

50

75

100

US Western Europe Asia Global

4G 2G/3G

Only 4% is on 4G globally

Page 48: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

cellular

0

25

50

75

100

US Western Europe Asia Global

4G 2G/3G

~30% of the time 4G was not used

Page 49: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Real Bandwidth (Mbps)cellular networks

0 2 4 6 8

2G 3G Wifi 4G

Page 50: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

RTT - latencycellular networks

2G

3G

4G

Home

0 250 500 750 1000

Min Max

Page 51: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

latency

request

bandwidth

Page 52: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Safari, Chrome, Android 71%91%

Page 53: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

1%

7%

18%

Other non-Android, non-iOS 10%

Safari, Chrome, Android 71%91%

Page 54: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

responsive web design

Page 55: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 56: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Responsive Web Design is a TOOL

Page 57: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Responsive Web Design is NOT a GOAL

Page 58: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Users DON’T care if your site is RESPONSIVE

(in terms of RWD)

Page 59: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Users DO care if the site is FAST

Page 60: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Page size

mobile vs desktop

responsive web design

Much smaller6%

Slightly smaller22%

Same Size72%

Source: guypo.com

Page 61: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Superbowl advertisers

mobile approach

responsive web design

Responsive site50%

Desktop7%

Mobile 43%

Source: blogs.keynote.com

Page 62: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 63: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 64: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

2- mobile and performance

- Perception: 1s threshold - RTT latency - Test on low hardware and 2G/3G

Page 65: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

3- tools

Page 66: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

3- tools- where - measuring loading times - measuring responsiveness - online tools - html5 apis

Page 67: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Simulator & Emulator

Real device

where

Page 68: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

emulators

Samsung10%

Android15%

Others4%

Windows Phone 3%

Opera 5%

InApp Browser iOS 5%

Safari iOS45%

Chrome14%

Page 69: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

emulators

Samsung10%

Android15%

Others4%

Windows Phone3%

Opera 5%

InApp Browser iOS 5%

Safari iOS45%

Chrome14%

Page 70: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

emulators

Samsung10%

Android15%

Others4%

Windows Phone 3%

Opera 5%

InApp Browser iOS 5%

Safari iOS45%

Chrome14%

Page 71: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

DEMO

Page 72: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

online tools

Page 73: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

online tools

Page 74: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

online tools

Page 75: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

online tools

Page 76: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

remote inspectors

Page 77: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

remote inspectors

Samsung10%

Android14%

Others4%

Windows Phone3%

Opera 5%

InApp Browser iOS 5%

Safari iOS45%

Chrome15%

Page 78: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Measuring

DEMO

Page 79: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Proxies / Network sniffers

• Charles Proxy • Fiddler

tools

Image from telerik fiddler

Page 80: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Connection simulators

• Network link conditioner (Mac/iOS) • Charles Proxy • Clumsy for Windows • Net Limiter for Windows • SlowyApp for Mac • Chrome Developer Tools

tools

Page 81: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

html5 apis

Page 82: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Navigation Timing API

• window.performance • Timestamps available

html5 apis

Page 83: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

navigation timing api

Samsung12%

Android*12%

Others4%

Windows Phone3%

Opera 5%

InApp Browser iOS5%

Safari iOS45%

Chrome15%

* Android browser only from 4.0

Page 84: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 85: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Navigation Timing APIhtml5 apis

:)

Page 86: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Navigation Timing APIhtml5 apis

:/.1

Page 87: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

iOS SDK Release Notes for iOS 8.1html5 apis

Page 88: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Navigation Timing APIhtml5 apis

DEMO

Page 89: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Resource Timing API• Information per resource • Chrome and IE11 only

html5 apis

Page 90: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Network information API

• Android Browser, Silk (spec #1) type • BlackBerry 10, old Firefox (spec #2) bandwidth • Firefox, Chrome for Android 38+ (spec #3) type

html5 apis

Page 91: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

3- tools

- Learn where to test - Measure loading times - Measure responsiveness - HTML5 APIs

Page 92: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

4- initial loading & perception

Page 93: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

4- initial loading & perception- 1 second threshold - classic checklist - ATF and the rest - responsive web design - future visits

Page 94: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 95: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 96: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 97: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 98: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Image from developers.google.com

Page 99: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 100: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

What!!? Do you expect a page load in 200ms?

(

)

Page 101: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

No really, we just need the PERCEPTION

Page 102: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Let’s see HOW

Page 103: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 104: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

= REDIRECTS

Page 105: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Redirects

• From 150 to 1000 ms per redirect • mydomain.com -> m.mydomain.com • URL shorteners

Page 106: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Redirects

DEMO

Page 107: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014
Page 108: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

= APP BANNER

Page 109: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

= APP SPAM

Page 110: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

• From 1 to 5s

Page 111: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

idontwantyourfuckingapp.tumblr.com

Page 112: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Basic browser behavior

• Network Fetch • Parsing • Rendering

Page 113: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Basic browser behavior

HTML

JS CSS

Page 114: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Basic browser behavior

HTML

JS CSSBLOCKS PARSING BLOCKS RENDERING

Page 115: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

The 14K limit

Page 116: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

The 14K limit

• TCP slow start • Initial congestion window: ~14.6Kb (compressed) • > 14Kb will create another roundtrip

RTT

Page 117: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

We need to separate ABOVE THE FOLD (ATF)

content

Page 118: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

ATF in 1s = 1 RTT ~ < 14Kb

HTML + CSS + JavaScript Images?

ATF

Page 119: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Avoid JavaScript frameworks

• Embrace Vanilla JS • If you really need them, load them after ATF • Think on alternatives or partial frameworks

ATF

Page 120: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Careful with Data URI in CSS

• Images are non-blocking by default • Using Data URI in CSS creates blocking images • Use them only on non-ATF external CSS

ATF

Page 121: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Compress resources

• Use Gzip in HTTP • For text-based files only

Page 122: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Client side rendering

• Careful with client-side frameworks • Try to render the initial view server-side • Render at least a basic view

ATF

Page 123: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Client side rendering

• Careful with client-side frameworks • Try to render the initial view server-side • Render at least a basic view

ATF

5x

Page 124: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Web Fonts• Blocks text rendering • Fonts are bigger than 14Kb • Use them with care • Remove characters • Simplify glyphs

ATF

Page 125: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Responsive Web Design

Page 126: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Responsive Web Design

• Media queries block rendering (all of them) • ATF content on mobile is not the same

Page 127: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

DON’T rely on RWD techniques only

for first view

Page 128: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

RESPONSIVE WEB DESIGN is the future

Page 129: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

We are not saying go m.*

Page 130: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Responsive Web Design

• Using same URL for mobile/desktop still a good a idea • Mix it with RESS / adaptive web design • Load media queries CSS async • Use server-side libraries • WURFL or DeviceAtlas

Page 131: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

After ATF is ready

• Load rest of your content • Gain experience while rendering ATF: current performance, screen density, bandwidth • Make decisions: HD/SD

Page 132: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Async scripts

<script async src=""></script> HTML5

Page 133: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Defer non-ATF CSS

• No defer or async attributes (yet) • Inject <link> after rendering • load, requestAnimationFrame

Page 134: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Speed future visits

• Be cache friendly • Use Application Cache for ATF content • Create a custom cache

Page 135: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

4- initial loading & perception

- ATF in 1s (illusion) - No redirects, GZip, no scripts - Only ATF CSS, careful with fonts - Defer anything else

Page 136: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

5- responsiveness & experience

Page 137: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

4- responsiveness & experience

- consistent frame rate - immediate feedback - scrolling - your new enemy

Page 138: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Keep framerate high and consistent

• Main UI thread as free as possible • Avoid repainting (software bitmap calculations)

consistent fps

Page 139: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

JavaScriptframerate

• Avoid DOM manipulations inside loops/scroll

var e = document.querySelector("#test");for (var i=0; i<100; i++) { // change e attributes });

JAVASCRIPT

Page 140: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

CSSframerate

• Promote GPU layers smartly selector {

-webkit-transform: translateZ(0); -webkit-perspective: 1000; }

selector { z-index: 10; }

CSS

Page 141: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Animationsframerate

• Don’t animate from JavaScript for basic stuff • Use requestAnimationFrame

Page 142: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

remember 100ms immediate feedback?

Page 143: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Immediate feedback

• The 300ms delay

• mobile viewport (“user-scalable=no” on some browsers) • FastClick solution

Page 144: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Immediate feedback

• FastClick solution

Page 145: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Immediate feedback

• Mobile Viewport on Chrome

<meta name=viewport content="width=device-width">

HTML

Page 146: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Immediate feedback

• Mobile Fixed Viewport on IE <meta name=viewport content="width=device-width, user-scalable=no" >

HTML

Page 147: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Immediate feedback

• CSS on IE html { -ms-touch-action: manipulation; touch-action: manipulation; }

CSS

Page 148: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Distract the user

Page 149: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Storage for immediate feedback

• web storage vs web sql vs indexeddb • think about async vs sync • Finally IndexedDB on iOS 8!

Page 150: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

navigator.geolocation .getCurrentPosition(cbOK, cbKO, { maximumAge: 60000 });

JAVASCRIPT

Geolocation cache

Page 151: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Scrolling

Page 152: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Scrolling

• avoid re-painting • use touch overflow for momentum • don’t use JavaScript scrollers • on large scrolling areas: copy native

Page 153: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Large scrolling areas

Let’s copy native frameworks: • iOS: UITableView • Android: ListView & Adapters

Page 154: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Large scrolling areas

• Object pool

Page 155: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Infinite scroll

• DOM vs. iframe vs. object pool • changes on iOS8

Page 156: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Your new enemy

Page 157: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

NOT THE USER

Page 158: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

YOUR DESIGNER

Page 159: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Careful with some design features

• GPU vs CPU repaint • Important on scroll, transitions & animations

Page 160: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Careful with some design features

• Transforms: translate, scale, rotate and opacity GPU • border-radius, gradients, shadows, filters CPU repaint

Page 161: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

5- responsiveness & experience- 100s feedback - Consistent fps - Avoid CPU repaints - Embrace GPU smartly - Profile & test

Page 162: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Picture from Simon Howden freedigitalphotos.net!

Picture from Simon Howden freedigitalphotos.net!

uf! we've covered a lot!

Page 163: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

1- Mobile Web today 2- Mobile Performance 3- Tools 4- Initial load & perception 5- Responsiveness & experience

Page 164: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

Slides, links and tests firtman.github.io/velocity

Page 165: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

final thoughts

- measure and profile on the real world - don’t redirect, reduce requests - atf content in 1s, defer the rest - be simple, be aggressive

Page 166: Extreme Web Performance for Mobile Devices - Velocity Barcelona 2014

you can reach a good experience

Pictures)from)freedigitalphotos.net)

[email protected]@firt

firt.mobi/pmw firt.mobi/mh5

50% OFF!