Canvas Book Reboot

Some years ago I wrote a book called the HTML Canvas Deep Dive. To be truthful the writing was an accident. I taught a workshop four years in a row at OSCON, back when it was in Portland. Whenever I teach a workshop I want the students to have something to take away with them in case they don't finished, so I structure it as a series of lessons with hands on activities. Eventually I realized that if I simply called these chapters instead of lessons then I'd have a book on my hands. So that became the first release of HTML Canvas Deep Dive.

Over time I added new chapters as I gave the workshop, but it's been quite a few years since I added anything. Despite the lack of content the book still counts for well over half of the hits to my website. Clearly people are still interested. But there's a problem. A few months ago someone reported a bug in the text. When I tried to fix it I came to a shocking realization: I can't build the book anymore!

You see, the HTML Canvas book is actually a bunch of Markdown files with special embedded syntax for the interactive examples and iframe popouts, combined with custom CSS and Javascript that has to be baked into every page. To produce the final pages I run some rather dodgy scripts which smush everything together and produce a directory full of pretty HTML. But the script won't run anymore. Some of the dependencies are broken and I can't recall how the code works. Further more, everything was custom, so it's too hard for anyone else to contribute, such as a translation. So what to do?

My answer is to reboot the book. Not the content of hte book itself, though it certainly needs some updating, but to reboot the system that builds the book. I realize it sounds like a big task to take on, but with my constant focus on WebXR in my day job (coming by the end of the year to a browser near you!), I could really use something completely unrelated to work on.

Rather than just dump a new build on everyone, I'm going to post about the process of rebuilding the book, and how much the web has changed since 2010 when I wrote the original. Next time we'll talk about designing a good tool chain.

Talk to me about it on Twitter

Posted June 25th, 2019

Tagged: canvas