Nature of Code Book Chapter 1 Draft Available
21 Comments Published June 2nd, 2009 in General, book, nature of code, print on demand, processing, programming, publishing, tutorial, vectorsOk, so I may very well be one of the slowest writers ever, but I am pleased to finally announce that I have completed a draft chapter for what I hope will become my next book: The Nature of Code. Based on my experience getting Learning Processing out into the world I’ve decided to go ahead and experiment with self-publishing. I’m not sure what service I’ll ultimately use or exactly how I’ll distribute the text (most likely as a PDF for sale online as well as print-on-demand physical book) so feel free to write me with suggestions, etc.
Let’s take a moment to go over some of the finer points as to why I am doing this.
Dollars and cents
Learning Processing retails for $49.95 (amazon’s discount is 10%: $44.95). When the publisher sells a copy of the book, I get some money (yay for me!). Based on my first royalty statement, this works out to approximately $3.73 per copy. Sure, I’m not writing books about programming with Processing to get rich, but I did spend a couple years working hard on the project and every little bit counts.
Let’s assume for the moment that I could sell the same exact book via lulu.com. The actual cost for printing the book would be ~$14.00. Ok, so let’s say I choose to sell the book at $25.00 (half the actual current cost.) That’s $11 of profit for every book sold, lulu takes 20%, leaving me with ~$8.80 per book sold. The book costs half as much and I get more than double the revenue! Now, this is just one scenario. I haven’t decided what service to use, how much of a mark-up is appropriate, etc. But you get the idea. There’s no reason a no color, no frills, beginner programming text needs to be $50.00.
Release early, Release often
As an author, it’s just nice to have a lot of flexibility with the process. With self-publishing, I can do things like release early drafts of PDFs online for feedback (see below). This is not something I could have easily done with a traditional publishing house. Instead of spending months or years writing a book before anyone sees anything, the idea is that I can just put stuff out there (for cheap) as I type and then iterate. And there are no limits of how I choose to distribute the book (excerpts published as tutorials on Processing.org? Free on my site? PDF for a million dollars? Audio book? It’s all fair game.).
Once the book is done, I can easily continue to make changes and update. Now, Processing has a fairly stable API, one that is not going to undergo massive changes anytime soon. And sure, how gravity works, the formula for the mandelbrot set, these aren’t concepts that are going to change that often. Nevertheless, anytime you write a technical book, technology changes faster than you can write, and no matter how careful you are, there’s no way to avoid making a serious amount of mistakes. With self-publishing and print-on-demand, I don’t have to wait (possibly years) for a print run to finish selling in order to make changes. I could make them daily if I wanted to. And that Chapter on PHP that I realized I really should have included in Learning Processing, well, I could just add it whenever I so choose.
Downfalls
There are certainly some pitfalls to self-publishing. One major issue, of course, is deadlines. Without a publisher I’ve got very little pushing me forward other than myself. In fact, getting this first chapter done took me twice as long as I intended. And other projects are getting in the way, I’m not sure how fast I will actually get to chapter #2.
The other main issue is distribution. I don’t care if I don’t get my book in Barnes and Noble, I mean who is really buying Processing books at Barnes and Noble?! I do need Amazon.com, but looks like there are plenty of print-on-demand options that can be distributed via Amazon. The major question for me is university bookstores. I don’t have any numbers, but it does seem to me that Learning Processing gets stocked in a lot of school bookstores because it is being used as a text for classes. So this is something I need to figure out, how can I get a self-published book to stores.
Oh yeah, an index. The publisher made an index for me. There’s got to be a way I don’t need them for that, though.
In the end, I could be wrong. This could be a failed experiment. Maybe no one will buy it, maybe I won’t finish it. The nice thing, however, is that if I’m really headed in the wrong direction here, I can always change my mind and start sending out proposals to a publisher. But the other way around, going from a publisher to self-published, well, that wouldn’t be so easy.
So, if you’re interested in checking out what I’ve started so far, for now (subject to change), you can purchase the PDF on lulu.com. I’m selling draft chapters for small amounts with the idea that I could raise a little bit of money to pay for design, typesetting, technical editing, etc. once I’ve got a more finished draft.
http://stores.lulu.com/dshiffman
UPDATE: I’m also looking for a service that would let users buy early drafts of a book and then upgrade to the final version at a discount or for free. Suggestions for how to do this welcome.
I really like ‘Learning Processing’ and the material on your website, so I, for one, will definitely be buying your new book. I’ve downloaded the first chapter and will work through it. Personally, I think the self-publishing route is the best way to go. I’m happy to pay less and for you to get more.
Hi, just bought the fist chapter and i still have to read it but, after skimming through it i have one demand for the next chapters: please, please, please, no handwriting!
even if it’s just a pre-pre-preview, try to find a way to substitute your scribbles with something more… uhmmm… readable!
also, the passage from lulu.com and paypal crashed my browser three times before i managed to pay for the book.
anyway, from the table of contents it looks like a very promising book!
Marcello
don’t think to much. just do it. i would be happy to buy your book.
Hi Daniel,
I think your work is really nice and buying the book will be worth it! I am going to buy the first chapter. Do you have control in the selling process? I mean, could you know if someone already bought each chapter? maybe you can give the people the possibility of upgrading to the final book once its finished.
Anyway, keep the good work and congrats for the first chapter!
I’m with Alec – I’d definetly buy your new book, which seems very promising by the way.
Thanks for the comments. I’d definitely love to figure out a way to let people “upgrade” their copy for free (or a reduced price) as I release new versions. Lulu does not seem to have that feature but if anyone has any suggestions please let me know!
And apologies for the scribbles. I will try to make my handwriting more legible in the future. Hand drawn diagrams is just part of my process.
Once again, thank you Daniel for your great efforts. I look forward to reading and following the progress of your work.
Can’t wait for your next book! I just picked up “Learning Processing” and I also bought a book called “The Magic Machine” (from 1990, lol) which sort of seems similar to your next endeavor. There really isn’t much out there for beginners…
I’ve had the same thoughts *many* times and I may wish that I’d taken your route. I’d certainly give it careful thought in the future were I to embark on another similar-ish project to yours. Self-publishing is the way to go with things that you want to have complete control over. Props to you, as they say, or used to say
“Oh yeah, an index. The publisher made an index for me. There’s got to be a way I don’t need them for that, though.”
Did you try tex & Lyx as a markup/typesetting application? It takes some getting used to and setting up overhead, but its really handy for auto-generated index pages etc.
Also, check blurb for cheap on demand printing: http://www.blurb.com/create/book/pricing
@Joshua Noble: I’m reading through your “Interactivity” book now, and it is awesome. Thank you for your efforts, especially as it is a great reference for openFrameworks (and C on the whole).
@Daniel Shiffman
I have a good friend in the printing world. He has expressed to me a multitude of times how effed the publishing industry is (and will continue to be). It seems like your decision to self-publish is a wise one going forward. And upon recently reading your first book, I’m amped to be working in Processing again after becoming a die-hard Max person. Zoog is the king of the world.
Besides, soon enough we’ll all be carrying Kindles/iPhones/the technology du jour, and the idea of “publishing” will seem quaint.
Good luck with the process. I look forward to wading through your new work as it will no doubt capture the simple joy of coding.
$3.73 out of $50! Yikes!
I’ve bought the preview too – I hope self-publishing works out for you and I look forwards to reading your next chapters.
I will definitely buy your new book. Learning Processing is one of the best books i bought so far, you’re a great teacher!
Keep them coming!
Hi Daniel –
I’ve also purchased the chapter and will definitely purchase the full Nature of Code book. The materials you’ve been put online in the past for free – tuts and applets both – have been among the most helpful anywhere, in my learning Processing (and a modicum of Java).
From my perspective as a consumer, your self-publishing the book works in a few ways: I’d prefer to give my money directly to the creator than the publisher; and I’d much rather have a high-quality .pdf to carry around on my USB key than a hard-copy book.
Thanks so much for your work, and keep it up!
Hopefully the Kindle and it’s like will grow to the point where you won’t even need a publisher.
If I could buy a kindle right now I would, and then your PDF’s etc.
I’m sure you could cash in on some of the goodwill you’ve built up from the dev community over the years to get some help with the technical editing as well.
Good luck with this Mr. Shiffman.
I am new to processing, but i do know who my guru is, love your site and your courses, keep up the good work. and sure i will buy your book. greetings from the Netherlands
Hi Daniel,
So glad you have begun work on this project. I too will buy the new book in whatever format available (you are that good).
On your comment that self-publishing allows for online early release of PDF’s for feedback, I have been acquiring a new OSGi book one chapter-at-a-time as they are written through Manning Publications’ Early Access Edition program. Have to say it works well and the option to purchase an Ebook only at the end makes pricing fairly reasonable. Not sure about how fair the author’s share is though – you would need to look into it.
Dear Daniel,
I took a quick look at the chapter one draft, and in short it is very encouraging! It looks very promising and I would definitely purchase it. I previously purchased “Learning Processing” and though it was well written, I was somewhat disappointed by it because I was expecting it to be more like the content I found in the “nature of code” sections of your website. So, I am truly delighted that that material will eventually make it into print. While having things in electronic form is convenient for search, etc, there is nothing like the ease of reading from paper and the convenience of using an actual book when reading on the bus or bed. Which leads me to my comments about your concerns about a self-published book for university courses.
I don’t see why this route won’t work. I am a PhD student in CS at Univ of IL. When I recently TA’ed Ralph Johnson’s object-oriented design course, one of our texts was a self-published pdf book. (See https://agora.cs.illinois.edu/display/cs598rejsu09/Textbooks) While the book was free, I am sure that all the students would have been willing to pay for it, particularly at the price point you have suggested. We also provided a link to a paper copy from Lulu. I know that many students, did in fact purchase (this otherwise free) book there.
Must your book actually be in the school bookstores? Since most courses that would use your book have websites, and since most students look up info about their courses online before the semester/quarter begins; if the professors using your book post their syllabus to their websites, their students should be able to get the book in time. The only annoyance I have had with purchasing a paper copy of a Lulu book is the regret I have when a updated version of the book is released. When this happens, I always get the new pdf version, but have never yet repurchased a new paper copy. However, I might purchase an updated paper copy if I was given a special discounted “update” price.
Good luck!
Maurice
Oops! Sorry for the repeat about upgrading books. I just saw Förvillelser comments.
The discounted or free upgrade is a great idea. Hmmm, does anyone know of a print-on-demand service that supports such a feature?
Hello Dan,
I’m very late coming into this thread, but in terms of self publishing. Have you looked into BookSurge and Create Space? They are self publishing services, both owned by Amazon.com. Booksurge is being merged into CreateSpace. Publishing in BookSurge gets you into the Amazon.com bookstore, and as I understand it, they also do wholesale ordering (to answer your university bookstore.
http://www.booksurge.com
Hope this is helpful.
-Ray (ITP ‘01)