I was reading Brian Sawyer's great post on the Head First Labs blog about using a Learner's Journey, and it got me thinking about some of the things I think about when writing on a Head First book.
A few weeks ago I was e-mailing back and forth with another author whose opinion I highly respect. We were talking about what it takes to keep a reader enthusiastic about material that might not, at first glance, be compelling. Any author faces this problem when writing a book where a reader has to learn something. What you want is to give your reader a book where they keep turning pages; what you want to avoid is giving your reader that "eyes glazed over" feeling.
I've really learned a lot about how to keep the reader's enthusiasm up throughout the process of working on Head First books over the last few years. There's a lot to it: my coauthor Jenny and I learned a lot about screenwriting, creative writing, and even cognitive psychology.
There are a lot of different ways to write technical books, and a lot of challenges. On thing I really had to work on was ways to give someone who doesn't fully understand a particular technical bit that I'm trying to teach them a reason to care about. The problem is that the reader doesn't even have an idea how it works at all, and it's really hard to keep that reader engaged if they don't see why it that really matters to them.
Now, everyone learns in different ways. But even the most geeky, technically-minded readers need motivation to keep their eyes on the page. (If you're thinking to yourself, "Well, personally, I've never needed an author to motivate me to read," try reading something really technical and well-written that's in a field you typically have no real interest in and see how easy it is to absorb the information.) Now, it wasn't as hard to introduce good motivation with Head First C#, since building something cool (like, say, a video game), is a great motivator. , but it was an enormous challenge with Head First PMP. Now, I personally find project management really interesting (which is why I write so much about it!). But when you're studying for an exam -- especially a tough one like the PMP exam -- it's really hard to put aside the goal of passing the exam and get absorbed in the material. Our natural tendency, I think, is to try to cram questions and facts into our brains. The idea that studying goes faster if you slow down and really take the time to understand the material is a little counter-intuitive.
This all got me thinking about the whole "author enthusiasm" issue. After writing four books, including two Head First books, this sort of thinking is pretty second-nature, so I forget that I had to do a lot of explicit learning about it. And there are two things I remembered that really helped me out -- other people may or may not find them useful, but they were really interesting to me.
One book that I found really valuable was Save The Cat! The Last Book on Screenwriting You'll Ever Need. It's a book about screenwriting, and a lot of the ideas in that book really helped us. And not just in Head First PMP and Head First C#, but also with Beautiful Teams. More than half Beautiful Teams consists of stories that our contributors wrote about their own experiences on great (or awful!) teams. Jenny and I put a lot of great work into helping our contributors make their stories more engaging and fun to read without sacrificing technical details.
And second, I also learned a lot from video games. Specifically, we learned a lot about how game development teams make video games more playable. There was a great article we red about how the guys at Bungie developed and tested the Halo levels. Unfortunately, I lost the link (if anyone knows the article I'm talking about and has the link, please share!)
But I recently ran across a really wonderful example that I think is even better. I've been recommending to many of my friends who do UI design, but I also think has really good ideas that I've learned from to help with reader motivation. If you haven't played Portal, you should definitely play it. It's one of the best games I've ever played, and it doesn't take long to go though. But one of the best things about it is that after you're done, you can play it again from the beginning with "developer commentary." Turning on this feature adds little floating speech bubbles scattered throughout the levels. If you click on them, you hear one of the developers doing a voice-over.
The Portal developer commentary really struck a chord with me because a lot of the ideas they used in developing the game are exactly the same ideas Jenny and I learned about and used in our own Head First books. They talk about all sorts of really useful things, like thinking in terms of "gates." That's a concept we use a lot: for example, we considered the end of chapter 1 of Head First C# a "gate" that ensured that the reader had a good feel for dragging buttons and other controls out of the Visual Studio toolbox, arranging them on a form, setting their properties, and adding code to make those controls work. We made sure that those ideas were reinforced so that we could depend on them in chapter 2. As I went through the commentary, I heard idea after idea that I remembered learning about and applying to writing.
Oh, one more thing. I personally owe a big debt of gratitude to Kathy Sierra, who spent a lot of time thinking about motivating readers and blazing this particular trail -- the whole reason I read Save the Cat was because she's recommended it many times. I love this 2006 post she wrote on the topic. Do yourself a favor and watch this video of her talking about these ideas.
You can read more of Andrew's posts at Building Better Software.