Skip to main content

My big accomplishment of 2010 was finishing the first edition of Dive Into HTML5 and working with O'Reilly to publish it on paper as HTML5: Up & Running (as well as several downloadable DRM-free formats). I also accomplished a few minor personal things, but in this post I'm going to focus on the book.

The book went on sale in mid-August and earned out almost immediately. "Earning out" is a publishing term which means that the book has sold enough copies that my cut of the profits has paid back the advance payments that O'Reilly gave me during the writing process. Which means that I'm already receiving royalty checks for real money. Of the four books I've published through traditional publishers, this is only the second book to earn out. (The original Dive Into Python was the first, and it was on sale for over two years before it earned out.)

I write free books and people buy them. It works out surprisingly well.

"HTML5: Up & Running" sold over 14,000 copies in the first six weeks, of which about 25% were digital downloads and 75% were books on paper. Folks sure do love them some paper. The book continues to be available online for free, as it was during the entire writing process, under the liberal Creative Commons Attribution license. This open publishing model generated buzz well in advance of the print publication, and it resulted in over 1,500 pre-orders which shipped the day the book went on sale. Res ipsa loquitur.

The online edition at includes Google Analytics so I can evilly track your every movement find out what the hell is going on. The analytics tell me many things. Some highlights:

  • Throughout 2010, the site served 2 million visitors and 3.9 million pageviews. Each chapter is on its own page because that's how I wrote the book (in HTML5). I don't need to inflate pageviews for non-existent advertisers (I work for Google so I'm not allowed to put ads on it anyway), and I never got around to writing a split-chapter-into-multiple-pages script.
  • 40% of the site's traffic came from search engines. 30% came from direct traffic or non-web applications like Twitter or email clients. 30% came from one of over 8,900 referring sites.
  • 98.7% of the search engine traffic came from Google. Less than 1% came from Bing. The rest came from search engines that I didn't know still existed.
  • John Gruber sent me three times as much traffic as Bing.
  • The most popular chapters tracked closely with the most popular incoming search keywords. HTML5 video was the most popular topic, logging almost half a million pageviews alone. #2 was web forms, followed closely by canvas, semantics, and Geolocation. Microdata was in dead last. Seriously, the shit that nobody gives about my beloved Peeks, Pokes & Pointers chart is rivaled only by the shit that nobody gives about microdata.
  • My little history of HTML logged almost a quarter million pageviews, and the average visitor spent almost four minutes reading it. (Only the video chapter was higher, at 4:45.) Folks love them some Internet folklore.
  • 6% of visitors used some version of Internet Explorer. That is not a typo. The site works fine in Internet Explorer -- the site practices what it preaches, and the live examples use a variety of fallbacks for legacy browsers -- so this is entirely due to the subject matter. Microsoft has completely lost the web development community.
  • 4% of visitors read the site on a mobile device. Of those people, 85% used an iOS device (iPhone + iPad + iPod Touch). 14% used Android, and the rest used mobile devices that I didn't know had browsers.
  • The site itself, its typography, and the book's live examples have led to bug fixes in at least four browsers and one font. Hooray for living on the bleeding edge.

Although it makes little sense to talk about "editions" of a web site (you can see a changelog if you like), O'Reilly and I have already discussed the possibility of doing a new edition of the printed book. Besides rolling up all the updates since August, we've discussed one chapter on Web Workers and another on web sockets. Since all the world's browsers have recently disabled their web sockets implementations due to a subtle (but fatal) protocol-level security vulnerability, the Web Workers chapter will probably come first. No promises, you understand. No promises at all.

If there are new chapters someday, I will urge O'Reilly to provide them for free to everyone who has already bought a digital copy. But understand that the final decision is not mine to make. Not mine at all. In any event, it will be available online at for free, like the rest of the book.

I'm not big on predictions, but I do have one for 2011: HTML5 will continue to be popular, because anything popular will get labeled "HTML5."

§ The Atom API.


Three new essays on today:

On a lark, I searched for other things that people consider harmful. They include goto statements, inheritance, fragmentation, code protection, spam, spam control, killfiles, address munging, reply-to munging, forgiving browsers, Character Set, Mailman, HTTP 1.0 logs, protected pages, firewalls, nonlocality, WWW royalties, use cases, human task switches, incentive pay, Flash, lists with "current", recursive make, the W* Effect, layered multiplexing, fallback MX, unlocking GDHandles, CSocket, telephone switches, code of points, Moore's Law, geek culture, monoculture, stealing, formality, deception, Debian, Linux, Python, types, casts, values, nulls, each, if, weblogging, weblogging, web-based editing, LibraryLookup, RealPlayer, Internet Explorer, tabbed browsing, file extensions in URLs, SQL strings, DejaNews, current parsing techniques in software renovation, bandwagons, web-based RPCs, FONT FACE, J2EE, NFS, APIs, FO, XSL, SSL, CSH, OO, IDs, URLs, GPL, CSS, XHTML 2, Dave Winer, and Considered Harmful essays.

Also, embedded markup, in an article by Ted Nelson (yes, that Ted Nelson), from 1997. Except that back then, Ted was using the term embedded markup to refer to any markup embedded in the same document as the text. You know, like XML does. (Ted recommends parallel markup, where the text is kept pure and a parallel document is kept in sync that adds markup definitions pointing to specific character offsets.) Six years later, embedded markup has obviously won, and what Norm is really arguing against is embedding markup within embedded markup. Perhaps the things we consider harmful say more about us than they do about them.


  1. My latest article is up: The Vanishing Image: XHTML 2 Migration Issues. Evan Goer is also exploring XHTML 2. We both have too much free time.
  2. My Safari bug list is up to date with the final (1.0, build 85) release of Safari. Many important bugs were fixed. Surprisingly few bugs remain. Kudos to Dave and the entire Safari development team; they've really whipped this into shape in record time. I use Safari as my primary browser on Mac OS X now.
  3. Sam Ruby has taken an early snapshot of the (not-)Echo model and prototyped a feed in the new format. I have a prototype Movable Type template and the corresponding live feed that it generates. This is a 0.1 release; it will change. Even the namespace is a placeholder. Anyone who implements tools based on this snapshot and later complains that it changed will be suitably ridiculed.


Mark Pilgrim: All That We Can Leave Behind. A gentle introduction to migrating to XHTML 2.0, which, as intelligent people have noted, no one will do for years, if ever.

<br/>'s fame dates back to the Netscape 4 era, when CSS was sketchy at best and using the proper element meant you were a chump whose pages looked like amateur scribblings.

On an unrelated note, my copy of Clerks has finally arrived. I'm celebrating via my HTTP headers.

We just started, with the Chewley's gum representative.



8 and a half.

The independent contractors on the uncompleted Death Star.

The perfect dozen.

It's important to have a job that makes a difference, boys.

Title dictates behavior.

I'm offering you my body, and you're offering me semantics. [This will be my new mantra whenever anyone mentions the Semantic Web.]