Mobile Web Speed Bumps

Nicholas Zakas
Nicholas ZakasFront End Guy at Box
Mobile Web Speed Bumps
        Don't let these problems slow your app down




Nicholas C. Zakas
Presentation Architect, Yahoo!
@slicknet
Who's this guy?




         Presentation       Contributor,
           Architect     Creator of YUI Test




Author     Lead Author   Contributor           Lead Author
http://www.flickr.com/photos/veggiefrog/3435380297/
http://www.flickr.com/photos/fkmr/48131497/
➔
          Latency
        ➔
          Device
        ➔
          Testing




http://www.flickr.com/photos/veggiefrog/3435380297/
Network latency is a time delay in delivering
         data to the client device
      Data transmission over the air always has latency
http://developer.yahoo.com/blogs/ydn/posts/2009/10/a_engineers_gui/
http://developer.yahoo.com/blogs/ydn/posts/2009/10/a_engineers_gui/
DNS




Web
DNS




Cell Co.


           Web
Mobile Web Speed Bumps
Mobile Web Speed Bumps
Mobile Web Speed Bumps
replace 'em with CSS where possible
Images
                             http://www.flickr.com/photos/calliope/83867359/
Use only CSS for simple images
Gradients | Rounded Corners | Drop Shadows | Text Shadows
Browser creates images = 0 HTTP requests
No
                                                        Images!
-webkit-border-radius: 16px;
border-radius: 16px;

-webkit-box-shadow: 0 8px 4px
rgba(192,192,192,0.5);
box-shadow: 0 8px 4px rgba(192,192,192,0.5);

background-image:-webkit-gradient(linear, 0%
0%, 0% 90%, from(rgba(64,64,64,0.75)),
to(rgba(192,192,192,0.9)));


http://www.schillmania.com/content/entries/2009/css3-and-the-future/
replace 'em with CSS where possible
Images   put 'em inline using data URIs


                             http://www.flickr.com/photos/calliope/83867359/
http://www.nczonline.net/blog/2009/10/27/data-uris-explained/
data:[<mime type>][;charset=<charset>][;base64],<encoded data>
data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7L
Zv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAA
AAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0EC
wLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFj
sVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7
<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeH
h0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf//
/yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0EC
wLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFj
sVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7">




    Data URIs can be embedded in HTML
           No more extra HTTP requests for images!
.icon1 {
    background: url(data:image/png;base64,<data>)
                no-repeat;
}

.icon2 {
    background: url(data:image/png;base64,<data>)
                no-repeat;
}




      Data URIs can be embedded in CSS
           No more extra HTTP requests for images!
http://www.flickr.com/photos/12714995@N03/5069508897/




                   But I already
                  have so many
                   CSS files that
                reference images!
http://github.com/nzakas/cssembed
java -jar cssembed-0.3.6.jar -o styles_data_uris.css styles.css
Data URIs are well-supported
 across smartphone browsers
http://www.flickr.com/photos/drb62/2543573955/




Data URIs not supported by
• Nokia Series 40
• Myriad/OpenWave
• Internet Explorer Mobile
• Motorola Browser
replace 'em with CSS where possible
Images   put 'em inline using data URIs
         if all else fails, make 'em small

                             http://www.flickr.com/photos/calliope/83867359/
320x480   768x1024
Large images not needed
http://tinysrc.net/
<img
src="http://i.tinysrc.mobi/http://example.com/myimage.png"
alt="My image">




    Automatically resizes images to viewport
<img
src="http://i.tinysrc.mobi/320/240/http://example.com/myima
ge.png"
 alt="My image" width="320" height="240">




    Automatically resizes image to 320x240
Mobile Web Speed Bumps
Put JavaScript and CSS inline*




* But only on first page view
Mobile Web Speed Bumps
http://m.bing.com
Request #1
  146 KB
   Request #2
     14 KB
RMSM=JApp.Home.DE384EBF~JUX.UXBaseControls.65310C41~J
UX.FrameworkCore.53E1E635~JUX.PublicJson.540180A4~JUX.Co
mpat.0907AAD4~JUX.MsCorlib.172D90C3~CUX.SiteLowRes.C8A1
DA4E~CApp.Home.FD66E1A3~CUX.Keyframes.B8625FEE~CUX.S
ite.18BDD93
RMSM=
 Japp.Home.DE384EBF~
 JUX.UXBaseControls.65310C41~
 JUX.FrameworkCore.53E1E635~
 JUX.PublicJson.540180A4~
 JUX.Compat.0907AAD4~
 JUX.MsCorlib.172D90C3~
 CUX.SiteLowRes.C8A1DA4E~
 Capp.Home.FD66E1A3~
 CUX.Keyframes.B8625FEE~
 CUX.Site.18BDD93
Mobile Web Speed Bumps
First Request



<style data-rms="save" id="CUX.Site.18BDD936"
rel="stylesheet" type="text/css">...</style>

<script data-rms="save"
id="JUX.UXBaseControls.65310C41"
type="text/javascript">...</script>
Second Request



<script
type="text/javascript">RMS.Load('CUX.Site.18B
DD936')</script>

<script
type="text/javascript">RMS.Load('JUX.UXBaseCo
ntrols.65310C41')</script>
How It Works
1. On first page load, inline all scripts and styles
2. Extract scripts and styles from page and store
   in localStorage
3. Set cookie with Ids of the scripts and styles in
   localStorage
4. On next page load, look at cookies
5. Output scripts instructing the browser to load
   that resource from localStorage
Extracting From The DOM

//extract inline script contents
var scriptNode =
        document.querySelector("script");
var scriptText = scriptNode.text;

//extract inline style contents
var styleNode =
        document.querySelector("style");
var styleText = styleNode.innerHTML;
Mobile Web Speed Bumps
40% of time
 on redirect   Download
               Redirect
➔
          Latency
        ➔
          Device
        ➔
          Testing




http://www.flickr.com/photos/veggiefrog/3435380297/
iPad 2


                                                     Droid
                           iPhone 4     Droid X    Incredible
              Mac Mini




Processor   2.2-2.4 GHz   1 GHz       1 GHz       1 GHz         1 GHz
RAM         2 GB          512 MB      512 MB      512 MB        512 MB
Storage     320-500 GB    16-32 GB    8 GB        8 GB          16-64 GB
http://www.flickr.com/photos/antonfomkin/3046849320/
Keep JavaScript small
Mobile Web Speed Bumps
Mobile Web Speed Bumps
Mobile Web Speed Bumps
All browsers now have
     optimizing JavaScript engines




Tracemonkey/    V8     Nitro   Chakra   Karakan
JaegarMonkey   (all)   (4+)     (9+)    (10.5+)
    (3.5+)
http://ie.microsoft.com/testdrive/benchmarks/sunspider/default.html
Mobile Web Speed Bumps
Mobile Web Speed Bumps
http://jeftek.com/1942/motorola-xoom-sunspider-results/
Mobile Web Speed Bumps
JavaScript Execution
         =
  CPU Processing
         =
Battery Consumption
Don't even think
  about using
  JavaScript-based
  animations

  CSS-based only




http://www.flickr.com/photos/eschipul/260392040/
Mobile Web Speed Bumps
Hardware Acceleration
    (Compositing)




  http://www.flickr.com/photos/pagedooley/3493267443/
Hardware accelerated
   CSS animations
No hardware acceleration
   before Android 3.0
Be careful with CSS
Trigger Compositing



.some-element {
    -webkit-transform: rotate(0);
}




                                    Any transform
                                       works!
http://www.flickr.com/photos/kkoshy/2825871499/




Non-composited elements work as you expect
http://www.flickr.com/photos/kkoshy/2825871499/




Composited elements become images
            in memory
http://www.flickr.com/photos/kkoshy/2825871499/




Each composited element takes up
     width x height x 4 bytes
Too many composited elements
             =
     High memory usage
             =
       Slow-moving UI
iOS doesn't support memory paging
https://bugs.webkit.org/show_bug.cgi?id=56917
CSS Gradients
(Keep 'em small)
CSS Gradients
(i.e. no full page backgrounds)
Radial gradients are heavy
        Use caution
If your app is sluggish, try
replacing CSS gradients with
     data URIs or images
Keep the DOM small
Remove unused elements
➔
          Latency
        ➔
          Device
        ➔
          Testing




http://www.flickr.com/photos/veggiefrog/3435380297/
d !
                                p e
                          a p
                    t c
               no
         r   y
   m   o
M e
http://www.blaze.io/mobile/
Mobile Web Speed Bumps
Mobile Web Speed Bumps
Mobile Web Speed Bumps
http://stevesouders.com/mobileperf/mobileperfbkm.php
Mobile Web Speed Bumps
Mobile Web Speed Bumps
Mobile Web Speed Bumps
Mobile Web Speed Bumps
Mobile Web Speed Bumps
Mobile Web Speed Bumps
http://jdrop.org
Mobile Web Speed Bumps
Mobile Web Speed Bumps
Summary
➔
          Latency
        ➔
          Device
        ➔
          Testing




http://www.flickr.com/photos/veggiefrog/3435380297/
Images | JavaScript | CSS | DOM
Balance
This is a new frontier.

The investigation has only just
started.

Test, test, test.

Share.




         http://www.flickr.com/photos/brent_nashville/201143283/
Etcetera
• My blog:
  www.nczonline.net

• Twitter:
  @slicknet

• These Slides:
  http://slideshare.net/nzakas/
1 of 101

Recommended

Browser Wars Episode 1: The Phantom Menace by
Browser Wars Episode 1: The Phantom MenaceBrowser Wars Episode 1: The Phantom Menace
Browser Wars Episode 1: The Phantom MenaceNicholas Zakas
77.4K views168 slides
Progressive Enhancement 2.0 (Conference Agnostic) by
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Nicholas Zakas
42.5K views125 slides
High Performance JavaScript (Amazon DevCon 2011) by
High Performance JavaScript (Amazon DevCon 2011)High Performance JavaScript (Amazon DevCon 2011)
High Performance JavaScript (Amazon DevCon 2011)Nicholas Zakas
4.6K views155 slides
[jqconatx] Adaptive Images for Responsive Web Design by
[jqconatx] Adaptive Images for Responsive Web Design[jqconatx] Adaptive Images for Responsive Web Design
[jqconatx] Adaptive Images for Responsive Web DesignChristopher Schmitt
31.4K views170 slides
Optimizing Sites for Mobile Devices by
Optimizing Sites for Mobile DevicesOptimizing Sites for Mobile Devices
Optimizing Sites for Mobile Devicesjameswillweb
5.5K views40 slides
do u webview? by
do u webview?do u webview?
do u webview?Steve Souders
7.1K views41 slides

More Related Content

What's hot

Prebrowsing - Velocity NY 2013 by
Prebrowsing - Velocity NY 2013Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013Steve Souders
4.3K views60 slides
High Performance Mobile Web by
High Performance Mobile WebHigh Performance Mobile Web
High Performance Mobile WebMorgan Cheng
3.4K views54 slides
High Performance Mobile (SF/SV Web Perf) by
High Performance Mobile (SF/SV Web Perf)High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)Steve Souders
18.6K views68 slides
Going Fast on the Mobile Web by
Going Fast on the Mobile WebGoing Fast on the Mobile Web
Going Fast on the Mobile WebJason Grigsby
30.3K views59 slides
How fast are we going now? by
How fast are we going now?How fast are we going now?
How fast are we going now?Steve Souders
37.5K views62 slides
Don't make me wait! or Building High-Performance Web Applications by
Don't make me wait! or Building High-Performance Web ApplicationsDon't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web ApplicationsStoyan Stefanov
20.6K views143 slides

What's hot(20)

Prebrowsing - Velocity NY 2013 by Steve Souders
Prebrowsing - Velocity NY 2013Prebrowsing - Velocity NY 2013
Prebrowsing - Velocity NY 2013
Steve Souders4.3K views
High Performance Mobile Web by Morgan Cheng
High Performance Mobile WebHigh Performance Mobile Web
High Performance Mobile Web
Morgan Cheng3.4K views
High Performance Mobile (SF/SV Web Perf) by Steve Souders
High Performance Mobile (SF/SV Web Perf)High Performance Mobile (SF/SV Web Perf)
High Performance Mobile (SF/SV Web Perf)
Steve Souders18.6K views
Going Fast on the Mobile Web by Jason Grigsby
Going Fast on the Mobile WebGoing Fast on the Mobile Web
Going Fast on the Mobile Web
Jason Grigsby30.3K views
How fast are we going now? by Steve Souders
How fast are we going now?How fast are we going now?
How fast are we going now?
Steve Souders37.5K views
Don't make me wait! or Building High-Performance Web Applications by Stoyan Stefanov
Don't make me wait! or Building High-Performance Web ApplicationsDon't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web Applications
Stoyan Stefanov20.6K views
Performance on the Yahoo! Homepage by Nicholas Zakas
Performance on the Yahoo! HomepagePerformance on the Yahoo! Homepage
Performance on the Yahoo! Homepage
Nicholas Zakas7.9K views
Web Page Test - Beyond the Basics by Andy Davies
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the Basics
Andy Davies17.5K views
High Performance HTML5 (SF HTML5 UG) by Steve Souders
High Performance HTML5 (SF HTML5 UG)High Performance HTML5 (SF HTML5 UG)
High Performance HTML5 (SF HTML5 UG)
Steve Souders15.3K views
HTTP 2.0 - Web Unleashed 2015 by dmethvin
HTTP 2.0 - Web Unleashed 2015HTTP 2.0 - Web Unleashed 2015
HTTP 2.0 - Web Unleashed 2015
dmethvin926 views
@media - Even Faster Web Sites by Steve Souders
@media - Even Faster Web Sites@media - Even Faster Web Sites
@media - Even Faster Web Sites
Steve Souders11.5K views
Web 2.0 Expo: Even Faster Web Sites by Steve Souders
Web 2.0 Expo: Even Faster Web SitesWeb 2.0 Expo: Even Faster Web Sites
Web 2.0 Expo: Even Faster Web Sites
Steve Souders6.6K views
Enough with the JavaScript already! by Nicholas Zakas
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!
Nicholas Zakas260K views
PrairieDevCon 2014 - Web Doesn't Mean Slow by dmethvin
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
dmethvin2.2K views
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm by Andy Davies
The Case for HTTP/2  - Internetdagarna 2015 - StockholmThe Case for HTTP/2  - Internetdagarna 2015 - Stockholm
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
Andy Davies2.7K views
State of jQuery June 2013 - Portland by dmethvin
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
dmethvin6.4K views
What does the browser pre-loader do? by Andy Davies
What does the browser pre-loader do?What does the browser pre-loader do?
What does the browser pre-loader do?
Andy Davies10.7K views
High Performance JavaScript - WebDirections USA 2010 by Nicholas Zakas
High Performance JavaScript - WebDirections USA 2010High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010
Nicholas Zakas59.7K views
Web Development for UX Designers by Ashlimarie
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
Ashlimarie 38.9K views
jQuery Conference San Diego 2014 - Web Performance by dmethvin
jQuery Conference San Diego 2014 - Web PerformancejQuery Conference San Diego 2014 - Web Performance
jQuery Conference San Diego 2014 - Web Performance
dmethvin6.7K views

Viewers also liked

Enterprise JavaScript Error Handling (Ajax Experience 2008) by
Enterprise JavaScript Error Handling (Ajax Experience 2008)Enterprise JavaScript Error Handling (Ajax Experience 2008)
Enterprise JavaScript Error Handling (Ajax Experience 2008)Nicholas Zakas
72.4K views52 slides
The Pointerless Web by
The Pointerless WebThe Pointerless Web
The Pointerless WebNicholas Zakas
7K views64 slides
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011) by
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Nicholas Zakas
10.1K views124 slides
JavaScript Variable Performance by
JavaScript Variable PerformanceJavaScript Variable Performance
JavaScript Variable PerformanceNicholas Zakas
5.2K views13 slides
Nicholas' Performance Talk at Google by
Nicholas' Performance Talk at GoogleNicholas' Performance Talk at Google
Nicholas' Performance Talk at GoogleNicholas Zakas
4.6K views122 slides
Responsive interfaces by
Responsive interfacesResponsive interfaces
Responsive interfacesNicholas Zakas
18.2K views36 slides

Viewers also liked(14)

Enterprise JavaScript Error Handling (Ajax Experience 2008) by Nicholas Zakas
Enterprise JavaScript Error Handling (Ajax Experience 2008)Enterprise JavaScript Error Handling (Ajax Experience 2008)
Enterprise JavaScript Error Handling (Ajax Experience 2008)
Nicholas Zakas72.4K views
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011) by Nicholas Zakas
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Nicholas Zakas10.1K views
JavaScript Variable Performance by Nicholas Zakas
JavaScript Variable PerformanceJavaScript Variable Performance
JavaScript Variable Performance
Nicholas Zakas5.2K views
Nicholas' Performance Talk at Google by Nicholas Zakas
Nicholas' Performance Talk at GoogleNicholas' Performance Talk at Google
Nicholas' Performance Talk at Google
Nicholas Zakas4.6K views
Test Driven Development With YUI Test (Ajax Experience 2008) by Nicholas Zakas
Test Driven Development With YUI Test (Ajax Experience 2008)Test Driven Development With YUI Test (Ajax Experience 2008)
Test Driven Development With YUI Test (Ajax Experience 2008)
Nicholas Zakas31.1K views
Scalable JavaScript Application Architecture 2012 by Nicholas Zakas
Scalable JavaScript Application Architecture 2012Scalable JavaScript Application Architecture 2012
Scalable JavaScript Application Architecture 2012
Nicholas Zakas94K views
High Performance JavaScript 2011 by Nicholas Zakas
High Performance JavaScript 2011High Performance JavaScript 2011
High Performance JavaScript 2011
Nicholas Zakas10.1K views
Scalable JavaScript Application Architecture by Nicholas Zakas
Scalable JavaScript Application ArchitectureScalable JavaScript Application Architecture
Scalable JavaScript Application Architecture
Nicholas Zakas176.2K views
JavaScript APIs you’ve never heard of (and some you have) by Nicholas Zakas
JavaScript APIs you’ve never heard of (and some you have)JavaScript APIs you’ve never heard of (and some you have)
JavaScript APIs you’ve never heard of (and some you have)
Nicholas Zakas51.4K views
Speed Up Your JavaScript by Nicholas Zakas
Speed Up Your JavaScriptSpeed Up Your JavaScript
Speed Up Your JavaScript
Nicholas Zakas17.6K views
Maintainable JavaScript 2012 by Nicholas Zakas
Maintainable JavaScript 2012Maintainable JavaScript 2012
Maintainable JavaScript 2012
Nicholas Zakas90.8K views
Writing Efficient JavaScript by Nicholas Zakas
Writing Efficient JavaScriptWriting Efficient JavaScript
Writing Efficient JavaScript
Nicholas Zakas88.3K views

Similar to Mobile Web Speed Bumps

Developing for Mobile by
Developing for MobileDeveloping for Mobile
Developing for MobileRemy Sharp
2.8K views43 slides
Mobile First Responsive Design by
Mobile First Responsive DesignMobile First Responsive Design
Mobile First Responsive DesignJason Grigsby
6.4K views101 slides
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns? by
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Andy Davies
6.7K views48 slides
Faster Frontends by
Faster FrontendsFaster Frontends
Faster FrontendsAndy Davies
1.2K views28 slides
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns? by
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Andy Davies
2.3K views81 slides
Building Rackspace Cloud Monitoring by
Building Rackspace Cloud MonitoringBuilding Rackspace Cloud Monitoring
Building Rackspace Cloud Monitoringgdusbabek
1.4K views29 slides

Similar to Mobile Web Speed Bumps(20)

Developing for Mobile by Remy Sharp
Developing for MobileDeveloping for Mobile
Developing for Mobile
Remy Sharp2.8K views
Mobile First Responsive Design by Jason Grigsby
Mobile First Responsive DesignMobile First Responsive Design
Mobile First Responsive Design
Jason Grigsby6.4K views
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns? by Andy Davies
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Andy Davies6.7K views
Faster Frontends by Andy Davies
Faster FrontendsFaster Frontends
Faster Frontends
Andy Davies1.2K views
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns? by Andy Davies
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Andy Davies2.3K views
Building Rackspace Cloud Monitoring by gdusbabek
Building Rackspace Cloud MonitoringBuilding Rackspace Cloud Monitoring
Building Rackspace Cloud Monitoring
gdusbabek1.4K views
Mobile Web Performance - Velocity 2011 by Barbara Bermes
Mobile Web Performance - Velocity 2011Mobile Web Performance - Velocity 2011
Mobile Web Performance - Velocity 2011
Barbara Bermes675 views
Http/2 - What's it all about? by Andy Davies
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
Andy Davies4.4K views
Website Debugging with Vorlon.js by Joshua Drew
Website Debugging with Vorlon.jsWebsite Debugging with Vorlon.js
Website Debugging with Vorlon.js
Joshua Drew338 views
Even faster web sites by Felipe Lavín
Even faster web sitesEven faster web sites
Even faster web sites
Felipe Lavín1.2K views
Web Directions South - Even Faster Web Sites by Steve Souders
Web Directions South - Even Faster Web SitesWeb Directions South - Even Faster Web Sites
Web Directions South - Even Faster Web Sites
Steve Souders2.8K views
Csdn Drdobbs Tenni Theurer Yahoo by guestb1b95b
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b4.3K views
EscConf - Deep Dive Frontend Optimization by Jonathan Klein
EscConf - Deep Dive Frontend OptimizationEscConf - Deep Dive Frontend Optimization
EscConf - Deep Dive Frontend Optimization
Jonathan Klein1.3K views
The case for HTTP/2 by GreeceJS
The case for HTTP/2The case for HTTP/2
The case for HTTP/2
GreeceJS278 views
The Case for HTTP/2 - GreeceJS - June 2016 by Andy Davies
The Case for HTTP/2 -  GreeceJS - June 2016The Case for HTTP/2 -  GreeceJS - June 2016
The Case for HTTP/2 - GreeceJS - June 2016
Andy Davies891 views
Performance Test Analysis- Hotels by yassine Alozade
Performance Test Analysis- HotelsPerformance Test Analysis- Hotels
Performance Test Analysis- Hotels
yassine Alozade2.1K views
Speed is Essential for a Great Web Experience by Andy Davies
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web Experience
Andy Davies21.1K views
Building Web Mobile App that don’t suck - FITC Web Unleashed - 2014-09-18 by Frédéric Harper
Building Web Mobile App that don’t suck - FITC Web Unleashed - 2014-09-18Building Web Mobile App that don’t suck - FITC Web Unleashed - 2014-09-18
Building Web Mobile App that don’t suck - FITC Web Unleashed - 2014-09-18
Build Better Responsive websites. Hrvoje Jurišić by MeetMagentoNY2014
Build Better Responsive websites. Hrvoje JurišićBuild Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje Jurišić
MeetMagentoNY2014570 views

More from Nicholas Zakas

JavaScript Timers, Power Consumption, and Performance by
JavaScript Timers, Power Consumption, and PerformanceJavaScript Timers, Power Consumption, and Performance
JavaScript Timers, Power Consumption, and PerformanceNicholas Zakas
54.4K views128 slides
Maintainable JavaScript 2011 by
Maintainable JavaScript 2011Maintainable JavaScript 2011
Maintainable JavaScript 2011Nicholas Zakas
12.1K views53 slides
YUI Test The Next Generation (YUIConf 2010) by
YUI Test The Next Generation (YUIConf 2010)YUI Test The Next Generation (YUIConf 2010)
YUI Test The Next Generation (YUIConf 2010)Nicholas Zakas
3.7K views73 slides
High Performance JavaScript - Fronteers 2010 by
High Performance JavaScript - Fronteers 2010High Performance JavaScript - Fronteers 2010
High Performance JavaScript - Fronteers 2010Nicholas Zakas
4.2K views128 slides
High Performance JavaScript - jQuery Conference SF Bay Area 2010 by
High Performance JavaScript - jQuery Conference SF Bay Area 2010High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010Nicholas Zakas
47.7K views103 slides
Extreme JavaScript Compression With YUI Compressor by
Extreme JavaScript Compression With YUI CompressorExtreme JavaScript Compression With YUI Compressor
Extreme JavaScript Compression With YUI CompressorNicholas Zakas
43.4K views64 slides

More from Nicholas Zakas(8)

JavaScript Timers, Power Consumption, and Performance by Nicholas Zakas
JavaScript Timers, Power Consumption, and PerformanceJavaScript Timers, Power Consumption, and Performance
JavaScript Timers, Power Consumption, and Performance
Nicholas Zakas54.4K views
Maintainable JavaScript 2011 by Nicholas Zakas
Maintainable JavaScript 2011Maintainable JavaScript 2011
Maintainable JavaScript 2011
Nicholas Zakas12.1K views
YUI Test The Next Generation (YUIConf 2010) by Nicholas Zakas
YUI Test The Next Generation (YUIConf 2010)YUI Test The Next Generation (YUIConf 2010)
YUI Test The Next Generation (YUIConf 2010)
Nicholas Zakas3.7K views
High Performance JavaScript - Fronteers 2010 by Nicholas Zakas
High Performance JavaScript - Fronteers 2010High Performance JavaScript - Fronteers 2010
High Performance JavaScript - Fronteers 2010
Nicholas Zakas4.2K views
High Performance JavaScript - jQuery Conference SF Bay Area 2010 by Nicholas Zakas
High Performance JavaScript - jQuery Conference SF Bay Area 2010High Performance JavaScript - jQuery Conference SF Bay Area 2010
High Performance JavaScript - jQuery Conference SF Bay Area 2010
Nicholas Zakas47.7K views
Extreme JavaScript Compression With YUI Compressor by Nicholas Zakas
Extreme JavaScript Compression With YUI CompressorExtreme JavaScript Compression With YUI Compressor
Extreme JavaScript Compression With YUI Compressor
Nicholas Zakas43.4K views
Maintainable JavaScript by Nicholas Zakas
Maintainable JavaScriptMaintainable JavaScript
Maintainable JavaScript
Nicholas Zakas10.2K views
The New Yahoo! Homepage and YUI 3 by Nicholas Zakas
The New Yahoo! Homepage and YUI 3The New Yahoo! Homepage and YUI 3
The New Yahoo! Homepage and YUI 3
Nicholas Zakas4.7K views

Recently uploaded

DALI Basics Course 2023 by
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023Ivory Egg
14 views12 slides
Transcript: The Details of Description Techniques tips and tangents on altern... by
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...BookNet Canada
119 views15 slides
AI: mind, matter, meaning, metaphors, being, becoming, life values by
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life valuesTwain Liu 刘秋艳
34 views16 slides
Understanding GenAI/LLM and What is Google Offering - Felix Goh by
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix GohNUS-ISS
39 views33 slides
Business Analyst Series 2023 - Week 3 Session 5 by
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
165 views20 slides

Recently uploaded(20)

DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg14 views
Transcript: The Details of Description Techniques tips and tangents on altern... by BookNet Canada
Transcript: The Details of Description Techniques tips and tangents on altern...Transcript: The Details of Description Techniques tips and tangents on altern...
Transcript: The Details of Description Techniques tips and tangents on altern...
BookNet Canada119 views
AI: mind, matter, meaning, metaphors, being, becoming, life values by Twain Liu 刘秋艳
AI: mind, matter, meaning, metaphors, being, becoming, life valuesAI: mind, matter, meaning, metaphors, being, becoming, life values
AI: mind, matter, meaning, metaphors, being, becoming, life values
Understanding GenAI/LLM and What is Google Offering - Felix Goh by NUS-ISS
Understanding GenAI/LLM and What is Google Offering - Felix GohUnderstanding GenAI/LLM and What is Google Offering - Felix Goh
Understanding GenAI/LLM and What is Google Offering - Felix Goh
NUS-ISS39 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10165 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
Perth MeetUp November 2023 by Michael Price
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023
Michael Price12 views
How the World's Leading Independent Automotive Distributor is Reinventing Its... by NUS-ISS
How the World's Leading Independent Automotive Distributor is Reinventing Its...How the World's Leading Independent Automotive Distributor is Reinventing Its...
How the World's Leading Independent Automotive Distributor is Reinventing Its...
NUS-ISS15 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software91 views
RADIUS-Omnichannel Interaction System by RADIUS
RADIUS-Omnichannel Interaction SystemRADIUS-Omnichannel Interaction System
RADIUS-Omnichannel Interaction System
RADIUS14 views
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... by Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin70 views
Black and White Modern Science Presentation.pptx by maryamkhalid2916
Black and White Modern Science Presentation.pptxBlack and White Modern Science Presentation.pptx
Black and White Modern Science Presentation.pptx
maryamkhalid291614 views
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV by Splunk
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
Splunk86 views
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze by NUS-ISS
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng TszeDigital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
NUS-ISS19 views
Combining Orchestration and Choreography for a Clean Architecture by ThomasHeinrichs1
Combining Orchestration and Choreography for a Clean ArchitectureCombining Orchestration and Choreography for a Clean Architecture
Combining Orchestration and Choreography for a Clean Architecture
ThomasHeinrichs168 views

Mobile Web Speed Bumps