There is nothing in this talk that is specific to MWF. The entire talk is about the mobile web generally.
.edu Mobile Web Performance
These numbers are actually pretty good. It's because a lot of these sites are plain and minimal. Which is
fine if that's what you're going for. Since you're here, it's probably not what you're going for.
Max.: 36.307 http://www.uaf.edu/mobile/ responsive which tends to fare poorly on initial load although sometimes does a little better when cached, this one is 47 requests totalling 1.169 Mb. Not the worst by a long shot, though:
m.providence.edu (319/322) 119 requests 1.644 Mb
wofford.edu (315/322) 27 requests 4.112 Mb
wvutoday.wvu.edu is 58 requests and 1.730 Mb
UCSF 104/322
Berkeley 247/322
UCLA 254/322
UCSD 264/322
.edu Mobile vs. Top Web Sites
It's apples and oranges (top sites are not necessarily mobile etc.), but just to get an idea of what's "normal"...
Min.
1st Qu.
Median
Mean
3rd Qu.
Max.
.edu
0.586s
1.778s
2.565s
3.183s
3.554s
36.307s
top
0.570s
2.870s
5.129s
7.798s
8.920s
60.002s
Top sites from mobile.httparchive.org data dump.
Min.: .570 www.megaupload.com
1st Qu.: 1.778 www.subito.it
Median: 2.870 www.free.fr
Mean: 7.798 www.bhaskar.com
3rd Qu.: 8.920 www.tabnak.ir
Max.: 60.002 www.pcauto.com.cn
Performance Optimization
Optimize what is most important, not what is most interesting.
I don't remember who said this. If you know, tell me.
Performance Optimization
Don't do faith-based optimizations. Measure the results.
Me
Things I use most often for measurements are:
webpagetest.org (iPhone and Nexus)
RUM via GA Site Speed (up your sampling to 100% if you get fewer than 10,000 pageviews/day)
Things that mattered
(for my site, YMMV)
Things that mattered
HTTP compression
mod_deflate
Things that mattered
Optimize images
ImageOptim
Things that mattered
Eliminate redirects
iPhone loading m.ucsf.edu/library is more than 2.5s faster than iPhone being redirected to the same
place by going to library.ucsf.edu
Things that mattered
Preload large CSS images
<img style="display:none" alt="" src="huge.png">
Don't wait for DOM to be loaded, CSS to load and be parsed and a rule to match before the image is loaded.
Things that mattered
Remove unused JS code
Customize Modernizr
Things that mattered
Defer JS
window.onload = function () {
var deferred = document.createElement('script');
deferred.src = 'my.js';
document.body.appendChild(deferred);
}
defers not just execution but also download (unlike defer or async)
that's good if the mobile device only has a finite number of connections (it does) and you want to make sure you're not wasting one that could be serving something the user will actually see
Steve Souders's Control.JS does that too, but only parses/executes when asked, so that's cool for more control. It downloads with an alternate type, and then changes the type to text/javascript
if you don't like this and Steve Souders's Control.JS is overkill then just put scripts at bottom
also perhaps the secret sauce here: doesn't delay load event the way defer does
another technique: load JS in script tags but comment the whole block out. if needed, eval string with the comment delimiters stripped
OK, maybe you don't need it if you've made a conscious decision that your site is purely utilitarian.
You probably have not made that decision. Don't do a half-hearted job on the look and feel. An OK job makes
the site look like it's trying and failing. Take the extra time and hopefully small amount of money required
to make it great. People will believe your site functionality is better than it is just because it looks
good!
A typical .edu mobile site loads in 2.5s.
Do better than that.
Yes, I'm simplifying here. This is an iPhone over Wi-Fi based on the test results cited earlier, done using webpagetest.org. Obviously, if you load over 3G, it will be slower, etc.
A fast .edu mobile site loads in 1.75s or less.
Do better than that too!
Repeat from previous slide's notes:
Yes, I'm simplifying here. This is an iPhone over Wi-Fi based on the test results
cited earlier, done using webpagetest.org. Obviously, if you load over 3G, it will be slower, etc.