Concatenating JS doesn't necessarily make things faster, since (as the article mentions) modern browsers will download up to 8 assets in parallel. If JS is delivered separately, the browser doesn't have to wait for all of it to be downloaded before parsing and executing any of it--they can be parsed (and potentially executed) in parallel.
"External JavaScript files in <head> – All of those JavaScript files nested inside the <head> tag, further delaying the start of page rendering."<p>Sometimes the head is the best place to put the javascript. I didn't look into what javascript they are loading there, but there are times the user experience is improved by it.
And they didn't tell anything about what apple did to make it fast. About this for instance<p><pre><code> Betty:~ lelf$ dig www.apple.com
[…]
;; ANSWER SECTION:
www.apple.com. 1434 IN CNAME www.isg-apple.com.akadns.net.
www.isg-apple.com.akadns.net. 21 IN CNAME www.apple.com.edgekey.net.
www.apple.com.edgekey.net. 21234 IN CNAME e3191.c.akamaiedge.net.
e3191.c.akamaiedge.net. 20 IN A 23.32.109.15
[…]
</code></pre>
(If you really don't understand: <a href="http://en.wikipedia.org/wiki/Akamai_Technologies" rel="nofollow">http://en.wikipedia.org/wiki/Akamai_Technologies</a> <a href="http://en.wikipedia.org/wiki/Content_delivery_network" rel="nofollow">http://en.wikipedia.org/wiki/Content_delivery_network</a>)<p>EDIT: formatting, links
Question: have the average file-sizes of websites gone up proportionately to bandwidth increases? It seems to me like bandwidth has increased enormously, but filesizes have capped between 600k–1 megabyte. Shaving tenths of seconds off pageloads might not be as important as improving the speed of render.
I think the author merged in two terms of his analysis of performance that are really separate:<p>- Response Time (how long does it take per task)
- Throughput (how many tasks can we complete per N)<p>For some of us, getting better responses means in-and-out quicker and so its easier to serve more throughput. For apple, they have <i>plenty</i> of capacity, so new product launches aren't really a motivation to improve response. They will we able to support that volume anyway. The motivation would be to improve user experience.
For me, the most noticeable thing is the time it takes to load that enormous .png file. It's only 500KB but it still took 2 or 3 seconds to load for some reason.
Ironically, Google Pagespeed tells us this about zoompf.com:<p>High priority<p><pre><code> Compressing the following resources with gzip could reduce their transfer size by 235.5KiB (72% reduction).
Compressing http://zoompf.com/js/jquery-ui.min.js could save 142.7KiB (74% reduction).
Compressing http://zoompf.com/js/jquery.min.js could save 62.5KiB (66% reduction).
Compressing http://zoompf.com/wp-content/themes/NewZoompf/style.css could save 24.9KiB (77% reduction).
Compressing http://zoompf.com/js/animations.js could save 4.0KiB (75% reduction).
Compressing http://zoompf.com/.../wp-page-numbers.css could save 1.4KiB (73% reduction).
</code></pre>
Medium Priority<p><pre><code> The following cacheable resources have a short freshness lifetime. Specify an expiration at least one week in the future for the following resources:
http://zoompf.com/images/background_pages.png (expiration not specified)
http://zoompf.com/images/clipboard.png (expiration not specified)
http://zoompf.com/images/handles.png (expiration not specified)
http://zoompf.com/images/pages.png (expiration not specified)
http://zoompf.com/images/report.png (expiration not specified)
http://zoompf.com/images/streak.png (expiration not specified)
http://zoompf.com/js/animations.js (expiration not specified)
http://zoompf.com/js/jquery-ui.min.js (expiration not specified)
http://zoompf.com/js/jquery.min.js (expiration not specified)
http://zoompf.com/.../wp-page-numbers.css (expiration not specified)
http://zoompf.com/wp-content/themes/NewZoompf/style.css (expiration not specified)
http://zoompf.com/.../freedownload.jpg (expiration not specified)
http://zoompf.com/.../freeperformancescan.jpg (expiration not specified)
http://zoompf.com/.../logo-disrupt.jpg (expiration not specified)
http://zoompf.com/.../logo-virgin-america.png (expiration not specified)
http://zoompf.com/.../social-icons-32.png (expiration not specified)
http://zoompf.com/.../video-icon.png (expiration not specified)
</code></pre>
They basically don't follow their own advice. Credibility -> toilet.
I'm using the RequestPolicy addon for Firefox (I realize I'm in a tiny minority...). When visitng a website that uses domain sharding for the first time, that means I have to allow cross-site requests to the other domains.<p>My plea to web-admins: Try to at least make the names of the shards recognizable. I've seen sites where the domain is essentialy "mynewspaper.com" and it needs data from "xac1h139a.com" to display correctly. Now go find the right domain to allow within the dozens of cross site requests that such sites are often using...<p>Edit: This is a comment on his suggestion to use domain sharding. His site is fine.