Writing a book about OpenFrameworks

Hey OF community, merry christmas (if you care about it)!

I was recently contacted by a publishing house (http://www.packtpub.com/) asking if I was interested into writing a book about “Mastering openFrameworks: Creative Coding Demystified”. I thought it was a very interesting proposal considering the whole momentum in OF development and the level of maturity the framework is reaching. There aren’t many official books about it yet (I only know about the Programming interactivity) and I think it would be really great if we get more published material out there.

Despite the fact that I never wrote any book before, I am very aware that it is a huge 6-8 months commitment… and while I’ve been working with OF for a while now, I am sure I am not the best person to write about all of the topics they expect.

Considering the vast potencial of this community, and the whole decentralized development spirit of OF itself, I’ve asked the publisher about the possibility of having multiple authors sharing the chapters and responsibilities, as I think that would make way more sense for something like OpenFrameworks. They are fine with that.

To make it short, I need to give a feedback to them soon, saying if I am up for the challenge or not. But in order to do that I wanted to trow this here in the forum to see what you guys think about it. If there are a lot of people interested in getting committed, then I will probably move forward with the proposal and start organizing some logistics to make it work, but if not, I don’t think I could handle it all by myself and would have to say no…

The topics that they expect to be covered are the following (copy n’ paste from what they sent me):

Introduction to C++ - a primer
Creating your own openFrameworks Projects
Drawing in 2D
Building a simple particle system
3D topics like shaders, FBO’s, VBO’s - Physics like particles, springs etc. - Video analysis with openCV (motion tracking, color tracking, skeleton tracking)
Setting drawing modes
Displaying videos and images
Importing libraries such as ofxOpenCv, VectorGraphics, and so on
Debugging an oF Application
Sounds in openFrameworks and the FMOD Ex library
Creating interactions with Sound
Working with 3D–OpenGL
Blobs and Tracking
Interacting with motion-sensing devices such as Kinect (a very small chapter)

We didn’t get so much into the detail$ of the proposal, but their usual deal is to offer 16% of royalties, to be partially paid in advance during the book development and split with all the collaborators. I honestly don’t know how much is that in actual figures, but that’s something we could figure it out soon, if there is the interest. (but for sure it’s not enough money for anyone to quit their day-job, this is definitely a project to be done in the evenings).

For a 300 pages book, the expected timeframe is 6 months for the first draft (1,5 pages a day) plus 2-3 for all the technical publishing work.

Well, please let me know your thoughts about it…

i know josh is finishing up programming interactivity 2nd ed. which is massively revised.

there is also a comprehensive japanese book on openFrameworks, which i believe some people are working on getting translated into english. it has a ton of great examples and ground-up explanations of what’s going on. http://www.amazon.co.jp/exec/obidos/ASIN/4861006708/goodpic-22/ http://bnn-international.blogspot.com/2010/03/beyond-interaction-introductory-of.html

and zach told me recently he’s starting work on some kind of definitive openFrameworks book.

maybe zach can comment here, or maybe it’s best to ask him directly? i think there is a little energy already moving in this direction…

Interesting to know there is energy being put on it… didn’t know of the 2nd edition of Programming Interactivity and this effort to translate the japanese book.

But, yeah, guess it’s better to hear from zach what is the status of that. I wouldn’t trust anyone better than him to write a definitive OF book - specially considering that he was the one to bring me into the OF world in the first place :wink: - and if this book is already coming, maybe there isn’t much sense into writing a new one right now.

Quickly – I’m working on a “getting started with” book, which are pretty small books and by no means should be thought of as a “definitive” book. There are a few out there for processing and arduino:


They are geared towards beginners. my hope is that it will be good entry point for getting up and running with OF – it will be alot like workshops I’ve given in the past. The book you’ve described sounds great, and I hope you can make it happen. If I can help in any way, please let me know!

The 2nd ed. of Programming Interactivity is supposed to be out any day now but it’s not really enough I think. I’d love to see more books, be they short ones or longer ones. The “Getting Started” series is really great, it’d be cool to see an OF book along the same lines. That said, something longer would be cool too. Also, I was chatting with some people about how there’s not really a “C++ for fun stuff” book. All the examples tend to be veyr dry, which would be a nice thing for a longer book to tackle too.

@zach, thanks for clarifying about your book and offering support.
(These little books look so nice!)

@joshua I totally agree with you, never seen a c++ book in which the examples weren’t or very hard to swallow or very boring.

So, It would be awesome if I could get some people to really jump on this project with me… I’d love to do it, but I really can’t do it on my own… I’ve been asking some people around but still didn’t get a positive answer… So hey, if you are reading this thread and want to collaborate, give it a shout!

I’m interested in helping out. I would probably be best suited the basics and for Particle systems, motion detection/background subtraction (pixel manipulation), and fragment shaders. I’ve also been working on an interactive graphics programming inductive-chain-learning problem set which I’ve been using in my class.

just out of curiosity: is it planned to be cross-platform in the parts where it is needed?

I’m interested but since I’m not a native english speaker, I would’nt let me write parts of an english book :wink:

Thanks for the feedback @Tim & @beben!
But for now I’ve decided I won’t be able to move along with the book project…
I will need to be committed to other projects with higher priority, making writing the book a bit off my capabilities. In anyway, I will keep your names in mind and suggest the to the publisher in case they are moving along with project with a different author.

@benben, the parts that where planning to be cross-platform where the initial ones, like setting up an OF projects, importing addons, etc.

Have to say I’ve been toying with the idea of writing an OF book too. I wrote a book about Processing/Generative Art not long back, which was a lot of fun to do, and went down quite well (well those who liked it, liked it). The project was pure financial suicide of course, as most book projects are (for the author at least), but not so much as to put me off thinking about another one. And OF, with all the groovy shit that’s being done with it, seems to be an obvious area to explore next.


My main hurdle to writing some kind of a practical guide to OF is how to put the FUN into C++. It was easy to make Processing fun and accessible, because it IS fun and accessible. But my experience of working within OF has been very different, not quite as wild and free and crazy and cool. OF coding is something most definitely done with your trousers still on. That’s not to say it’s not fun, once you’re up and running, but it’s really not something you can hit the ground running with quite as easily. And it’s certainly not as accessible to beginners as something like Processing.

But maybe that’s partly because there isn’t the right kind of beginners book out there to help them. I’m a huge fan of Josh’s book, but it’s not for the code-illiterate. Zach’s book sounds very valuable too, and this might be the missing link. The kind of book I’m thinking of wouldn’t be much like either of these, as I simply can’t write in that style. If any of you have read it you’ll know my Processing book was a little more … um … personal.

Anyway, this isn’t a project at the mo, and I’m not sure it ever will be, but I’m reading the thoughts here with great interest. And the fact that publishers are hassling people to write books for them means that they are at least seeing there is a demand there.

[quote=“joshua noble, post:5, topic:8409”]
The 2nd ed. of Programming Interactivity is supposed to be out any day now but it’s not really enough I think.[/quote]

Hi Joshua - I just bought your 1st ed. last week and it’s really great; I like your approach to the book and it’s definitely “enough” to start :slight_smile: I only wish I would have known about your 2nd ed. before buying the 1st…surprisingly enough amazon.fr (France) only listed your 1st ed., along with your upcoming Cinder book…ah, well, c’est la vie :wink:

Question: are there any links I should know about in regards to this update / 2nd ed. ? Thanx in advance.

PS1: Re: contributions for books, etc.: If interested, I’m willing to contribute image-wise screen capture tests manipulated in PS, but I don’t have many at this point and they’re more goofy-kinda-artistic than demonstrative.

PS2: I remember the days when there were hardly any “user-friendly” books on computer programming, just dry technical manuals that made you reach for the vodka and enjoy slam dancing :wink: :wink:

Question: are there any links I should know about in regards to this update / 2nd ed. ?

Ok, a quick search on the web I found the following resources, so all set, no need to answer (unless there’s more?):

Updated source files (joshuajnoble-Programming-Interactivity-Code-d9119e5.zip):

2nd ed.:

The book on openFrameworks is published.