The Code4Lib Journal – Book Review: 3 Titles from A Book Apart Mission Editorial Committee Process and Structure Code4Lib Issue 14, 2011-07-25 Book Review: 3 Titles from A Book Apart Three recently published books by A Book Apart, the book-publishing arm of the website A List Apart, offer concise, high-impact introductions to three tools that can be employed in facing this challenge: HTML5, CSS3, and content strategy. This article reviews the books “HTML5 For Web Designers” by Jeremy Keith; “CSS3 for Web Designers” by Dan Cederholm; and “The Elements of Content Strategy” by Erin Kissane. by Nathan Mealey Introduction Faced with a diverse range of content and devices to model it for, and an array of users with unique information-seeking needs, web-developers face a significant challenge in creating highly usable, content-rich websites. Three recently published books by A Book Apart offer concise, high-impact introductions to three tools that can be employed in facing this challenge: HTML5, CSS3, and content strategy. A Book Apart is the print-publishing venture from A List Apart, the web-design site that was founded in 1998. From the outset the site’s creators adopted unique approach and voice, developing a standards-based design for its site (remember that this was 1998) and writing articles that blended timely topics, advocating best practices, and voicing provocative opinions on the state of web design. Since then, A List Apart has published over 300 articles, and in the process has established itself as one of the most prominent voices in the web-design world. In 2010 they launched A Book Apart with the goal of publishing “highly detailed and meticulously edited examinations of single topics…The goal of every title in our catalog is to shed clear light on a tricky subject, and do it fast, so you can get back to work.” [1]  A Book Apart’s first title, HTML5 For Web Designers, came out last fall, and was quickly followed by CSS3 For Web Designers. The third title, The Elements Of Content Strategy, was published this past spring. Each book is written by an expert in the field who explores their subject through well-written text and step-by-step examples, and each provides a range of compelling reasons for why you should be designing your content and sites using these tools. HTML For Web Designers by Jeremy Keith In this book, Jeremy Keith deftly turns a potentially dry subject into compelling reading. He kicks off the book by laying out the genesis of HTML5, a saga which makes an interesting story all on its own. The path leading to the creation of the HTML5 standard has been a circuitous one that reflected two different visions of web-development’s future: one based on defining a whole new, non-backwards-compatible, XML-based standard versus one based on proven practices in HTML/XHTML and the assurance of backwards-compatibility. In the end, HTML5 definitively embodied the latter, as the book sets out to demonstrate. Keith begins by delving into the broad strokes of HTML5, first illustrating the design principles that it embodies: “do not reinvent the wheel” and “pave the cowpaths”. [2] Ostensibly, with the design of HTML5, the goal was to take established ways of accomplishing development tasks and codify them in the HTML5 standard. At the same time, in order to support existing content a priority was placed on making HTML5 backwards-compatible. Keith states that, “On the one hand, the specification needs to be powerful enough to support the creation of web applications. On the other hand, HTML5 needs to support existing content…It’s a delicate balancing act that requires a pragmatic, level-headed approach.” [3]  Ultimately, this is an approach that will depend on the efforts of browser makers implementing the standards, and designers using them. With this in mind, Keith begins illustrating the key aspects of HTML5, starting with some of the basic elements that are new or changed, such as the simplified syntax of the HTML5 doctype declaration () or stylesheet call (); elements that have been identified as obsolete in the new specification, including the frame, frameset, font, big, strike, bgcolor, cellspacing, valign, and others; [4] and the new Javascript APIs that are built into the specification. The new Javascript APIs are a particularly exciting aspect of HTML5, as they should result in common Javascript tasks being both well documented and consistent from browser-to-browser. Keith then goes on to tackle the HTML5’s support for “Rich Media”, specifically how audio and video content can be delivered using the HTML5 element. He gives a number of examples for safely using this new element in current browsers, and really demonstrates the potential inherent in this powerful new element. His examples cover the ability to conditionally deliver content based on a device’s capabilities, to include native playback controls, and for styling embedded media. This should be particularly relevant for developers whose sites deliver a range of content that will be accessed on myriad devices (some of which will not support Flash). Following this, Keith next looks at HTML5’s new features for web forms. HTML5 gives developers a range of exciting tools for improving forms, such as the ability to add placeholder text using the placeholder attribute for input tags, requiring validation via the required attribute, and the new datalist element that merges together the functions of an input element with a select element. He also touches on some of the new input types, including contact-related types (email, url, and tel), dates, times, sliders, color pickers and even regular-expression based patterns (using the pattern attribute). In each case, he provides clear, relevant examples that illustrate putting these new types into practice, and what to expect from different browsers. Keith devotes a whole chapter to the role of semantics in HTML5. At first, this area of HTML5 may seem somewhat arcane, until you get to his discussion of using the new semantics for structuring your pages by using the
,
,