The Canadian Public Broadcaster on a Diet: Slimming down for a whole nation

The Canadian Public
Broadcaster on a Diet
Slimming down for a whole nation
Barbara Bermes and Blake Crosby
#velocityconf
The Canadian Public Broadcaster on a Diet
Slimming down for a whole nation
Velocity 2013
#velocityconf
Barbara // bbinto
Senior Architect, Mobile Web
Digital Operations, CBC
Blake // blakecrosby
Team Lead, Media Production Support
MO&T, CBC
#velocityconf
Today’s workout
#velocityconf
Before we get started
#velocityconf
#velocityconf
Canada?
Who? What?
#velocityconf
#velocityconf
#velocityconf
#velocityconf
Canadian Broadcasting Corporation
#velocityconf
Canadian Broadcasting Corporation
National public radio and television broadcaster
#velocityconf
Canadian Broadcasting Corporation
National public radio and television broadcaster
Kind of like the NPR
#velocityconf
Canadian Broadcasting Corporation
National public radio and television broadcaster
Kind of like the NPR but not really - the CBC employs commercial advertising to supplement its federal funding
#velocityconf
Canadian Broadcasting Corporation
National public radio and television broadcaster
Kind of like the NPR but not really - the CBC employs commercial advertising to supplement its federal funding
Large internal and external digital ecosystem
#velocityconf
Canadian Broadcasting Corporation
National public radio and television broadcaster
Kind of like the NPR but not really - the CBC employs commercial advertising to supplement its federal funding
Large internal and external digital ecosystem
3 mobile websites
#velocityconf
Canadian Broadcasting Corporation
National public radio and television broadcaster
Kind of like the NPR but not really - the CBC employs commercial advertising to supplement its federal funding
Large internal and external digital ecosystem
3 mobile websites
11 iOS, 3 Android, 5 Blackberry, 3 Windows apps
#velocityconf
Canadian Broadcasting Corporation
National public radio and television broadcaster
Kind of like the NPR but not really - the CBC employs commercial advertising to supplement its federal funding
Desktop site page views ~5Mio/day
Large internal and external digital ecosystem
3 mobile websites
11 iOS, 3 Android, 5 Blackberry, 3 Windows apps
#velocityconf
Canadian Broadcasting Corporation
National public radio and television broadcaster
Kind of like the NPR but not really - the CBC employs commercial advertising to supplement its federal funding
Desktop site page views ~5Mio/day
Mobile Touch site page views ~ 500K/day
Large internal and external digital ecosystem
3 mobile websites
11 iOS, 3 Android, 5 Blackberry, 3 Windows apps
#velocityconf
Canadian Broadcasting Corporation
National public radio and television broadcaster
Kind of like the NPR but not really - the CBC employs commercial advertising to supplement its federal funding
Desktop site page views ~5Mio/day
Mobile Touch site page views ~ 500K/day
News app page views ~1Mio/day
Large internal and external digital ecosystem
3 mobile websites
11 iOS, 3 Android, 5 Blackberry, 3 Windows apps
#velocityconf
Mandate: The 1991 Broadcasting Acts states that...
...the programming provided by the Corporation should:
vi. be made available throughout Canada by the most appropriate and efficient means and as resources
become available for the purpose, and
vii. reflect the multicultural and multiracial nature of Canada.”
#velocityconf
Performance
Why the need for speed?
#velocityconf#velocityconf
#velocityconf
“Ultimately performance is about respect”
Brad Frost
#velocityconf
Mobile & performance
Why is performance for mobile so crucial?
#velocityconf
It’s a Mobile (Browser) World
0
500
1000
1500
2000
2007 2008 2009 2010 2011 2012 2013 2014 2015
Desktop Internet Users
Mobile Internet Users
Source: Morgan Stanley
Numberofglobalusersinmillions
#velocityconf
Performance on Mobile
#velocityconf
Performance on Mobile
Battery-driven
#velocityconf
Performance on Mobile
Battery-driven Small CPU/GPU
#velocityconf
Performance on Mobile
Battery-driven Small CPU/GPU
Network connectivity
and latency
#velocityconf
Performance on Mobile
Battery-driven Small CPU/GPU
Network connectivity
and latency
Data usage
#velocityconf
You’re dealing with impatient users
“74% of mobile web users expect a page
to load in 5 seconds or less”
Gomez
#velocityconf
“Start with Metrics”
Creating A Performance Culture
Steve Souders
#velocityconf
Anatomy of a CBC page: Tell a story
#velocityconf
Anatomy of a CBC page: Tell a story
#velocityconf
Anatomy of a CBC page: Tell a story
#velocityconf
Anatomy of a CBC page: Tell a story
#velocityconf
Anatomy of a CBC page: Tell a story
#velocityconf
Quick weight assessment for desktop and mobile
#velocityconf
A typical CBC story
#velocityconf
Put them on the scale!
#velocityconf
www.cbc.ca
b.scorecardresearch.com
metrics.cbc.ca
gscounters.us1.gigya.com
cdn.gigya.com
pagead2.googlesyndication.com
3%3%
3%
6%
8%
78%
Domain breakdown: HTTP requests
#velocityconf
www.cbc.ca
b.scorecardresearch.com
metrics.cbc.ca
gscounters.us1.gigya.com
cdn.gigya.com
pagead2.googlesyndication.com
4%
11%
0%
1%
1%
83%
Domain breakdown: Bytes
#velocityconf
#velocityconf
Fully loaded
247kB
HTTP requests
36
#velocityconf
www.cbc.ca
pagead2.googlesyndication.com
cdn.gigya.com
thumbnails.cbc.ca
plusone.google.com
sitelife.cbc.ca
googleads.g.doubleclick.net
gscounters.us1.gigya.com
b.scorecardresearch.com
ib.adnxs.com
cdn.clicktale.net
ad.doubleclick.net
cm.g.doubleclick.net
metrics.cbc.ca
cm.eyedemand.com
apis.google.com
feed.theplatform.com
voken.eyereturn.com
d.adgear.com
cdn.adgear.com
fast.fonts.com
ssl.gstatic.com
www.gstatic.com
www.google.com
a.visualrevenue.com
t.visualrevenue.com
graph.facebook.com
resources.eyereturn.com
eyereact.eyereturn.com
adxhm.d.chango.com
cdn.api.twitter.com
s.clicktale.net	
1%1%1%1%1%1%1%1%1%1%1%1%
1%
1%
1%
1%
1%
1%
1%
2%
2%
2%
2%
2%
2%
2%
4%
4%
4%
5%
5%
48%
Domain breakdown: HTTP requests
#velocityconf
www.cbc.ca
pagead2.googlesyndication.com
cdn.gigya.com
thumbnails.cbc.ca
plusone.google.com
sitelife.cbc.ca
googleads.g.doubleclick.net
gscounters.us1.gigya.com
b.scorecardresearch.com
ib.adnxs.com
cdn.clicktale.net
ad.doubleclick.net
cm.g.doubleclick.net
metrics.cbc.ca
cm.eyedemand.com
apis.google.com
feed.theplatform.com
voken.eyereturn.com
d.adgear.com
cdn.adgear.com
fast.fonts.com
ssl.gstatic.com
www.gstatic.com
www.google.com
a.visualrevenue.com
t.visualrevenue.com
graph.facebook.com
resources.eyereturn.com
eyereact.eyereturn.com
adxhm.d.chango.com
cdn.api.twitter.com
s.clicktale.net	
0%0%0%0%1%0%0%0%0%0%1%0%
4%
1%1%0%
2%
0%0%0%0%1%0%0%0%1%
2%
9%
28% 4%
5%
36%
Domain breakdown: Bytes
#velocityconf
#velocityconf
Fully loaded
1,539kB
HTTP requests
164
#velocityconf
Result of assessment: Too heavy? Unhealthy, compared to what?
#velocityconf
Steve Souders and httparchive.org to the rescue
Repository of web performance information and to track web trends
#velocityconf
Content breakdown
Page Size (kB)
0 200 400 600 800
765
247
CBC HTTP Archive Mobile
HTTP Requests
0 18 35 53 70
60
36
Data from June 2013
#velocityconf
Content breakdown
Page Size (kB)
0 800 1600
1462
1539
CBC HTTP Archive
HTTP Requests
0 45 90 135 180
92
164
Data from June 2013
#velocityconf
What are our options for successful weight measuring?
#velocityconf
Synthetic Testing Real User Monitoring
You run the test User runs the test
Measures experience of exact one selected
configuration
Measures experience of “actual user”
(peace of mind). You get to know your user better
Establish baseline performance level
Get concrete information about user’s latency,
bandwidth, page load time
Tools
private/public WebPagetest (API), PageSpeed (API),
phantomJS, commercial products etc.
Tools
boomerang.js, Google Analytics, commercial
products etc.
#velocityconf
Collecting measurements - Synthetic
#velocityconf
Create your own performance dashboard
#velocityconf
Setup your own HTTP Archive to track and monitor trends
#velocityconf
• MySQL and PHP
• WebPagetest API key (or private instance)
• Check out latest source code and DB schema
(even dump)
• Run batches e.g. daily via cronjob
Setup HTTP Archive
#velocityconf
• ~ 44 CBC URLs
(cbc.ca/news, cbc.ca/sports, cbc.ca/video, regular story page etc.)
• Crawl and compute daily
• Measure and monitor trends
• Compare directly to Top Alexa HTTP archive
• Run queries against database to find bottlenecks
• Extend provided graphs
Start collecting
#velocityconf
Query the database directly
#velocityconf
40% of selected URLs use Google hosted jQuery version
select count(distinct(pageid)) as count,
(100* count(distinct(pageid))/[NumberOfUniqueRequests]) as percent
from requests where
url like "%ajax.googleapis.com/ajax/libs/jquery/%"
and mimeType like "%script%"
Hosted frameworks
#velocityconf
48% of selected URLs use Facebook plugins directly instead of Gigya
select count(distinct(pageid)) as count,
(100* count(distinct(pageid))/[NumberOfUniqueRequests]) as percent
from requests where
(url like "%://connect.facebook.net%"
or url like "%://static.ak.fbcdn.net%")
and mimeType like "%script%"
3rd party scripts
#velocityconf
Visualize data with local HTTP Archive instance
#velocityconf
Out-of-the box setup
#velocityconf
#velocityconf
Custom pie charts
#velocityconf
Collecting measurements - Real user monitoring (RUM)
#velocityconf
boomerang.js: JavaScript library for RUM
Measures the page load time, latency, bandwidth (and more) experienced by real users
#velocityconf
t_done Perceived load time of the page
bw User's measured bandwidth in bytes/s
lat User's measured HTTP latency in ms
Collecting RUM
#velocityconf
+
#velocityconf
+
Captain RUM
#velocityconf
• Add script to touch news landing page sends beacon.gif
with params (e.g. t_done, bw, lat, UA etc.)
• Define sampling rate
• Parse Apache log files for beacon.gif, extract params
and import into database
• Very noisy data, need to be normalized
+
Captain RUM
#velocityconf
Captain RUM results
#velocityconf
Latency in ms for CBC touch news landing page
0
10
20
30
40
200 300 400 500 600 700 800 900 1000 2000
1%1%1%1%
2%
4%
7%
18%
37%
27%
Data points: 1913
#velocityconf
RUM page load time (PLT) in ms for CBC touch news landing page
0
7.5
15
22.5
30
500 700 1000 2000 3000 5000 7000 10000 15000 50000
2%2%
4%
5%
13%
21%
26%
13%
10%
3%
Data points: 4864
#velocityconf
Bandwidth distribution for CBC touch news landing page
1%7%
41%
24%
21%
6%
<64Kbps
64-256Kbps
256-512Kbps
512Kbps-1.6Mbps
1.6-3Mbps
3-8Mbps
Data points: 8994
#velocityconf
With RUM data “[...] your real users are experiencing page load times
that are twice as long as their corresponding synthetic
measurements.”
Steve Souders
#velocityconf
Comparing synthetic test results with RUM
#velocityconf
Tools
Target
Network Profile
Data points
CBC news touch landing page CBC news touch landing page
1) Public WebPagetest
No Mobitest (DSL/Wifi)
2) PhantomJS with Slowy for shaping connection
Captain Rum
(boomerang.js, parsed beaon.gif params into DB)
1) 100
2) 100
After de-noising data: 4864
1) 3G simulation (“apples with apples”)
2) Slowy app with 3G simulation
Real user, baby!
Median and 95th percentile
of page load time (PLT)
Median and 95th percentile
of page load time (PLT)
Synthetic Testing Real User Monitoring
Measurements
#velocityconf
Page load time for touch news landing page (RUM and synthetic)
RUM (t_done)
PhantomJS (3G)
WebPagetest (3G)
0 2750 5500 8250 11000
5005 ms
3726.5 ms
1926.5 ms
6094 ms
5246 ms
10088 ms
95th percentile
Median
RUMSynthetic
#velocityconf
• Synthetic
• Lots of variances possible
• Challenges to properly simulate for mobile
• RUM
• Users benefit from cache
• Android wrapper app faster than Android browser
Some observations
#velocityconf
Avoid dangerous temptations
#velocityconf
That’s a lot of cookies
Yikes! Oh No!
Temptations
#velocityconf
Tipping the scale
Temptations
#velocityconf
Cookies on a diet
#velocityconf
• Use the path option to limit cookie scope
Cookies on a diet
#velocityconf
• Use the path option to limit cookie scope
• Store your static assets at a different domain
(images.cbc.ca)
Cookies on a diet
#velocityconf
• Use the path option to limit cookie scope
• Store your static assets at a different domain
(images.cbc.ca)
• Don’t use cookies for fun
Cookies on a diet
#velocityconf
• Use the path option to limit cookie scope
• Store your static assets at a different domain
(images.cbc.ca)
• Don’t use cookies for fun
• Ask: Do you really need them?
Cookies on a diet
#velocityconf
Other temptations (front-end)
#velocityconf
3rd party monsters
#velocityconf
Monsters?
#velocityconf
• Ads, tracking, social buttons etc.
Monsters?
#velocityconf
• Ads, tracking, social buttons etc.
• They are unpredictable, scary, disruptive, sneaky and
Monsters?
#velocityconf
• Ads, tracking, social buttons etc.
• They are unpredictable, scary, disruptive, sneaky and
• Could slow down your site
Monsters?
#velocityconf
• Ads, tracking, social buttons etc.
• They are unpredictable, scary, disruptive, sneaky and
• Could slow down your site
• Could bring down your site
(SPOF - single point of failure)
Monsters?
#velocityconf
• Ads, tracking, social buttons etc.
• They are unpredictable, scary, disruptive, sneaky and
• Could slow down your site
• Could bring down your site
(SPOF - single point of failure)
• Could do things you don’t want them to do
Monsters?
#velocityconf
• Ads, tracking, social buttons etc.
• They are unpredictable, scary, disruptive, sneaky and
• Could slow down your site
• Could bring down your site
(SPOF - single point of failure)
• Could do things you don’t want them to do
• Will add weight and complexity to your page
Monsters?
#velocityconf
What would a life without ads feel like....????
#velocityconf
The wonderful life without ads
#velocityconf
CBC Touch Mobile without ads
#velocityconf
Using no (client-side) ads code reduced our page load time by ~40%
40%
#velocityconf
Using server-side ads code over client-side ads code saved us
~20% of page load time
20%
#velocityconf
Get in
shape
#velocityconf
• Last mile acceleration (use GZip compression)
• Take advantage of a CDN, if possible
• Only use cookies where necessary
• Caches are your friend
Server and back-end
#velocityconf
Dedicated mobile sites
#velocityconf
• Decide on the server what to serve
• Different websites (Text, Rich, Touch) for
optimized experience
• Optimized and different images for all of our 3
mobile sites
• Edge side include technology (ESI) for device
detection and/or conditional loading
Server-side optimization
& device detection
#velocityconf
Responsive web design and web performance
#velocityconf
“72% of the sites using responsive design don't optimize for
mobile” (86% in 2012)
Guy Podjarny
72%
#velocityconf
Responsive Web Design with Server Side Components
RESS
Heavy resource lifting should be done on the server
#velocityconf
Exercises that worked for CBC
#velocityconf
• Very important to support If-Modified-
Since requests
• Allows caches to properly cache
content. Don’t cache bust!
The power of If-
Modified-Since
#velocityconf
The proof
28kb
12kb
0
7.5
15
22.5
30
10/29/2011 11/01/2011 11/04/2011 11/07/2011 11/10/2011 11/13/2011 11/16/2011
kBytesperHit
#velocityconf
Before and after
#velocityconf
• Heavy 404 Page?
• Browser will download the 404 page even if
it’s for a broken image or other asset
Keep those 404s in check
#velocityconf
Definitely not super thin
#velocityconf#velocityconf
#velocityconf#velocityconf
#velocityconf
The difference ....
5.2kB 1.1kB
Before After
80%
#velocityconf
Global Shell
#velocityconf
Global Shell
• Shared by all
• Visual representation
#velocityconf
Global Shell
• Shared by all
• Visual representation
#velocityconf
Global Shell
• Shared by all
• Visual representation
• Non-visual representation
• SSI variables in header to serve ads and tracking
• Global scripts, 3rd party scripts and stylesheets
#velocityconf
Improvement is easier than you think
#velocityconf
• Re-factored code: Removed old/un-used code
• Moved some scripts to the bottom of page
• Minified and concatenated scripts and CSS files to
reduce file size and HTTP requests
How did we improve
#velocityconf
Why optimizing manually if you can automate it?
Included performance optimization into your deployment and release process
#velocityconf
• Maven, Ant Tools and Plugins
• Closure Compiler (Google)
• Minify-maven-plugin
• HTMLCompressor
• Confess
• cssembed.jar or compass for data:uri
Automated & built-in tools
#velocityconf
• If you can’t / don’t want to use Maven / Ant
• You should use taskrunners and scaffolding:
Grunt, Yeoman
• Continuous integration (e.g SPOFcheck, yslow)
Automated & built-in tools
#velocityconf
What were the results?
#velocityconf
Global Shell: Before and after
#velocityconf
Global Shell: Before and after
0
6
12
18
24
HTTP Requests
18
24
Before After
25%
68
69.4
70.8
72.2
73.6
75
Page Weight (kB)
69.8
71.9
3%
0
0.25
0.5
0.75
1
Start to render (s)
0.691
0.942
26%
0
0.325
0.65
0.975
1.3
Visually complete (s)
0.9
1.3
30%
Improvements
#velocityconf
Slimmed down! But the danger with all diets ....
#velocityconf
Yo-yo effect
Don’t gain the weight back
#velocityconf
If you don’t monitor your weight, you can also make it worse...
#velocityconf#velocityconf
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell ISP Issues
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell ISP Issues
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell ISP Issues
Client-side Ads
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell ISP Issues
Client-side Ads
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell ISP Issues
Client-side Ads
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell ISP Issues
Client-side Ads
Ads turned off
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell ISP Issues
Client-side Ads
Ads turned off
Source: Keynote Daily Reports
#velocityconf
3rd Party monsters interrupt
0
2.5
5
7.5
10
7/30/12 8/10/12 8/21/12 9/1/12 9/12/12 9/23/12 10/4/12 10/15/12 10/26/12
ArithmeticMeanins
Global Shell ISP Issues
Client-side Ads
Ads turned off
Server-side Ads
Source: Keynote Daily Reports
#velocityconf
A user who has to endure an 8-second download
delay spends only 1% of their total viewing time looking at
the featured promotional space on a landing page.
In contrast, a user who receives instantaneous page
rendering spends 20% of viewing time within the
promotional area (source: Nielsen)
#velocityconf
CBC’s fitness tips - Take aways
#velocityconf
Create a culture of performance
Bring everyone on board
Fitness Tip
#velocityconf
Start today, collect measurements
Fitness Tip
Run tests frequently, use free or commercial tools to help
#velocityconf
Visualize data and complexity to illustrate performance success and
bad hits (show before and after)
Fitness Tip
A picture is worth a thousand words
#velocityconf
Automate performance optimization
Fitness Tip
#velocityconf
Watch those 3rd party monsters
Evaluate their impact, ask and push for server-side solutions or use non-blocking, asynchronous solutions
Fitness Tip
#velocityconf
Serve only what the client needs
Device detection, server-side components and responsive web design
Fitness Tip
#velocityconf
Use RUM and synthetic testing
Fitness Tip
Get to know your users’ performance and your features’ performance
#velocityconf
Monitor your fitness level, setup reports
Fitness Tip
#velocityconf
Share your ideas and knowledge
CBC’s Web Performance Working Group
Fitness Tip
#velocityconf
Set a performance budget
Fitness Tip
#velocityconf
Run quick performance tests on mocks and prototypes
Fitness Tip
#velocityconf
There is always room for improvement
Fitness Tip
Keep the momentum
#velocityconf
Questions?
/blakecrosby
/bbinto
Thank you!
Office Hours
Today 2:45pm
Exhibit Hall (Table 3)
#velocityconf
Photo Credits
•http://beautygirlsmom.com/wp-content/uploads/2011/01/diet-funny-sign-spelled-out-vegetable.jpg
•http://www.cyklblog.com/wp-content/uploads/2011/06/so-many-push-ups.jpg
•http://photobucket.com/images/yo+yo+puppy+dog+yoyo+animated+gif+funny/
•http://www.wallpaper-welt.de/gros/film/monster-ag/Monster%20AG.jpg
•http://www.passiveaggressivenotes.com/2007/07/29/this-is-why-your-server-is-cranky/
•http://4.bp.blogspot.com/-NnFPM5Fgbao/TaIkVwyusEI/AAAAAAAAMPw/fdDbbvgJRb8/s1600/054.jpg
•http://thefulltimedomesticgoddess.com/wp-content/uploads/2011/09/girls-holding-hands-bw.jpg
•http://cartoonswalls.com/walls/monsters_university_desktop_wallpaper-wide.jpg
•http://41inmylife.files.wordpress.com/2011/06/weight_scale.jpg
•http://blogs.scientificamerican.com/the-curious-wavefunction/files/2012/08/boeing_777_cockpit.jpg
•http://www.liquorlockerla.com/wp-content/uploads/Captain-Morgan-Spiced-Rum-1.75.jpghttp://4.bp.blogspot.com/-Ylnf651-NMg/UW_-ak4lvwI/AAAAAAAAAZs/7UeqyWrrUys/s1600/Boomerang.png
•http://2.bp.blogspot.com/-ZrxT4-q5Hrw/UH1kIPawjqI/AAAAAAAAJeg/7f8TCiH2Wao/s1600/you-can-do-it.jpg
•http://upload.wikimedia.org/wikipedia/commons/7/77/Celine_Dion_Concert_Singing_'Taking_Chances'_2008.jpg
•http://static.wix.com/media/130ef9_bab26cc8c87a64719072275bba963573.jpg
Sources
•http://www.slideshare.net/stoyan/psychology-of-performance
•http://www.stevesouders.com/blog/2012/11/14/comparing-rum-synthetic-page-load-times/
•http://bradfrostweb.com/blog/post/performance-as-design/
•“Who killed my battery: Analyzing Mobile Browser Consumption” http://www2012.wwwconference.org/proceedings/proceedings/p41.pdf
•http://www.slideshare.net/guypod/performance-implications-of-mobile-design
•http://www.cbc.ca/m/touch/sports/story/2013/03/05/sp-paralympics-oscar-pistorius.html
•Desktop: http://www.webpagetest.org/result/130315_TQ_WT1/
•Mobile:http://www.webpagetest.org/result/130315_1X_X18/
•http://coding.smashingmagazine.com/2012/11/13/the-vanilla-web-diet/
•http://www.gomez.com/wp-content/downloads/19986_WhatMobileUsersWant_Wp.pdf
1 of 162

Recommended

A Marketers Guide to Data Analysis & Reporting by
A Marketers Guide to Data Analysis & Reporting A Marketers Guide to Data Analysis & Reporting
A Marketers Guide to Data Analysis & Reporting Katie Cunningham
318 views63 slides
The CBC on a diet - Slimming down for a whole nation by
The CBC on a diet - Slimming down for a whole nationThe CBC on a diet - Slimming down for a whole nation
The CBC on a diet - Slimming down for a whole nationBarbara Bermes
4.5K views113 slides
Canadian broadcasting corporation use case by
Canadian broadcasting corporation use caseCanadian broadcasting corporation use case
Canadian broadcasting corporation use caseVarnish Software
249 views15 slides
Government Policies - Broadcasting - Canada - Commentary and Analysis - Nove... by
Government Policies  - Broadcasting - Canada - Commentary and Analysis - Nove...Government Policies  - Broadcasting - Canada - Commentary and Analysis - Nove...
Government Policies - Broadcasting - Canada - Commentary and Analysis - Nove...paul young cpa, cga
184 views6 slides
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM by
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSMWebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSM
WebExpo Talk: EMBRACING PERFORMANCE IN TODAY’S MULTI-PLATFORM MACROCOSMBarbara Bermes
11K views123 slides
Microservices, Events, and Breaking the Data Monolith with Kafka by
Microservices, Events, and Breaking the Data Monolith with KafkaMicroservices, Events, and Breaking the Data Monolith with Kafka
Microservices, Events, and Breaking the Data Monolith with KafkaVMware Tanzu
2.2K views47 slides

More Related Content

Similar to The Canadian Public Broadcaster on a Diet: Slimming down for a whole nation

VTA Hack My Ride Lightning Talks by
VTA Hack My Ride Lightning TalksVTA Hack My Ride Lightning Talks
VTA Hack My Ride Lightning TalksSCVTA
1.1K views84 slides
What Is Backstage Overview Google Day by
What Is Backstage Overview Google DayWhat Is Backstage Overview Google Day
What Is Backstage Overview Google DayIan Forrester
7.3K views54 slides
Some Web Technology Thought Starters by
Some Web Technology Thought StartersSome Web Technology Thought Starters
Some Web Technology Thought Startersdianasch
361 views39 slides
Designing for Sustainability - WebVisions 2016 by
Designing for Sustainability - WebVisions 2016Designing for Sustainability - WebVisions 2016
Designing for Sustainability - WebVisions 2016Tim Frick
803 views62 slides
Day One Keynote by
Day One KeynoteDay One Keynote
Day One Keynotegoodfriday
425 views107 slides
Third Party Footprint: Evaluating the Performance of External Scripts by
Third Party Footprint: Evaluating the Performance of External ScriptsThird Party Footprint: Evaluating the Performance of External Scripts
Third Party Footprint: Evaluating the Performance of External ScriptsBarbara Bermes
4.2K views102 slides

Similar to The Canadian Public Broadcaster on a Diet: Slimming down for a whole nation(20)

VTA Hack My Ride Lightning Talks by SCVTA
VTA Hack My Ride Lightning TalksVTA Hack My Ride Lightning Talks
VTA Hack My Ride Lightning Talks
SCVTA1.1K views
What Is Backstage Overview Google Day by Ian Forrester
What Is Backstage Overview Google DayWhat Is Backstage Overview Google Day
What Is Backstage Overview Google Day
Ian Forrester7.3K views
Some Web Technology Thought Starters by dianasch
Some Web Technology Thought StartersSome Web Technology Thought Starters
Some Web Technology Thought Starters
dianasch361 views
Designing for Sustainability - WebVisions 2016 by Tim Frick
Designing for Sustainability - WebVisions 2016Designing for Sustainability - WebVisions 2016
Designing for Sustainability - WebVisions 2016
Tim Frick803 views
Day One Keynote by goodfriday
Day One KeynoteDay One Keynote
Day One Keynote
goodfriday425 views
Third Party Footprint: Evaluating the Performance of External Scripts by Barbara Bermes
Third Party Footprint: Evaluating the Performance of External ScriptsThird Party Footprint: Evaluating the Performance of External Scripts
Third Party Footprint: Evaluating the Performance of External Scripts
Barbara Bermes4.2K views
DW 2015: Bjarne Myklebust - The Future of Television by Telenor Group
DW 2015: Bjarne Myklebust - The Future of TelevisionDW 2015: Bjarne Myklebust - The Future of Television
DW 2015: Bjarne Myklebust - The Future of Television
Telenor Group486 views
How Tracking Companies Circumvented Ad Blockers Using WebSockets by Sajjad "JJ" Arshad
How Tracking Companies Circumvented Ad Blockers Using WebSocketsHow Tracking Companies Circumvented Ad Blockers Using WebSockets
How Tracking Companies Circumvented Ad Blockers Using WebSockets
Day One Keynote by goodfriday
Day One KeynoteDay One Keynote
Day One Keynote
goodfriday391 views
8,000 Sites and Counting: Running a *Huge* WordPress Service by Billy Hylton
8,000 Sites and Counting: Running a *Huge* WordPress Service8,000 Sites and Counting: Running a *Huge* WordPress Service
8,000 Sites and Counting: Running a *Huge* WordPress Service
Billy Hylton1.4K views
Discover the Hidden Gems in Webtrends Analytics by Webtrends
Discover the Hidden Gems in Webtrends AnalyticsDiscover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends Analytics
Webtrends 853 views
Discover the Hidden Gems in Webtrends Analytics by Webtrends
Discover the Hidden Gems in Webtrends AnalyticsDiscover the Hidden Gems in Webtrends Analytics
Discover the Hidden Gems in Webtrends Analytics
Webtrends 941 views
There Are No “Buts” in Progressive Enhancement [Øredev 2015] by Aaron Gustafson
There Are No “Buts” in Progressive Enhancement [Øredev 2015]There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
Aaron Gustafson54.9K views
Supply Chain 2030 by Lora Cecere
Supply Chain 2030Supply Chain 2030
Supply Chain 2030
Lora Cecere1.6K views
Blurring the Lines Between TV and Digital by MediaPost
Blurring the Lines Between TV and Digital Blurring the Lines Between TV and Digital
Blurring the Lines Between TV and Digital
MediaPost1.6K views
Canary Analyze All the Things by royrapoport
Canary Analyze All the ThingsCanary Analyze All the Things
Canary Analyze All the Things
royrapoport4.2K views
Seven Ways To Save During a Recession Using PBwiki by PBwiki
Seven Ways To Save During a Recession Using PBwikiSeven Ways To Save During a Recession Using PBwiki
Seven Ways To Save During a Recession Using PBwiki
PBwiki215 views
Mobile + Social + Video by Ryan Osborn
Mobile + Social + VideoMobile + Social + Video
Mobile + Social + Video
Ryan Osborn1.6K views

More from Barbara Bermes

Cheat Sheet to a Lean Website by
Cheat Sheet to a Lean WebsiteCheat Sheet to a Lean Website
Cheat Sheet to a Lean WebsiteBarbara Bermes
1.9K views76 slides
3rd Party Footprint @ Webrebels by
3rd Party Footprint @ Webrebels3rd Party Footprint @ Webrebels
3rd Party Footprint @ WebrebelsBarbara Bermes
1K views102 slides
3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTS by
3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTS3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTS
3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTSBarbara Bermes
4K views90 slides
Smartphones in Today's World by
Smartphones in Today's WorldSmartphones in Today's World
Smartphones in Today's WorldBarbara Bermes
805 views36 slides
Building Energy-Efficient Websites by
Building Energy-Efficient WebsitesBuilding Energy-Efficient Websites
Building Energy-Efficient WebsitesBarbara Bermes
1.2K views16 slides
Developing for Mobile Web by
Developing for Mobile WebDeveloping for Mobile Web
Developing for Mobile WebBarbara Bermes
1.9K views53 slides

More from Barbara Bermes(8)

Cheat Sheet to a Lean Website by Barbara Bermes
Cheat Sheet to a Lean WebsiteCheat Sheet to a Lean Website
Cheat Sheet to a Lean Website
Barbara Bermes1.9K views
3rd Party Footprint @ Webrebels by Barbara Bermes
3rd Party Footprint @ Webrebels3rd Party Footprint @ Webrebels
3rd Party Footprint @ Webrebels
Barbara Bermes1K views
3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTS by Barbara Bermes
3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTS3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTS
3rd party footprint - A PUBLISHER'S TAKE ON CONTROLLING 3RD PARTY SCRIPTS
Barbara Bermes4K views
Smartphones in Today's World by Barbara Bermes
Smartphones in Today's WorldSmartphones in Today's World
Smartphones in Today's World
Barbara Bermes805 views
Building Energy-Efficient Websites by Barbara Bermes
Building Energy-Efficient WebsitesBuilding Energy-Efficient Websites
Building Energy-Efficient Websites
Barbara Bermes1.2K views
Developing for Mobile Web by Barbara Bermes
Developing for Mobile WebDeveloping for Mobile Web
Developing for Mobile Web
Barbara Bermes1.9K views
Business Analysis - Essentials by Barbara Bermes
Business Analysis - EssentialsBusiness Analysis - Essentials
Business Analysis - Essentials
Barbara Bermes3.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

Recently uploaded

Perth MeetUp November 2023 by
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023 Michael Price
15 views44 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
130 views15 slides
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... by
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...NUS-ISS
37 views54 slides
handbook for web 3 adoption.pdf by
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdfLiveplex
19 views16 slides
Throughput by
ThroughputThroughput
ThroughputMoisés Armani Ramírez
36 views11 slides
SAP Automation Using Bar Code and FIORI.pdf by
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdfVirendra Rai, PMP
19 views38 slides

Recently uploaded(20)

Perth MeetUp November 2023 by Michael Price
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023
Michael Price15 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 Canada130 views
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu... by NUS-ISS
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
Architecting CX Measurement Frameworks and Ensuring CX Metrics are fit for Pu...
NUS-ISS37 views
handbook for web 3 adoption.pdf by Liveplex
handbook for web 3 adoption.pdfhandbook for web 3 adoption.pdf
handbook for web 3 adoption.pdf
Liveplex19 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
Future of Learning - Khoong Chan Meng by NUS-ISS
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
NUS-ISS33 views
Future of Learning - Yap Aye Wee.pdf by NUS-ISS
Future of Learning - Yap Aye Wee.pdfFuture of Learning - Yap Aye Wee.pdf
Future of Learning - Yap Aye Wee.pdf
NUS-ISS41 views
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica... by NUS-ISS
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
NUS-ISS16 views
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum... by NUS-ISS
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
Beyond the Hype: What Generative AI Means for the Future of Work - Damien Cum...
NUS-ISS34 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 views
DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg14 views
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb12 views
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen... by NUS-ISS
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
Upskilling the Evolving Workforce with Digital Fluency for Tomorrow's Challen...
NUS-ISS28 views
PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi120 views

The Canadian Public Broadcaster on a Diet: Slimming down for a whole nation