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."


As part of my pursuit of happiness, I have been steadily shedding attachments, getting rid of things I don't use, thinking about ways of keeping the things I do use longer, and just generally being a pain in the ass. This, for instance, is an actual conversation I had with my wife last fall:

Herself: What do you want for your birthday?

Myself: Nothing.

Her: You're impossible to shop for.

Me: Actually, I want less than that. I want you to let me sell my car and replace it with nothing.

Her: Be realistic. We live in the suburbs.

Me: I have a bike.

Her: But what if my van breaks down?

Me: We have AAA.

Her: It would still put a huge burden on me if we only had one vehicle.

Me: That's why it's called a "gift."

Her: You're getting restaurant gift cards. And socks.

Me: I don't need socks.

Apropos of nothing, I would just like to point out that the title of this post is a snowclone, which itself is a word that I learned in the process of researching the exact wording of the original phrase of which it is a snowclone ("Math is hard. Let's go shopping!" from Teen Talk Barbie circa 1992). Not knowing whether I should write "simplicity is hard" or "simplicity is tough," I searched Google for "let's go shopping" math barbie, and the first result was a Language Log article called Tracking snowclones is hard. Let's go shopping! which is both self-referential in the obvious sense, and also wonderfully meta-referential in that Language Log was instrumental in coining the word "snowclone" in the first place, but now can not possibly keep track of the snowclones, as seen by the lengthy update to that very post "added for those who find this via the Wikipedia entry for 'snowclone'," which would be... me. And damn it, now I've spent the last two hours on a wiki walk. (And now I've (re)introduced you to TvTropes, so, you know, there goes your evening and most of your night. Try to come up for air before dawn.)

My point, such that I have one, is that simplicity is easy to describe but difficult to achieve. Especially (though not exclusively) when there are other people in your life. While I applaud millionaires who decide to give away all their money (I say "their" money instead of "his" money, since even if he made the bulk of it, I can't imagine him being able to give it away without his wife's consent), the reality at home is more droll. Take, for instance, the television in our bedroom. It is small, as televisions go, costing no more than $100. It was once hooked up to a DVD player, which itself cost less than $50. Our children used to congregate in our bedroom after bath and before bed and watch 10 or 15 minutes worth of a movie or Sesame Street or some similar passive entertainment. I say "used to," because in truth they stopped doing that about a year ago. No particular reason, just changing patterns. I pointed out to my wife that this would be a perfect opportunity to simplify by getting rid of the television and replacing it with nothing. That conversation went something like this:

Myself: Can we get rid of this television?

Herself: No.

Me: But we never use it anymore.

Her: I'm sure that's not true.

So I did what any self-respecting scientist would do when faced with an untested hypothesis: I devised a test. Which is to say, I unplugged it. The television. The power cord winds its way to a wall socket behind a dresser, which itself has to be moved in order to get at the socket, so my trickery was both non-obvious and difficult to counteract even if one should notice it. Which, of course, no one did. So there it sat, unused and unplugged, for over six months. Until one day, or rather one night, when we found ourselves in an old familiar situation -- kids in pajamas, jumping on the bed, and so on -- and my wife actually tried to pop in a DVD.

Herself: The TV doesn't work.

Myself: I unplugged it.

Her: When?

Me: About six months ago.

Her: Why would you do that?

Me: To prove we never use it.

Her: I'm trying to use it right now.

Me: What are you hoping to accomplish?

Her: I need to calm the boys down.

Me: And this need has not arisen in the past six months?

Her: We usually read books.

Me: Why can't we do that now?

Her: ...

Me: Can we get rid of the television now?

Her: No, we might need it.

Me: OK, but I'm not plugging it back in.

Her: I hate you.

About five and a half months after that, which is to say about two weeks ago, I had bought some new art and set about rearranging the walls to make everything fit. "Aha, an opportunity presents itself!" I thought to myself. You see, the (unplugged) television had always blocked a critical piece of real estate in our bedroom, above the dresser, in direct line of sight while lying in bed. The next morning, shortly after she had left the house to go to work, I disassembled the whole contraption, television and DVD player and all. I cleaned up an impressive amount of Assorted Random Crap that had accumulated around, behind, and beneath the television, I said goodbye to the final pile of physical discs in our house, and I hung one of my wife's favorite pieces on the newly reclaimed wall in its place. When she came home, I gave her the grand tour of our newly rearranged walls, of course working up to the bedroom as the finale.

Herself: Yes! You finally got rid of that stupid television!

Myself: You know I unplugged it a year ago.

Her: Really? Why would you do that?

Me: It's not important.


Michael and Mark in ball pit in Googleplex building 42


Beau in the woods

The local lake has a small patch of woods nearby. To say we took Beau for a walk in the woods might be stretching the definition of "walk"; it looked more like Family Circus map than a straight line. I sometimes wish I could "see" the woods the way he does, like if the entire woods were dark and I could wear blacklight glasses and see all the spots where other dogs had left their mark. Beau seems to ramble until he catches wind of another dog's scent, then pisses all over it. Until I got a male dog, I'd only ever seen that figuratively.


  1. Stop buying stuff you don't need
  2. Pay off all your credit cards
  3. Get rid of all the stuff that doesn't fit in your house/apartment (storage lockers, etc.)
  4. Get rid of all the stuff that doesn't fit on the first floor of your house (attic, garage, etc.)
  5. Get rid of all the stuff that doesn't fit in one room of your house
  6. Get rid of all the stuff that doesn't fit in a suitcase
  7. Get rid of all the stuff that doesn't fit in a backpack
  8. Get rid of the backpack

I'm working on step 4.