Blog


Programming Book Profits

As I begin working on my second book I've gone back and realized that there's a lot of things that I wish I knew before I started writing my first book way back in March of 2006. One of the big ones was the volume of book sales and the amount of profit made. Namely: Programming books (by-and-large) are poor sellers, thus, don't expect to be buying a new mansion anytime soon.

I recently received my quarterly update from Apress for the 3rd quarter of 2007 (the fourth quarter of the book's existence). This was the first quarter in which I actually broke a profit (received money in excess of my advance) so I was quite pleased. Here's a scan for those that are interested.

Publisher Revenue

Here's some things that I learned about book profits, in no particular order:

  • When you negotiate a contract with a publisher, and you receive an advance, that's an advance of your future profits. I had no idea why I never realized this until after I received my first statement and saw -$3000 listed as my payout. It makes a lot of sense, in retrospect - but it was just a silly thing that never quite clicked with me.
  • Advances are distributed in even chunks based upon milestones. (Finish X number of chapters, get 1/4 of the advance - get the last 1/4 when the book is complete.) I negotiated a higher advance than what's typical as I wanted to use it to live off of post-college, Apress was nice and accommodating.
  • Advances are usually pretty low (I think Apress' typical one was $5000 for a first-time author). In talking with authors at other publishers you can usually expect something in that range - maybe slightly higher.
  • No one buys eBooks. You'd have to be pretty... special... in order to not be able to find a free ebook of Pro JavaScript Techniques.
  • Ever wonder how an author tracks how many books they're selling? Guess what, he dosen't! It's a massive mystery! When I chatted with my editor, on a number of occasions, most of the conversations just ended with him making a sad face and saying "just watch your Amazon numbers." So that's what you do - you watch your Amazon page like a hawk, trying to divine some special meaning from the crazy fluctuations in your sales rank.
  • A couple rules of thumb that Chris Mills (my editor) taught me for tracking your Amazon sales rank (for programming books, especially) is: If your rank is < 10,000, you're doing fantastic, < 20,000, you're doing very well, < 100,000, reasonable, anything else and you're effectively dead. Tracking my ranking over the past year it's been consistently in the 10-20,000 range, with occasional dips into the < 10,000 range. JavaScript: The Definitive Guide is always < 5,000 (for comparison).
  • The vast majority of technical books will never sell more than 4000 copies. Unless you've really tapped into something good, are targeting a huge audience, or have done a really outstanding job, it's likely that your book will sell around the same amount.
  • Publishers do very little promotion of your work. I guess, unless, you're going with a real powerhouse like O'Reilly (where they can rope you into conferences and all sorts of promotions) most technical publishers have little leeway outside of "sending free books to influential people and praying that they'll blog about them."
  • I really like the tiered payout structure that Apress provides - it rewards authors who put a lot of work into the promotion, and quality, of their work.
  • Releasing your book before Christmas is awesome. Geeks love to add books to their Christmas lists (they're cheaper than gadgets and safe for family members to acquire). The book was released December 11th and yet it still sold over 2,000 copies in the remaining 20 days of the quarter, in 2006.
  • Don't force your friends to buy your book, authors always get a massive pile of their book to give away at user groups, etc. - hang on to some and save your friends $30.
  • I'm not 100% sure what the "licensed rights" are, mentioned in the printout above, but I think it relates to translated copies of the book (I've been told that there's a Chinese version - there may be others).
  • When you go over a certain amount of profit publishers will hold some in "reserve" as a measure to counter-act returned copies, from the distributors. I'm not sure how much of a real concern this is, but it seems sketchy to me.

I'm not sure how useful all of this will be for would-be-authors but I wish I knew these tips back before I got started, so very long ago. I hope to drop some more of these tid-bits, as I remember them, throughout the rest of the authoring process.

Tags: writing, javascript, books

Beautiful Programming Books

A quick question: What are the most beautiful programming books that you've ever read? The type of book that, when you cracked it open, made you just want to stare at the code forever. (Beautiful, non-programming but still technical, books are also acceptable.)

On a related note: What's the best code formatting that you've ever seen? (Color, font face, font size, etc.)

These questions may, or may not be, related to this.


Currently, my favorite for "most beautiful programming book" would have to be "Processing: A Programming Handbook for Visual Designers and Artists". The code is elegantly written, is crisp, and tightly spaced. I wish the code, itself, could've been printed in color, with syntax highlighting, but that seems like a necessary sacrifice to make with most technical books. (Side note: I'm a huge sucker for hardcover programming books - I desire more of them since having acquired this one.)

"Most beautiful technical book" would have to be Tufte's The Visual Display of Quantitative Information. I love the stark contrast of the, simple, diagrams against the smooth text. I've you've never held a Tufte book, then you don't know what a beautiful book can look like.

My favorite syntax highlighting scheme would be Gruber Dark, by the always excellent John Gruber.

However, Gruber Dark generally isn't acceptable for print (nor is it particularly situated for code - I have to bash it around a bit to get something that I like). Unfortunately, I don't have a particularly memorable light syntax-highlighting scheme; input here would be most appreciated.

Bonus: I'm in love with the Shoes programming guide Nobody Knows Shoes. _why's sheer zaniness, whimsy, and deep programming knowledge is exactly what the programming world needs. If there were more books like his (see also: Why's (Poignant) Guide to Ruby) the programming movement would be in a better place.

I'm completely convinced that programming has a strong symbiosis with art and that the two are entirely intertwined. I've been constantly exploring to try to get to the root of this relationship but, like most things, it's a never-ending inspection. Pointers to the roadsigns are appreciated.

Tags: programming, books, art

Mobile Price Comparision

Recently I've become very interested in applications which make the most of the text messaging feature on my mobile phone. My wishes tend to go the direction of geo-location applications, but due to the virtually non-existant GPS support available, currently, in phones, this is not going to happen soon. However, one application that seems to have been filled is that of doing shopping/price comparisions from your phone.

The first application, provided by Google, is the ability to do a price comparision simply by sending an ISBN or UPC number to the Google SMS service. A few second later Google will send back the price of the book, dvd, or cd - found somewhere on the Internet. If nothing else, this is an excellent tool for use when shopping. Being able to, potentially, save money is always nice!

The second service is provided by Amabuddy. The premise behind their service is that you call up their special number, enter in the ISBN or UPC symbol of the product that you're looking at, and the price of the product, along with a mini-review, will be read back to you (thanks to the wonders of VXML). A nice side-feature is that the product will instantly be added to your shopping/wish list once you've queried it, this way you can go back and look it up later. This is a different technique then what Google provides (being voice-based, as opposed to SMS) meaning that depending on how expensive your phone minutes are, this service could prove to be either much cheaper or more expensive.

Tags: google, prices, shopping, books, dvds, music

Current Projects

jQuery JavaScript Library

jQuery

Comprehensive DOM, Event, Animation, and Ajax JavaScript Library.

Recent Projects

Pro JavaScript Techniques

JavaScript Book

The best techniques for professional JavaScript. Published by Apress.


Hosting provided by the cool dudes at Engine Yard.