Northeast Book Reviews
Home
Back to the NEBR Homepage "" We've got reviews of some great fiction works you may not even have heard of - and of course, many you have! Read the reviews . . . "" Check out the works we're reviewed on topics ranging from Biography & Memoir to Cooking! Read the reviews . . . Learn about our staff and freelance reviewers
Meet NEBR People



Visit Eleven Limited, LLC

Speed Up Your Site: Web Site Optimization by Andrew B. King

Jacket: Hardcover
Pages: 528 pages
Publisher: New Riders Books; (January 2003)
Genre: Web Technology
ISBN: 0735713243

Comments about the author: Andrew B. King is the founder of WebReference.com and JavaScript.com, both award-winning developer sites from internet.com. Created in 1995 and subsequently acquired by Mecklermedia (now Jupitermedia) in 1997, WebReference has grown into one of the most popular developer sites on the Internet. While he was Managing Editor of WebReference.com and JavaScript.com, Andy became the "Usability Czar" at internet.com, where he optimized the speed and usability of their sites. He continues to write the two weekly newsletters he started for WebReference.com.
Visit the author's website


Review: The World Wide Web has undergone a significant evolution since Tim Berners-Lee proposed his “global hypertext project” in 1989. Many tools, scripting languages, design methods, and server management technologies have come and gone during the Web’s rapid rise to ubiquity. Enduring technologies continue to change at a frenetic pace.

During the Web’s novelty period, users were more focused on the “wow” factor than the actual performance of the medium. We were astonished that we could so easily shop online, conduct research, entertain ourselves, and connect with other people. As more bandwidth became available, designers continued to try and dazzle us, pushing the limits of site design and adding more complexity. They served us big, beautiful (read: slow-loading) graphics, pop-up windows, gratuitous Flash movies, and other “cool” features.

Now the novelty period is over. We want information, and we want it quickly. As the opening sentence of Andrew B. (Andy) King’s Speed Up Your Site: Web Site Optimization states, “People hate to wait” (p. 3). The back cover of the book bears a stern warning for site owners who sell products and services: “You have only a few seconds to get compelling content onto the screen. Fail, and you can kiss your customers and profits goodbye.”

Speed Up Your Site is a well-researched, comprehensive guide to Web site optimization (WSO). Andy King and his contributing authors are all specialists in optimization and data compression within their respective fields:

The founder and Managing Editor of WebReference.com and JavaScript.com, King began specializing in Web site optimization in 1993, after years of experience in design optimization and engineering consulting.

Software engineer Konstantin Balashov has devoted his entire career to data and image compression and research. Balashov co-wrote Chapter 12, “Optimizing Web Graphics,” and wrote Chapter 18, “Compressing the Web.”

Jason Wolf founded Wolf Studios, a multimedia engineering firm in San Francisco. The author of a number of technology books and articles, Wolf wrote Chapter 13, “Minimizing Multimedia,” and Chapter 14, “Case Study: Apple.com.”

Written primarily for “intermediate to advanced designers and developers, and to anyone who wants a competitive web site” (p. xxiv), Speed Up Your Site is a unique combination of research and how-to information. A brief foreword by Jakob Nielsen encourages all Web designers to “Employ the optimization techniques you will learn in this book, and any web site will grow its base of loyal users and paying customers” (p. xix).

Part I, “The Psychology of Performance”

In Speed Up Your Site, Part I, Chapter 1, “Response Time: Eight Seconds, Plus or Minus Two” uses footnoted research examples from the field of Human-Computer Interaction (HCI) to prove that a Web site’s speed is the key factor to attracting customers and ensuring that they return. Brian Shackel’s Acceptability Paradigm (utility, usability, and likeability) is used as a model for determining which factors influence users’ impressions of a site. The research of Dr. Ben Shneiderman is the basis for discussing the relationship between response time and user satisfaction. Page 13 features a short interview with Shneiderman, during which he asserts that “Speed is the strongest correlate of user satisfaction.”

While research has shown that users can “attune” to the variability of connection speed and response times, King recommends that Web designers and developers do whatever they can to minimize such variability. Chapter 1 lists site performance goals and recommended load times. For example, since the majority of Web users are still using dialup connections, King suggests that “high-traffic” pages should load non-incrementally displayed content in eight seconds on a 56Kbps modem, with the most useful content appearing within two seconds (p. 11). Site designers can reduce waiting anxiety by building in continuous feedback mechanisms such as linear progress bars.

A well-designed, fully optimized Web site enables users to experience flow, defined in Chapter 2 as “a positive, highly enjoyable state of consciousness that occurs when our perceived skills match the perceived challenges we are undertaking” (p. 29). The focus on flow is based on the research of Mihaly Csikszentmihalyi, professor and former chair of the Department of Psychology at the University of Chicago. In the context of Web optimization, users experience a state of flow when they feel that they are in control over their interaction with a site. Speed is at the top of the list of factors that enable flow, but other important considerations for designers include unambiguous feedback, clear navigation, and simplicity (p. 36).

After making the case for optimization in Part I, Parts II through VI of Speed Up Your Site provide detailed techniques for optimizing code, images, and data. Each section culminates with a useful case study chapter, showcasing a Web site that needs optimizing and applying the techniques discussed in the previous section chapters to improve the site. This review does not describe the case study chapters, since each one essentially uses examples from the section chapters that precede it.

Part II, “Optimizing Markup: HTML and XHTML”

Part II reminds us that “HTML optimization is the key for fast page display” (p. 42). Many Web design books teach rules for coding HTML but discuss optimization only for images and streaming media. Speed Up Your Site encourages designers to pay more attention to streamlining their code. Part II provides a detailed, 11-step method for reducing HTML bloat; explains how to optimize HTML tables and forms, abbreviate URLs, and apply HTML compression; and covers rules and conventions for HTML’s more exacting cousin, XHTML.

Web professionals may be surprised by some of King’s recommendations in Part II. He suggests removing white space and keeping comments sparse, stating that “most users don’t have to read your markup; they just want your information fast” (p. 45). He recommends that development teams maintain easy-to-read, well-commented pages and deploy a server script to remove comments and extraneous white space, delivering optimized versions of the same pages.

Part III, “DHTML Optimization: CSS and JavaScript”

In Part III, King continues to lobby for stripped-down markup. Designers can clean up CSS and JavaScript by reducing comments and white space. While Part III recommends site-wide linking of external style sheets (.css files) and JavaScript files (.js files) to improve site caching, it also states that short embedded style declarations and small JavaScripts may sometimes minimize HTTP requests in high-traffic pages. Server administrators will simply have to test for efficiency.

The two CSS chapters (7 and 8) offer a wealth of optimization techniques. Chapter 7 encourages designers to take advantage of inheritance, using “simple selectors that are high in the document tree to set global and element-wide styles” (p. 165). Also, where possible, selectors that share the same declaration can be grouped. For example, if the first three heading levels are to appear in blue, a one-line declaration such as the following can be used: h1, h2, h3 {color:blue;}.

The CSS chapters also discuss the following techniques within the context of optimization:

  • using shorthand properties to combine multiple property definitions and truncate RGB triplets (color declarations);
  • specifying relative and absolute length units;
  • using CSS2 image rollovers instead of JavaScript rollovers; and
  • using CSS positioning to control page layouts

Speed Up Your Site specifies two approaches for optimizing JavaScript: optimizing for download speed (Chapter 9) and for execution speed (Chapter 10). A combination of the two may be used, depending on the purpose of the scripts.

Optimizing JavaScript for download speed is useful for such features as cascading menus. Some of the same techniques used for optimizing HTML and CSS still apply: reduce white space, reduce comments, and load scripts in external files. JavaScript offers much more flexibility for optimizing code, however, because it enables developers to abbreviate variable, function, and object names. Still, manually “crunching” code can be labor-intensive, and Chapter 9 lists several automated programs for accomplishing this purpose.

Chapter 10 is geared toward developers who write longer, more complex scripts that may require optimization for execution speed, such as code used to create interactive games. As the sidebar on p. 212 points out, JavaScript is slower than compiled languages because it is “an interpreted language that usually is run over a network.” Developers are encouraged to follow a three-step process:

  1. Choose algorithms and data structures wisely, using built-in functions where possible;
  2. Refactor the code: Write, test, debug, and rewrite scripts so that they are short and efficient; and
  3. Minimize the interaction between JavaScript and the Document Object Model (DOM). Chapter 10 provides techniques for keeping this interaction to a minimum.

Part IV, “Graphics and Multimedia Optimization”

Part IV is devoted to balancing the visual aspects of site design with fast performance. Chapter 12, “Optimizing Web Graphics,” assumes a basic knowledge of the Web’s major graphic formats (JPEG, GIF, and PNG) and their recommended usage. This chapter recommends techniques for capturing, preparing, and correcting all types of images and then recommends different techniques for optimizing each type. The covered techniques include weighted optimization, minimization of bit-depth, indexed color, dithering, interlacing, and transparency. The challenge of these techniques is to minimize image file size while preserving image quality.

Optimizing the size and speed of multimedia files for the Web is an even greater challenge. CPU and connection speed determine how well a user’s computer can handle streaming media, and many Web users have older equipment and slower connections. In Chapter 13, “Minimizing Multimedia,” author Jason Wolf introduces all of the major audio, video, and animation data types used on the Web, briefly describing the pros and cons of each. Wolf structures the chapter as both a multimedia primer and a tutorial for optimizing multimedia on the Web, with emphasis in the following areas:

  • planning a multimedia project, including a project plan, audience analysis, limiting factors, and any potential copyright issues;
  • using Codecs to compress and decompress video and audio files;
  • using three delivery methods for video playback: streaming, progressive downloading, and “just plain” downloading (p. 296);
  • shooting, optimizing, and compressing video; and
  • optimizing Flash code and content.

Part V, “Search Engine Optimization”

Search Engine Optimization (SEO) is a method of “raising search engine relevance to acquire relevant visitors” (p. 333). SEO is its own book-length topic, but it is presented here as a subset of WSO; optimizing keywords is an integral part of optimizing a Web site. In Chapter 15, “Keyword Optimization,” King recommends that developers research keywords before developing a site and then structure the site around the keywords—even building keywords into the site’s domain name.

After listing and explaining the criteria that search engines use to rank sites, Chapter 15 details a ten-step method for determining and optimizing keywords. This method involves identifying, sorting, and refining keywords, incorporating them into the title and meta tags, and submitting them to search engines.

Part VI, “Advanced Optimization Techniques”

Although most of the sections in Speed Up Your Site emphasize client-side techniques for site optimization, Part VI, “Advanced Optimization Techniques,” covers server-side optimization and data compression.

Chapter 17, “Server-Side Techniques,” encourages developers and administrators to “let the server do more of the work.” Some of the featured optimization techniques use technologies that are pre-installed on servers, while others require administrator installation. Chapter 17 discusses the following topics:

  • using Server-Side Includes (SSIs) to add optimized dynamic content and minimize HTTP requests;
  • creating browser-independent pages by using JSP, PHP, and eXtended Server-Side Includes (XSSI) for browser detection techniques that use environment variables and conditional logic;
  • using Apache’s mod_rewrite module and other techniques for URL abbreviation and expansion; and
  • optimizing forms and CGI scripts.

In Chapter 18, “Compressing the Web,” Konstantin Balashov begins with a discussion of the major text compression algorithms used on the Web. A table on page 409 rates the efficiency ratio of each algorithm in bits per character (bpc). Balashov points out that although many of these algorithms are “pretty old and far from state-of-the-art,” they are unlikely to be replaced anytime soon because they are supported by older browsers, so “we’ve got to work with what we have” (pp. 409-410).

The opening section on Content Compression explains how servers deliver compressed content to browsers and how browsers use content encoding to decompress the data. The following sections approach content compression from both the client side (HTML, CSS, and JavaScript) and the server side (static and dynamic compression techniques). To deploy content encoding on a server, Balashov recommends server-side software such as mod_gzip for Apache or PipeBoost for Microsoft Internet Information Server.

Summary

Speed Up Your Site is an essential reference book for all Web design and development teams. The book is packed with plenty of meaty content, code samples, effective case studies, lists of relevant Web sites, and lists of recommended reading material. Web teams may want to buy several copies; the book appeals to so many related disciplines that team members may hide it—or even fight over it.

For more information, visit Andy King’s companion Web site at http://www.websiteoptimization.com/speed/.

— Reviewed by:
Eddie VanArsdall Eddie VanArsdall

evanarsdall@comcast.net
An Information Design consultant, Eddie lives and works in the Washington, D.C. area. Besides being a techhead, he loves books, travel, nature, food, and wine.

Shop for NEBR Branded items

Reviewers, authors and publishers have been asking for this feature and we're listening! You're proud of the work you've done for Northeast Book Reviews and now you can get something to show that you're a part of the team. Check out our online storefront

About NEBR

ISSN: 1558-5956

NEBR is an online magazine published by Eleven Limited, LLC.