writing good CSS → based around the idea semantic rules for styling → reduces coupling and improves code maintainability, which makes removing dead CSS code a reality 9
optimize content delivery, however not all them implement HTTP/2 fully, and some of them do it differently Take Firefox vs Chrome and HTTP/2 request prioritization: 22
delivery with connection multiplexing and headers compression → Lazy fetching is costly in terms of battery usage → Burst your data and return to idle - Ilya Grigorik, High Performance Browser Networking 25
up HTTPS session resumption, OCSP stapling, and optimal TLS and TCP frame size, all of which particularly affect mobile clients → HTTP/2 connection multiplexing means just a single TLS negotiation per origin 26
optimizing served assets - still a substantial amount of traffic not using it → Zopfli 5% of extra size reduction for the price of longer compression → Brotli offers roughtly 20% better compression than Zopfli - coming soon to Chrome & Firefox 27
Particularly affects mobile clients or those far from origin servers → cumulative factor - does not improve with time → a round trip from Amsterdam to Sydney takes ~ 300ms, like on an average 3G connection 30
HTTP/1 fallback ✔ Replace inlining with HTTP/2 server push ✔ Move content closer to clients to reduce latency ✔ Optimize network stack for optimal mobile & desktop delivery 32
it's going to be → Optimal CSS batches => better perceived speed → Chrome / Opera CSS parser offers 15-25% speedup, can one day do it on a separate thread → Firefox experimental parallel CSS parser 34
CSS batches minimize blocking behaviour → Above the fold rendering, via CSS inlining (HTTP/ 1) or server push (HTTP/2), to render critical CSS and defer the rest 35