Book Review: Web Performance DayBook Volume 2

Web Daybook Cover Image

Available from O'reilly Publishing

The second volume from O'reilly Publishing wasn't what I expected it to be at all. Having not read the first book, I didn't know what it might contain. I received the book from the publisher for review and was actually pleasantly surprised by its contents.

Essentially it is a collection of blog posts regarding, well, web site performance. You might wonder at the value of a printed book that contains blog posts that are freely available from the web, and initially I did too, but after reading the book, I certainly can now find a purpose and a place for it.

Aside form the fact that you can read it anywhere without a network connection, (including below 10,000 feet on an airplane), it saves you searching and weeding through plethora of posts about website performance.

The book is structured in chapters, with each chapter containing a prominent post dealing with something that has to do with website performance. Essentially it is similar to the web in that it doesn't have a beginning or end that progresses as the pages do. Given this format, I started by randomly choosing a chapter and then reading it.

You may not be able to apply every chapter to your own work, but you certainly can glean something from each chapter.

Delightfully, some chapters were heavy on code and technical information, while others presented more theory and general ideas for increasing your we site's performance. Thankfully, there are chapters devoted to mobile and desktop performance as well as server performance too.

For instance, Chapter 17, "Response Times Affect Business", dealt with the psychological and sociological aspects of page loading times. This chapter deals with user perceptions of response time when dealing with any interface and through data demonstrates how page-load times can often lead to them leaving your site.

Chapter 3, "Why Inlining Everything is NOT the Answer", was another favorite of mine. This chapter wasn't heavy on code, but used real examples of site's to explain the concepts of reducing the number of HTTP requests and how this can affect your page's performance.

Chapter 5, "Carrier Networks", examined the conundrum of despite every effort to optimize and improve your site's performance, mobile users might still be choked by their data carrier.

Chapter 4, "The Art and Craft of the Async Snippet", dealt with asynchronous javascript and used a Facebook widget as an example to help you improve the javascript on your page.

One chapter that I initially skipped over, but was glad I went back and read was Chapter 8, "Front-end SPOF in Beijing". Initially I assumed it wouldn't apply to me at all, since I don't speak Chinese and probably won't do any development work for a Chinese client soon. However, after reading it I found it could apply to any user who isn't able to load the javascript contained on your page. This chapter would have been great to include before or after Chapter 4 since it offers a solution to this problem. China was used as an example because of the firewall in place by their government that blocks certain sites.

Chapter 9, "All About "YSlow" offered insight into yahoo's page-speed analysis tool in a general way.

A great code-heavy chapter was Chapter 11, "Pure CSS3 Images". This is a code-heavy chapter that goes into great detail and actually teaches you what the title says.

The only issue I encountered in the book were the charts and graphs in Chapter 2, "LocalStorage Read Performance". In the print version that I received, the shading for the charts made it impossible to correlate the legend provided and made the data difficult to comprehend. Other than the presentation of these charts, this chapter provided good information as to how storing information on the user's machine can affect the perceived performance of your site. It helped answer the question of "How expensive is this operation really?"

If you judge this book by its title like I did, you might be in for a pleasant surprise. I first thought it might be a book about Apache or NGINX tuning or maybe CSS or javascript aggregation, but I found it complemented these concepts well by offering small tips and tricks that you may not have considered and verifiable information that these techniques actually work. You may not use every chapter since it may not even apply to you, but you are almost guaranteed to glean something from this book. At O'reilly's prices, it certainly is worth the money spent.