TL;DR Buy it
Recently I read Authoring eBooks by Jeremy McAnally (this is my affiliate link). This book goes through the process Jeremy used to write his books Ruby in Practice, Humble Little Ruby Book and The Rails 3 Upgrade Handbook. He starts out with picking a topic and developing a pitch to help you with marketing and focus. He then walks through how to make your book stand out amongst the sea of technical writing. After that he moves into determining who your audience is and how to write for them.
The meat of the book is on developing your content; this section is filled with some great tips such as: show don’t tell and make your examples reflect reality. He then goes into the physical process of writing: what editor to use, how to organize files and include code samples and how to stay motivated when you really don’t feel like writing. The final section talks through selling and marketing your book. He points out some companies that can help you sell your book, why you might want a publisher and how to analyze your marketing efforts to determine what’s working and what’s not.
When I read this I wasn’t sure about writing a book. I’ve spoken to a number of successful technical authors who have advised to never write a technical book for the money. Between publishers’ fees and the cost of the actual writing it’s just not worth it. Independent is scary since I wouldn’t have a sales/marketing team. Authoring eBooks makes independently publishing my own book seem much less scary, and almost possible. Not to mention, Jeremy claims to have made $40,000 on his last book in just one year. Impressive.
The best piece of advice out of this book was to really think about your idea. When I first started reading this book I thought I wanted to write a book about Git for non-developers. I’ve worked with enough designers who get on a team that uses Git and have to learn a whole new skill set. In one section Jeremy says that your idea may be obsolete before you finish your book. This made me take a step back and think about it. With all the Git UIs coming out it’s very likely by the time I finish writing, non-developers won’t need command-line Git anymore. There probably isn’t as much value in that book as I originally thought.
There are some caveats to this book. It is very short; he doesn’t delve deeply into any of the topics. It’s also not heavy on brainstorming techniques or formal writing/grammar. I would recommend looking elsewhere if you want to, for example, write a treatise on objectivist ethics. If you want to write a fiction novel this is definitely not the book for you. Check out a good book on character development and dialog instead.
So, if you’ve ever considered writing your own tech book I’d highly recommend reading this one. It’s a quick read (appx. 89 pages in ePub format) and can help you figure out if your idea is viable. Check out Authoring eBooks by Jeremy McAnally.
Update (2011-01-15): Added some caveats to the book