Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Web Performance Daybook, Volume 2
Foreword
From the Editor
About the Authors
Patrick Meenan
Nicholas Zakas
Guy Podjarny
Stoyan Stefanov
Tim Kadlec
Brian Pane
Josh Fraser
Steve Souders
Betty Tso
Israel Nir
Marcel Duran
Éric Daspet
Alois Reitbauer
Matthew Prince
Buddy Brewer
Alexander Podelko
Estelle Weyl
Aaron Peters
Tony Gentilcore
Matthew Steele
Bryan McQuade
Tobie Langel
Billy Hoffman
Joshua Bixby
Sergey Chernyshev
JP Castro
Pavel Paulau
David Calhoun
Nicole Sullivan
James Pearce
Tom Hughes-Croucher
Dave Artz
Preface
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
1. WebPagetest Internals
Function Interception
Code Injection
Resulting Browser Architecture
Get the Code
Browser Advancements
2. localStorage Read Performance
The Benchmark
What’s Going On?
Optimization Strategy
Follow Up
3. Why Inlining Everything Is NOT the Answer
No Browser Caching
No Edge Caching
No Loading On-Demand
Invalidates Browser Look-Ahead
Flawed Solution: Inline Everything only on First Visit
Summary and Recommendations
4. The Art and Craft of the Async Snippet
The Facebook Plug-ins JS SDK
Design Goals
The Snippet
Appending Alternatives
Whew!
What’s Missing?
First Parties
Parting Words: On the Shoulders of Giants
5. Carrier Networks: Down the Rabbit Hole
Variability
Latency
Transcoding
Gold in Them There Hills
4G Won’t Save Us
Where Do We Go from Here?
Light at the End of the Tunnel
6. The Need for Parallelism in HTTP
Introduction: Falling Down the Stairs
Current Best Practices: Working around HTTP
Experiment: Mining the HTTP Archive
Results: Serialization Abounds
Recommendations: Time to Fix the Protocols
7. Automating Website Performance
8. Frontend SPOF in Beijing
Business Insider
CNET
O’Reilly Radar
The Cause of Frontend SPOF
Avoiding Frontend SPOF
Call to Action
9. All about YSlow
10. Secrets of High Performance Native Mobile Applications
Keep an Eye on Your Waterfalls
Compress Those Resources
Don’t Download the Same Content Twice
Can Too Much Adriana Lima Slow You Down?
Epilogue
11. Pure CSS3 Images? Hmm, Maybe Later
The Challenge
Getting My Hands Dirty with CSS3 Cooking
Cross-Browser Results
Benchmarking
Payload
Rendering
Are We There Yet?
Appendix: Code Listings
HTML
CSS
12. Useless Downloads of Background Images in Android
The Android Problem
And the Lack of Solution
13. Timing the Web
Conclusion
14. I See HTTP
icy
Some details
Walkthrough
Todos
The Road Ahead
All I Want for Christmas…
15. Using Intelligent Caching to Avoid the Bot Performance Tax
16. A Practical Guide to the Navigation Timing API
Why You Should Care
Collecting Navigation Timing Timestamps and Turning Them into Useful Measurements
Using Google Analytics as a Performance Data Warehouse
Reporting on Performance in Google Analytics
Limitations
Final Thoughts
17. How Response Times Impact Business
18. Mobile UI Performance Considerations
Battery Life
Latency
Embedding CSS and JS: A Best Practice?
Memory
Optimize Images
Weigh the Benefits of CSS
GPU Benefits and Pitfalls
Viewport: Out of Sight Does Not Mean Out of Mind
Minimize the DOM
UI Responsiveness
Summary
19. Stop Wasting Your Time Using the Google Analytics Site Speed Report
Problem: A Bug in Firefox Implementation of the Navigation Timing API
Solution: Filter Out the Firefox Timings in Google Analytics
Good News: The Bug Was Fixed in Firefox 9
Closing Remark
20. Beyond Web Developer Tools: Strace
What About Other Platforms?
Getting Started
Zeroing In
Example: Local Storage
We’ve Only Scratched the Surface
21. Introducing mod_spdy: A SPDY Module for the Apache HTTP Server
Getting Started with mod_spdy
SPDY and Apache
Help to Improve mod_spdy
22. Lazy Evaluation of CommonJS Modules
Close Encounters of the Text/JavaScript Type
Lazy Loading
Lazy Evaluation to the Rescue
Building Lazy Evaluation into CommonJS Modules
23. Advice on Trusting Advice
24. Why You’re Probably Reading Your Performance Measurement Results Wrong (At Least You’re in Good Company)
The Methodology
The Results
Conclusions
Why Does This Matter?
Takeaways
25. Lossy Image Compression
Lossy Compression
26. Performance Testing with Selenium and JavaScript
Recording Data
Collecting and Analyzing the Data
Sample Results
Benefits
Closing Words
Credits
27. A Simple Way to Measure Website Performance
Concept
Advantages
Limitation
Conclusion
28. Beyond Bandwidth: UI Performance
Introduction
After the Page Loads: The UI Layer
UI Profilers
CSS Stress Test
CSS Profilers
CSS Lint
DOM Monster
Perception of Speed
Tidbits
Call for a Focus on UI Performance
29. CSS Selector Performance Has Changed! (For the Better)
Style Sharing
Rule Hashes
Ancestor Filters
Fast Path
What Is It Still Slow?
30. Losing Your Head with PhantomJS and confess.js
Performance Summaries
App Cache Manifest
Onward and Upward
31. Measure Twice, Cut Once
Identifying Pages/Sections
Identifying Features
Optimizing
32. When Good Backends Go Bad
What Is a Good Backend Time?
Figuring Out What Is Going On
Fixing It
Finally
33. Web Font Performance: Weighing @font-face Options and Alternatives
Font Hosting Services Versus Rolling Your Own
What the FOUT?
Removing Excess Font Glyphs
JavaScript Font Loaders
Introducing Boot.getFont: A Fast and Tiny Web Font Loader
Gentlefonts, Start Your Engines!
My Observations
Final Thoughts
About the Author
Colophon
Copyright
← Prev
Back
Next →
← Prev
Back
Next →