Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The 12MB Web Page: A tale of perfect PageSpeed scores & developer happiness
Search
Ben Smithett
May 09, 2016
Technology
1
290
The 12MB Web Page: A tale of perfect PageSpeed scores & developer happiness
Quick little talk I did at an Envato Code Party on May 9 2016.
Ben Smithett
May 09, 2016
Tweet
Share
More Decks by Ben Smithett
See All by Ben Smithett
Atomic CSS with Fela
bensmithett
0
54
Objects in Space: A practical guide to CSS display, position & z-index
bensmithett
0
19
The UI is an Application
bensmithett
0
1.1k
Hands on with the modern front end stack
bensmithett
0
1.1k
The New Front End Stack: A really really really high level introduction
bensmithett
1
430
Smarter Sass/Less Builds with Webpack (MelbJS Edition)
bensmithett
0
280
Smarter Sass builds with Webpack
bensmithett
1
180
Faking Real Time: Optimistic Updates & Eventual Consistency (Decompress 2015)
bensmithett
0
450
Other Decks in Technology
See All in Technology
ユーザーストーリーのレビューを自動化したみたの
bun913
1
330
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
600
クラウドサインにおけるプロダクトマネージャーの役割と開発プロセス / 20240410_cloudsign-PdM
bengo4com
1
680
普段有償でサポート業務をしているCSAが技術知見を無料で公開する理由
07jp27
1
640
強みを伸ばすキャリアデザイン
yug1224
0
200
「共通基盤」を超えよ! 今、Platform Engineeringに取り組むべき理由
jacopen
25
5.9k
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
14
35k
2024/4/26 コンピュータ歴史博物館解説告知
toshi_atsumi
0
200
なぜ NOT A HOTEL が Web3 に取り組むのか - NOT A HOTEL TECH TALK
ynunokawa
0
160
オブザーバビリティの Primary Signals
onk
PRO
0
550
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
180
スタートアップの技術顧問を3年間続けて発生した事と気付き
biwakonbu
0
160
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
119
38k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
51k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
The Brand Is Dead. Long Live the Brand.
mthomps
48
28k
Being A Developer After 40
akosma
56
580k
The Illustrated Children's Guide to Kubernetes
chrisshort
29
46k
What's in a price? How to price your products and services
michaelherold
237
11k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.4k
Transcript
The 12MB Web Page A tale of perfect PageSpeed scores
& developer happiness
None
None
None
A static HTML page + some photos Fast? Easy to
build? Free?
Fast?
https://eev.ee/blog/2016/03/06/maybe-we-could-tone-down-the-javascript/
http://idlewords.com/talks/website_obesity.htm
Web pages are pretty fast by default! They only get
slow when we add “clever” cruft
on the other hand…
Photos are biiiiiiiiiig!
The challenge: Can I make a blazing fast, image- heavy
web page without resorting to lots of hacks & workarounds
How fast can a simple HTML document be?
None
None
None
None
None
Speed Index: 1613 In the fastest ~10% of all websites
Optimisation #1 A truthful browser spinner
https://medium.com/@kellycatchpole/10-best-dog-breeds-for-your- family-22ea2cdde78d Browser says page has finished loading LIES!!!!
Don’t make the browser spinner lie. When the page says
it’s done loading, it’s really done!
Optimisation #2 Progressive JPEG
None
Optimisation #3 Responsive Images
Widescreen + Retina: 11.1MB Tablet + Retina: 9.8MB Phone +
Retina: 8.7MB Widescreen: 7.8MB Tablet: 6.5MB Phone: 1.7MB
Optimisation #4 Font Face Observer
None
https://github.com/bramstein/fontfaceobserver
None
Optimisation #5 <script async src=“…”>
Optimisation #6 Cache everything forever
None
Optimisation #7 Use a CDN
None
Notable absentees: • “Critical CSS” • Loading content asynchronously •
Anything very tricky or hacky at all…
Easy to build?
I couuuld hand-write the HTML & CSS for this, but
I want…
• A living styleguide! • Sass! • Hot reloading! •
Reusable components!
The tooling: • React (no client side!) • Webpack +
static-site-generator-webpack-plugin • Sass • CSS Modules
React is a better back-end templating language than your favourite
back-end templating language.
None
None
Free?
GitHub Pages + CloudFlare =
GitHub Pages has pretty crappy caching settings…
None
But if you stick CloudFlare in front of it…
Easy cache header setting!
Free SSL! (well, “flexible SSL”)
A static HTML page + some photos Fast Easy to
build Free ✅ ✅ ✅