SlideShare a Scribd company logo
Measuring
Web Performance
Dave Olsen, @dmolsen
West Virginia University
RWD Summit
http://flic.kr/p/7A8xxN
slideshare.net/dmolsenwvu
introduction about me
@dmolsen
What I’ll Talk About
• Quick Intro About Why We
Should Care About Web Perf
• Tools for Measuring Web
Performance
• Setting Up a Device Lab
• Responsive Design + Server-
side Solutions
WHY SHOULD WE CARE ABOUT
WEB PERFORMANCE?
http://flic.kr/p/4JY1Yr
brad’s iceberg
© Brad Frost
© Brad Frost
The way in which CSS media
queries have been promoted for
mobile hides tough problems
and gives developers a false
promise of a simple solution for
designing for small screens.
Source: Jason Grigsby on Speakerdeck
“
”- Jason Grigsby
@grigs
brad’s iceberg
© Brad Frost© Brad Frost
© Brad Frost
The average weight of a web page today.
Source: HTTP Archive
Images JavaScript
Flash
HTML
CSS
Other
77%
1.3 MB
RWD sites whose
small screen design
weighs the same as the
large screen design.
Source: Podjarny
72%
Users expect your
mobile site to load
as quickly as your
desktop site.
71%
Source: Gomez
Bounce Rate
Conversion
Rate Cart Size PageViews
200ms - - - -1.2%
500ms -4.7% -1.9% - -5.7%
1000ms -8.3% -3.5% -2.1% -9.4%
CASE STUDY:
MOBILE PERFORMANCE EFFECT ON BUSINESS
Source: Web Performance Today
Mobile first means
performance first.
(start thinking about performance at the design stage)
Over Downloading
Download & Hide
Download & Shrink
Download & Ignore
PRIMARY PERFORMANCE ISSUES FOR RWD
Poor Networks
High Latency
Variable Bandwidth
Packet Loss
BREAKING DOWN A REQUEST
DNS (1ms)
Connecting (61ms)
Waiting (199ms)
Receiving (790ms)
MOBILE OPTIMIZATION
FOCUS
1. Reduce requests
2. Reduce asset size
3. Speed-up page
render
http://flic.kr/p/4zzKee
Best request is no request.
Worst request is one that
blocks the parser.
Source: Ilya Grigorik
“
”- Ilya Grigorik
@ilyagrigorik
Browser
cache
The simplest way to reduce requests is to make sure the
browser doesn’t need to make them. Make sure assets
are bring cached on the browser.
Concatenate
JS & CSS
Combine similar files together in one or multiple larger
files to reduce requests. May harm performance too.
Lazy load
content
Don’t make requests until necessary. Filament Group’s
AJAX Include Pattern or lazyBlock.
data: URI For small images & fonts try embedding them in your
CSS file by using the data: URI.
Conditional
loading
Use a resource loader like Modernizr.load to
conditionally include JavaScript & CSS files.
1. REDUCE REQUESTS
HTML & CSS
compression
Use mod_deflate to make sure text-based assets are
compressed for transfer.
Image
compression
Use a service like kraken.io to optimize images.
Also use CSS sprites as appropriate.
Try to avoid
images
When possible think about avoiding images.
Implement with CSS or Canvas. Or use SVG or
Progressive JPEGs.
Minification Use a minifying service to make sure text-based assets
are as small as possible. If using PHP use Minify.
MicroJS or,
even better,
Vanilla JS
Avoid using bulky frameworks if you’re using them for
simple tasks like selectors. Try microjs.com to find
libraries that may be smaller & more suitable.
JavaScript also blocks the rendering of the page.
2. REDUCE ASSET SIZE
Avoid DOM
reflows &
repaints
By using JS to modify the DOM you can cause
unnecessary reflows & repaints of your browser. They
slow down page render time as well as burn battery.
Defer
loading of
JavaScript
Use HTML5’s script defer & async attributes to delay
downloading files. Can also insert script elements into
the DOM using the onLoad event.
Lazy load
JavaScript
Comment out JavaScript that isn’t required at page load.
Uncomment & eval() when required.
Touch beats
onClick
While not directly related to page render, by making
sure your links use a Touch event rather than an onClick
event user interactions will speed up by 300ms.
Avoid SM
widgets
Try using simple links to services rather than utilizing the
JavaScript widgets. They’re performance hogs.
3. SPEED-UP PAGE RENDER
Testing Tools
toolbox, tools
WEB PERFORMANCE
TOOLS
http://flic.kr/p/4BZsQJ
Diagnostic
Tools
Automated
Tools
Diagnostic
Tools
Automated
Tools
LEARN TO LOVE THE INSPECTOR
FOLLOW ALONG BY OPENING THE
DEVELOPER TOOLS IN CHROME
SAVE YOURSELF A HEADACHE &
DISABLE CACHE WHEN TESTING
EXPLAINING THE NETWORK PANEL:
RESOURCE SIZE
transferred size
real size
re-order
EXPLAINING THE NETWORK PANEL:
LATENCY
latency + download
latency
re-order
EXPLAINING THE NETWORK PANEL:
EVENTS
domcontentloaded
onload
EXPLAINING THE NETWORK PANEL:
SAVING HAR FILES FOR COMPARISON
save HAR file locally
A narrower, shorter
waterfall is the goal.
http://flic.kr/p/bMdzZ2
Performance
http://timkadlec.com/2013/01/setting-a-performance-budget/http://flic.kr/p/7BBs6e
A guide, not a hard & fast limit.
Performance tweaks are compromises.
EXPLAINING THE TIMELINE PANEL
EXPLAINING THE PROFILES PANEL:
CSS SELECTORS
EXPLAINING THE PROFILES PANEL:
CSS SELECTORS
EXPLAINING THE AUDITS PANEL
PAGESPEED INSIGHTS EXTENSION
https://developers.google.com/speed/pagespeed/insights
REMOTE DEBUGGING
Google Analytics Site Speed
http://www.httpwatch.com
IE & FIREFOX PERFORMANCE ISSUES
Google Analytics Site Speed
GOOGLE ANALYTICS’ SITE SPEED
PERFORMANCE TESTING PROXIES
MobitestWebPagetest
Google Analytics Site Speed
http://www.slideshare.net/AndyDavies/web-page-test-beyond-the-basics
WebPagetest - BEYOND THE BASICS
Google Analytics Site Speed
CUSTOMIZING WebPagetest:
CAPTURING EVENTS AFTER ONLOAD
CUSTOMIZING WebPagetest:
BLACKHOLES FOR REQUESTS
Google Analytics Site Speed
CUSTOMIZING WebPagetest:
SCRIPTING & CUSTOM VIEWPORTS
CUSTOMIZING WebPageTest:
VIDEO COMPARISON
CUSTOMIZING WebPageTest:
VIDEO COMPARISON - SMALL VIEWPORT
mobile bookmarklet
THE ULTIMATE MOBILE
PERFORMANCE BOOKMARKLET
charlesproxy.com
SLOWING THINGS DOWN
ThrottleCharles
USING CHARLES PROXY
http://blog.cloudfour.com/using-charles-proxy-to-examine-ios-apps/
TEST & OPTIMIZE JAVASCRIPT WITH JSPERF
http://jsperf.com
W3C’s NAVIGATION TIMING
http://www.w3.org/TR/navigation-timing/
http://www.html5rocks.com/en/tutorials/webperformance/basics/
Diagnostic
Tools
Automated
Tools
mod_pagespeed AUTOMATES A LOT
http://developers.google.com/speed/pagespeed/mod
  add_head
  combine_css
   convert_jpeg_to_progressive
   convert_meta_tags
   extend_cache
   flatten_css_imports
   inline_css
   inline_import_to_link
   inline_javascript
   rewrite_css
   rewrite_images
   rewrite_javascript
   rewrite_style_attributes_with_url
Default Filters
CodeKit
CODEKIT: WEB PERF IN YOUR WORKFLOW
  Optimize Images
  Combine & Minify
Features
http://incident57.com/codekit/
DEVICES
http://flic.kr/p/cfkZhN
charlesproxy.com
EMULATING MOBILE DEVICES
EmulatorsBrowserStack
eBay
MobileKarma.com
Cellphone store leftovers
Open device labs
GET YOUR HANDS ON
REAL DEVICES
http://flic.kr/p/7972f6
OPENDEVICELAB.COM
Base on:
WiFi-capable, Analytics
Rank, OS, Screen
Dimensions, & Cost
Suggested focus:
iPod Touch, mid-level
Android, high-end Android,
a tablet, Blackberry,
Windows Phone 7
HOW TO DECIDE WHICH TO GET
iPod Touch
Samsung Fascinate +
Google Nexus +
$438
Example:
ADOBE EDGE INSPECT
(THE APP FORMERLY KNOWN AS ADOBE SHADOW)
Measuring Web Performance
RESS* can be a scalpel
for your responsive designs.
REsponsive Design + Server Side Components
http://flic.kr/p/a4VsPv
One...
URL.
Set of Mark-up.
Deployment.
WHY USE RWD
futurefriend.ly
balloons
http://flic.kr/p/h6McT
TIME TO PARTY!
http://flic.kr/p/8x6b8X
NOT SO FAST, MY FRIENDS...
Image & Video Media
3rd Party Content
One Set of Mark-up
CHALLENGES FOR RWD
STANDARDS ARE STILL DEVELOPING
What is RESS?
Responsive Web Design +
Server Side Components
(I have no idea what becomes of the W, D, or C)
- Luke Wroblewski
@lukew
http://www.lukew.com/ff/entry.asp?1392
In a nutshell, RESS combines adaptive layouts
with server side component (not full page)
optimization. So a single set of page templates
define an entire Web site for all devices but key
components within that site have device-class
specific implementations that are rendered
server side.
“
”
http://www.lukew.com/ff/entry.asp?1509
- Luke Wroblewski
@lukew
• If you want layout adjustments across devices.
• And optimization at the component level to
increase performance or tune user experience.
• You trust server-side device detection with
sensible defaults.
“
”
DESKTOPWEBM-ADVANCED
ress.dmolsen.com
MOBILEBASIC
Infancy
http://flic.kr/p/7B7uyp
RESS IS IN ITS INFANCY
ND data
http://weedygarden.net/2012/05/a-case-for-ress/
Large Screen:
136 requests @ 2.7MB
Small Screen:
23 requests @ 291K
developers and designers
http://flic.kr/p/7Ma9n
DESIGNERS + DEVELOPERS?
Two Possible Solutions
Server-side
Solutions
http://flic.kr/p/9jatna
Browser Detection#1
Server-side
Feature Detection#2
• Requires server-side
languages.
• Server-side feature detection
so it can be spoofed.
• RESS isn’t a silver bullet.
• Data needs to be separated
from layout.
CHALLENGES FOR RESS
- Jon Arnes Sæterås
@jonarnes
http://mpulp.mobi/2011/05/next-steps-of-responsive-web-design/
It is not only the design of the web site and
the layout of content that needs to be adapted
or enhanced; the idea of being responsive,
adaptive and enhancing, must be implemented
in the whole value chain.
“
”
WEB PERF TWEEPS TO FOLLOW
@ilyagrigorik
@andydavies
@souders @patmeenan
@stoyanstefanov
@joshuabixby @yoavweiss@scottjehl
just a sampling
Doug Gapinski
Strategist
mStoner
@thedougco
SPECIAL THANKS TO...
QUESTIONS?
Dave Olsen
Professional Technologist
West Virginia University
@dmolsen
THANKS FOR LISTENING

More Related Content

PPTX
Web Performance: 3 Stages to Success
PPTX
Basics of Vue.js 2019
PPTX
Basic Wordpress PPT
PDF
Web Development Presentation
PPTX
Basic WordPress Workshop Presentation
PPT
Web Development Ppt
PPTX
Introduction To WordPress
PPTX
Basics of Web Development.pptx
Web Performance: 3 Stages to Success
Basics of Vue.js 2019
Basic Wordpress PPT
Web Development Presentation
Basic WordPress Workshop Presentation
Web Development Ppt
Introduction To WordPress
Basics of Web Development.pptx

What's hot (20)

PPTX
Basic WordPress for Beginner ppt
PPTX
WEB DEVELOPMENT
PPTX
Introduction to WordPress
PPTX
Introduction to WordPress
PPT
Web server
PPTX
Web Development In 2018
PPTX
Introduction to Web Development
PPTX
Website design with Wordpress ppt
PPTX
Web Development and Web Development technologies - Temitayo Fadojutimi
PPTX
Web Development
PDF
WordPress Website Creation Training Course Slides
PPTX
Web development
PDF
Intro to Wordpress
PPTX
PPT on web development & SEO
PDF
Laravel Introduction
PPTX
Wordpress ppt
PDF
Html for beginners
PPTX
web development.pptx
PPT
Introduction to computer graphics
PPTX
Spring boot Introduction
Basic WordPress for Beginner ppt
WEB DEVELOPMENT
Introduction to WordPress
Introduction to WordPress
Web server
Web Development In 2018
Introduction to Web Development
Website design with Wordpress ppt
Web Development and Web Development technologies - Temitayo Fadojutimi
Web Development
WordPress Website Creation Training Course Slides
Web development
Intro to Wordpress
PPT on web development & SEO
Laravel Introduction
Wordpress ppt
Html for beginners
web development.pptx
Introduction to computer graphics
Spring boot Introduction
Ad

Viewers also liked (20)

PPTX
Measuring web performance
PPTX
Web performance optimization (WPO)
PDF
Proxy Mobile IPv6 (PMIPv6)
PPTX
Choosing A Proxy Server - Apachecon 2014
PPTX
Tips for Optimizing Web Performance
PPTX
Better web performance visualisations
PDF
Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 -
PDF
Optimizing web performance (Fronteers edition)
PDF
Web performance at WDCNZ
PPTX
Measuring web performance. Velocity EU 2011
PDF
SEO, conversione e web analytics nell'automotive
PDF
Responsive Images
DOC
Website Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
PDF
SEO sample report
PDF
Understanding and measuring web performance
PPT
IAB FORUM 2008 - Web Analytics Workshop : Actionable KPI
PDF
Hakin9 05 2013
PDF
Website Structure Analysis Report Sample - SEO Traffic
PPTX
La lista completa degli strumenti gratuiti seo
PPTX
HCI Project Sable Presentation.
Measuring web performance
Web performance optimization (WPO)
Proxy Mobile IPv6 (PMIPv6)
Choosing A Proxy Server - Apachecon 2014
Tips for Optimizing Web Performance
Better web performance visualisations
Measuring Web Performance - 自己満足で終わらないためのパフォーマンス計測 -
Optimizing web performance (Fronteers edition)
Web performance at WDCNZ
Measuring web performance. Velocity EU 2011
SEO, conversione e web analytics nell'automotive
Responsive Images
Website Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
SEO sample report
Understanding and measuring web performance
IAB FORUM 2008 - Web Analytics Workshop : Actionable KPI
Hakin9 05 2013
Website Structure Analysis Report Sample - SEO Traffic
La lista completa degli strumenti gratuiti seo
HCI Project Sable Presentation.
Ad

Similar to Measuring Web Performance (20)

PDF
Measuring Web Performance (HighEdWeb FL Edition)
PDF
Web Performance & You
PDF
The Server Side of Responsive Web Design
PDF
DrupalCampLA 2011 - Drupal frontend-optimizing
PDF
RESS: An Evolution of Responsive Web Design
PDF
Measuring Web Performance - HighEdWeb Edition
PDF
Asp.Net Tips
PDF
Introduction to Optimizing WordPress for Website Speed
PPTX
Digibury: Getting your web presence mobile ready - David Walker
PDF
Everything You Know is Not Quite Right Anymore: Rethinking Best Practices to ...
PDF
Everything You Know is Not Quite Right Anymore: Rethinking Best Web Practices...
PDF
Demystifying web performance tooling and metrics
PPTX
Drupal Frontend Performance and Scalability
PDF
Web Client Performance
PPTX
Show Me The Cache!
PPT
Make Drupal Run Fast - increase page load speed
PDF
Website Performance at Client Level
PDF
Making Of PHP Based Web Application
PDF
23 Ways To Speed Up WordPress
PDF
Tips to improve your website performance
Measuring Web Performance (HighEdWeb FL Edition)
Web Performance & You
The Server Side of Responsive Web Design
DrupalCampLA 2011 - Drupal frontend-optimizing
RESS: An Evolution of Responsive Web Design
Measuring Web Performance - HighEdWeb Edition
Asp.Net Tips
Introduction to Optimizing WordPress for Website Speed
Digibury: Getting your web presence mobile ready - David Walker
Everything You Know is Not Quite Right Anymore: Rethinking Best Practices to ...
Everything You Know is Not Quite Right Anymore: Rethinking Best Web Practices...
Demystifying web performance tooling and metrics
Drupal Frontend Performance and Scalability
Web Client Performance
Show Me The Cache!
Make Drupal Run Fast - increase page load speed
Website Performance at Client Level
Making Of PHP Based Web Application
23 Ways To Speed Up WordPress
Tips to improve your website performance

More from Dave Olsen (20)

PDF
Taking Your HTML Email Communications from "Ew" to "Wow"
PDF
The Google Marketing Workflow Workshop
PDF
Building an Academic Program Database and API with Contentful and Amazon Web ...
PDF
Reimagining Your Website: What are prospective students looking for and how a...
PDF
Progressive Mobile Strategy Redux: The Future Friendly Enterprise
PDF
Case Study: Rebuilding an Admissions Web Presence
PDF
Admissions Brain Dump
PDF
Implementing Brand Patterns
PDF
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
PDF
Case Study: Automating Outage Monitoring & Communication
PDF
The Death of Lorem Ipsum & Pixel Perfect Content
PDF
The Why and What of Pattern Lab
PDF
The Squishy Future of Content - HEEMAC Edition
PDF
The What & Why of Pattern Lab
PDF
The Squishy Future of Content - Key Communicators Edition
PDF
The Squishy Future of Content - Penn State Edition
PDF
The Squishy Future of Content
PDF
Web Performance & You - HighEdWeb Arkansas Version
PDF
The Future Friendly Campus (Workshop Edition)
KEY
Developing a Progressive Mobile Strategy (J. Boye edition)
Taking Your HTML Email Communications from "Ew" to "Wow"
The Google Marketing Workflow Workshop
Building an Academic Program Database and API with Contentful and Amazon Web ...
Reimagining Your Website: What are prospective students looking for and how a...
Progressive Mobile Strategy Redux: The Future Friendly Enterprise
Case Study: Rebuilding an Admissions Web Presence
Admissions Brain Dump
Implementing Brand Patterns
The Death of Lorem Ipsum and Pixel-Perfect Content (MinneWebCon version)
Case Study: Automating Outage Monitoring & Communication
The Death of Lorem Ipsum & Pixel Perfect Content
The Why and What of Pattern Lab
The Squishy Future of Content - HEEMAC Edition
The What & Why of Pattern Lab
The Squishy Future of Content - Key Communicators Edition
The Squishy Future of Content - Penn State Edition
The Squishy Future of Content
Web Performance & You - HighEdWeb Arkansas Version
The Future Friendly Campus (Workshop Edition)
Developing a Progressive Mobile Strategy (J. Boye edition)

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Empathic Computing: Creating Shared Understanding
PDF
KodekX | Application Modernization Development
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
A Presentation on Artificial Intelligence
PPT
Teaching material agriculture food technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Approach and Philosophy of On baking technology
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
Building Integrated photovoltaic BIPV_UPV.pdf
Review of recent advances in non-invasive hemoglobin estimation
Empathic Computing: Creating Shared Understanding
KodekX | Application Modernization Development
Advanced methodologies resolving dimensionality complications for autism neur...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Electronic commerce courselecture one. Pdf
A Presentation on Artificial Intelligence
Teaching material agriculture food technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Understanding_Digital_Forensics_Presentation.pptx
Network Security Unit 5.pdf for BCA BBA.
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Measuring Web Performance