Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Submission + - HTML5: Up and Running by Mark Pilgrim (oreilly.com)

eldavojohn writes: "As you're probably familiar with, HTML is in a transitional period lost somewhere in the mire between versions 4 and 5. That doesn't stop us from using the latest and greatest but it does create a requirement for gracefully falling back when a user does not have native support for features like canvas, video, audio, local storage, web workers and geolocation. HTML5: Up and Running is a great resource for someone tasked with bringing HTML4 webpages up to HTML5 standards but is mediocre to poor in illustrating advanced usage. Example: Pilgrim invests around thirty pages on video while putting at most half a page towards web workers. Some of this not his fault due to support (or lack thereof) but the book felt skimpy at a couple hundred pages. Personally, this book is worth something if only for the many wrapper scripts and work arounds like Modernizr complete with code snippets. This book is for the beginner to intermediate developer and developers tasked with implementing HTML5 immediately. I received my copy for review from O'Reilly but you can also find a draft of it under CC-BY-3.0 license. And he's got all the sample code to follow along to.

The first chapter feels like Pilgrim wants the reader to feel the pains that so many in the HTML working groups have felt over the past two decades. But after all the anecdotes, after all the distribution list forensics, after all 'too bad I'm doing it this way' this chapter could be shortened down to one sage and universal rule for software: those who ship win. If you want to dictate HTML5 behavior and interfaces, sitting around e-mailing doesn't matter when other browsers are shipping code that works.

Chapter two is entirely checking whether or not the user's browser supports any of the many features HTML5 is bringing to web developer's fingertips. An important note through the book is that Pilgrim makes sure to keep mobile browsers in the front and a part of the discussion. While useful, this is fifteen verbose pages of the already short book.

Chapter three has really good material in it if you're looking to evolve from HTML4 to HTML5 without any of the added functionality (just markup). It makes for cleaner code and introduces all the new tags and their functionality. Here you'll see how navigation has been generalized (much to the joy of disabled/impaired users who rely on screen readers) and how to properly transform and maintain HTML towards to HTML5.

Chapter four does a good job of beginning to cover the canvas element and drawings in HTML5. Drawing shapes, lines, setting text and rendering images multiple times on the canvas are all covered. The chapter presents many examples and ends with a simple implementation of a game of halma. It's inefficient and he alludes to better ways of rendering game graphics (like redrawing only 'dirty' parts of the screen) and I hope he takes the time to flesh out this chapter as I've seen impressive things done with canvas already. I really hoped for more out of this chapter but must concede that it might be better off in a book devoted to game design.

The next chapter exhaustively covers video and audio codecs. From there the chapter steps the user through how to make their page full proof so that the video tag gracefully resorts back to Flash or what you want should it be unable to find a supported video codec. From batch encoding with ffmpeg to Firefogg to using handbrake, the author holds the users hand and more (even explains MIME types). This chapter is very valuable to anyone who is sitting on some video data that wants anyone to be able to access it and isn't opposed to multiple encodings.

I'd like to mention also that Pilgrim is an entertaining author. As he covers the codecs available he pokes fun a few corporations:

MPEG-1 Audio Layer 3 is colloquially known as "MP3." If you haven't heard of MP3s, I don't know what to do with you. Walmart sells portable music players and calls them "MP3 players."Walmart. Anyway ...

And in regards to DRM:

Originally, all AAC files "bought" from the iTunes Store were encrypted with Apple's proprietary DRM scheme, called FairPlay. Selected songs in the iTunes Store are now available as unprotected AAC files, which Apple calls "iTunes Plus" because it sounds so much better than calling everything else "iTunes Minus."

It should be noted that Pilgrim can at times seem a little pro-Google. They are his employer but I would appreciate it if he was an equal opportunity humorist and didn't pick on just the others.

Chapter six gives a short introduction to the geolocation features and the API provided by HTML5. It explains how to use gears or geo.js to work around IE's lack of support and also explains how to opt out of this sort of service — as it might seem a little too much for some people. I guess this is a feature for advertisers (not like they aren't doing it already anyway).

Chapter seven briefly covers local storage in HTML5 and the precursors to it (cookies). It's got a few code snippets you can tinker with. There's a great meme embedded in this chapter: 'userData allows web pages to store up to 64 KB of data per domain, in a hierarchical XML-based structure. (Trusted domains, such as intranet sites, can store 10 times that amount. And hey, 640 KB ought to be enough for anybody.)' The chapter covers on competing visions and notes that this is a separate effort from the core elements of HTML5. At the end Pilgrim adds persistence to the halma game from earlier. This is already being abused by the way.

Chapter eight shows how to markup your pages so that they operate offline. You include resources in the cache manifest file to let the browser know what to cache for offline usage (and more importantly what not to cache). Again, at the end of this chapter, we take the halma game offline.

Chapter nine is one of the better chapters as it extensively covers the various new types of form inputs we have in HTML5. Gone are the days of importing calendar scripts to create a date popup widget (although we already know how to check if that's required). Search inputs, different kinds of integer selectors and color pickers are all covered in this chapter. While you might have experienced this in many other UI technologies, we're finally receiving native support in the browser!

The final chapter is very lengthy (relatively) and very informative. It explains microdata and how to make HTML5 extensible so you can define your own markup (while keeping it normal so that older browsers don't plotz). It's like advanced metadata. You might wonder: Why would you do this? Well, the chapter continually shows how Google search results interpret this data ... but we aren't informed of any competitors using it or any plans of them using it. Pilgrim informs us that we should put this around or data and let others decide what to do with it (they might surprise you). So while the work is pretty extensive, you won't immediately see the fruits of your labors (unless everyone else is already doing it).

HTML5 has a long way to go. I hope this book is a living document and I imagine the final O'Reilly book on HTML5 will be several times the length of Up and Running but until those who ship their code cement it (after reading this book, my money's on Google) we'll have to wait. In the meantime, Pilgrim has some great resources on his site and done a decent job with this book.

You can find the book on Amazon or various electronic formats on the publisher's site. Slashdot welcomes readers' book reviews — to see your own review here, read the book review guidelines, then visit the submission page."

This discussion was created for logged-in users only, but now has been archived. No new comments can be posted.

HTML5: Up and Running by Mark Pilgrim

Comments Filter:

Recent investments will yield a slight profit.