Wednesday, January 14, 2009

Book Writing: Tips, Tricks, Cheat Codes

Because we're both game developers, Brenda and I conducted a post-mortem of the book we wrote. Because many professors write their own textbook eventually, I thought it might be nice to share what we learned with you. (After securing the go-ahead from Brenda, of course.)

To protect the innocent, I won't say what we got "right" or "wrong"... but this is what we learned, for better or worse.
  • Write with a co-author that you already know you work well with. I really can't stress this enough. Aside from halving the amount of work you have to do, it's great to have someone to bounce ideas off of, and it's kind of like having an extra technical editor for free. It's also a lot harder for the project to stall when you know that someone else is counting on you (a friend and colleague, not just some monolithic book publisher).
  • Use some kind of version control system. It doesn't have to be as elaborate as Visual SourceSafe or CVS, but you will be making many changes and revisions to documents, and you will want to have a history in case you need to reference that paragraph that you deleted three months ago and now you want to use it in a different chapter. We found that simply numbering the documents (Chapter01_v1.doc) was sufficient.
  • Use the Track Changes functionality in Word. It's great. It's like a version history built-in. Use the comments to communicate with your editor and other authors.
  • If you're working with another author, use Google Docs for preliminary work. It's a free, convenient way to share chapters, and if you're on an instant messaging program (or on the phone) you can even edit the same document at the same time. You can always add any special formatting later, after importing into Word.
  • Keep track of the current status of each chapter (not started, rough draft complete, final draft complete, submitted to publisher, accepted by publisher) in an Excel document. Update it whenever you finish anything. This is especially important if working with another author, so you know who is currently editing what (you run into a lot of "did you finish this chapter and it's waiting for me to review, or were you still working on it?" questions).
  • Choose your book topic carefully, and whenever possible write about what you already know. Everything that you have to research takes extra time, and a book where you have to research everything will take a lot of time.
  • When you're working with the publisher on the initial schedule, build time in the schedule for iteration. There are a lot of tasks that affect the entire book (consistent formatting, terminology, overall structure and other things) that you'll want to change several times as you write, and the easiest way to do this is just to make one final pass over everything at the end... rather than making these changes several times over the course of the project. But you only get to do this if there's time, and if you're rushing to meet the deadline then the whole thing can look a bit sloppy.
  • As a corollary, keep a list of open issues for the book, so that nothing falls through the cracks. Keep it updated whenever you run into a problem that you want to defer until later, and reference it when you're doing revisions.
  • Find people to review different parts of your book (friends, colleagues, grad students... anyone who you think would give you good feedback for any particular chapter) and start that process early. If you're writing a textbook intended for classroom use, teach a class from an early version to see how it will actually function (think of it as a "beta test").
  • Get constraints from your publisher early on regarding number of chapters and pages, and find out the approximate ratio of pages in Word to printed pages in the book (a ten-page Word document might be twice as many pages in the book because of extra whitespace added to sections so the paragraphs aren't split between multiple pages, or to allow extra space around figures and photo images). This prevents you from finding at the end of the project that you suddenly have to add or cut a bunch of content.
  • While I'm on the subject of images, get your images early. Securing the rights to photos of people, screenshots of games, company logos, and so on takes a lot of time.
  • Develop a system for references to other parts of the book (for example, "See Chapter X, Page Y" when you don't know what the final chapter and page numbers will be). If you use actual numbers, you'll just have to end up changing them later... and woe to you if you accidentally miss one.
  • Create a core statement for the book up front. Do you want to write in a professional or casual tone? Do you want to focus more on content or concepts? What is the underlying theme, the one thing you really want the reader to understand when they're done -- the common thread that ties everything together? Revisit your core statement when you're reviewing or revising your chapters.
  • Clear your schedule if at all possible. Writing a book takes a lot of time, and if you're trying to balance that with teaching classes, doing freelance work and remodeling your kitchen, you are just not going to have the energy. If you minimize your downtime and interruptions, things will go more smoothly.
  • Do your due diligence with publishers. If you've got a great idea for a book, then it should be a great idea no matter who the publisher is. Seek publishers who have a line of successful books in your field, so that you can get some decent cross-pollination with readers of other books in the same series. Look for publishers with wide distribution networks. Think of whether your publisher has the means and understanding to promote your book (or, whether they're willing to let you do some self-promotion). Find out who your editor(s) will be, and how much experience they have (if any) in your field; if you've written a book before, you may be able to request a specific editor for your book. At any rate, there's no reason why you should just take the first offer that comes along and accept all terms without negotiation... any more than you would with a job offer.
  • Keep backups of everything. If all of your work is on your home computer hard drive and that hard drive crashes five days before the next scheduled milestone submission to the publisher... well, I'm sure you can imagine.
  • And lastly, don't expect to get rich as a book author, any more than you would as a game developer. The advance you can expect as an author is not very much when you compare to the amount of time you're going to spend on the project. Yes, you can make a lot of money if your book sells well enough to earn you royalties, but that is the exception and not the rule. This doesn't mean you shouldn't write a book... but if you write one, do it for reasons other than money.

If there are any other textbook authors in the audience, please comment and share your own tips.


Darius Kazemi said...

Hrrrrm, helpful :)

Josh said...

Solid advice, definitely. I took 9 months off to write my book, and it was really great way to go.

Another beginner's tip: try to avoid writing to specific software. I wrote an early game art book, based on 3D Studio, running in DOS...and a few weeks after it was published, 3DS Max in Windows came out! So all my images immediately looked outdated, even though the knowledge was still relevant. It's not convenient to abstract methodological knowledge from tools, but IMO it's worth it.

re "Keep track of the current status of each chapter" - yes, and Google Spreadsheets is the right tool for collaborative authorship (as opposed to Excel, which is fine for single authors).