Book Image

OpenFrameworks Essentials

Book Image

OpenFrameworks Essentials

Overview of this book

Table of Contents (19 chapters)
openFrameworks Essentials
About the Authors
About the Reviewers


You have chanced upon a chapter that not many will read. With a couple of phrases quoted on the cover, a foreword is quite a doubtful genre in modern technical literature. Usually, such texts begin with "the book you are holding…", but perhaps you are holding a gadget and your fingers miss the touch of coarse paper, or you are reading a nicely designed printed booklet of selected chapters from the book.

The main thing is that the book is in your hands as well as the technology, which exists in digital space only but can make most physical objects around us interactive. The book about the technology, special features, methods, and principles of work will be there on your desk among some printouts, crumpled designs, and endless paper cups that deliver portions of invigorating caffeine to us. It will be scolded by a beginner, or criticized by a professional, but it will also be bookmarked by hundreds and commented on the margins by thousands of people certainly advancing in mastering a powerful instrument of technological and creative use—openFrameworks.

This is a generation of code designers, artists with digital tools, engineers with the programmed project functionality—a young, unexpected generation, which is used to constant studying, the constant state of a novice making the first attempt to cope with a new principle and a new instrument—a fresh start. If you're part of this categorization, this book will be a great base to acquire new habits and will act as the first step towards self-development for you.

The pro goes ashore

A profession is neither a bronze molding nor a stone monument but a living and evolving form. A coder's, a programmer's, and an interactive project engineer's profession has been living until now in the depth of the office ocean among the unicellular executors of other people's plans and among the irresolute and inert workers unable to motivate themselves, to broaden the range of instruments, technologies, and wishes—wishes to exceed the environment of hired workers and step into the world of high professional competition belonging to men of business—men of solution finding.

For professionals, evolution is to consider that they are beginners again. Taking a manual and evening by evening, at home by the lamplight forging their new armor, their strong professional exoskeleton, to exceed habitual tasks allowing them to step out of an ocean of many and onto the beach of singularities where the experience of the past and the ambitions of the future change the very idea of workspace, competences, and hierarchies.

You can be an experienced coder having worked at different sites and application for years, but you have to go to the bottom studying again, doing tests and exercises, correcting amateur mistakes, getting a new experience, and changing your idea about what can be done by yourself, by your intellect, your vision, and your imagination. Changes inspire as do understanding, knowledge, and experience. A book that makes you sink down to the bottom, consuming several evenings or a couple of weeks, will eventually help you to understand a lot.

Although it is the basics, they are assembled intentionally into a compact, handy structure of informational portions, maybe not so exquisitely designed but definitely rich in nutritious and simple practical ways. This book is going to rest on the shelf after you, led by the success of consecutive learning, have performed a series of simple works based on the examples, gradually and consciously going ashore onto a new professional environment. You will enter the era of probably the most active technological education—self-education by means of hundreds of available sources.

The era of self-education

The authors of this book are professionals tired of putting on knowledge as a clumsy sea lion puts on fat. Knowledge should constantly attract new ideas, and a book is probably the best way to share it. This book is not a step but a jump. A sea lion stepped ashore out of the thick, powerful knowledge clot, stiff on the land of theoretical teaching methods and surprisingly flexible in its natural environment of project development. We witness the evolution into methodologists, teachers, and preachers of technologies.

We have stepped into the era of instant evolution of knowledge, habits, and experience, into a period of high-speed reforging and assembly of new details and completely unique professional habits. Programming inspires advertisers and artists. Mobile applications become the channels for spreading marketing and cultural novelties. Behind the glossy interface design, there are people following the lines, thinking in compact code constructions, and joining and optimizing data exchange in new sequences, where, as a result, persons with a smartphone in their hands get access to a cosmic number of new impressions.

Now, we can all enroll for some courses, enter online universities, and order tens of books and manuals. We live in the melting pot of innovation history, and the lack of information is no excuse for the lack of talent. People began sharing their knowledge easily and understanding different questions, the answers to which are not worth publishing. Practical professional manuals are a separate, widely spread genre—littered, popular, and diverse.

This book appeared with the knowledge of similar books' faults. It was structured to be light but available, keeping the link to the authors' experiences and helping you to independently develop the basic principles of openFrameworks for any platform and projecting task. You will feel your personal evolution go on with every page, chapter, and every performed prototype.

We live in the epoch of Minecraft, when kids make worlds out of blocks and create the unimaginable, and the developers of this amazing game can consider themselves educators, teachers, and inspirers of an entire generation of future talents. We had no such games; we saw The Prince of Persia, who did his best jumping over the traps craftily set by the designers. We studied by less entire examples, but even then we realized that programming, coding, and UX impression design would be our new hobby, that not only spaceflights, but also the shimmering worlds of screens, internet services, new smart-stuffed objects, and the new economics of ideas is possible.

I have been teaching technology-based design for more than 10 years already; my main conclusion is that (the right) methods are neither simplification nor entertainment, which are characteristic of modern education. One should be inspired by what is achieved in the end and be captivated by the possibilities of the studied. Every elementary molecule of knowledge should be connected to a new use in one's imagination, excite an appetite for knowledge, and think in terms of practical application.

Thus, I got tens of projects made by graduate students, who had never been interested in programming at all. They came to love this creative process (though with hundreds of restrictions and only at the beginner level) because it allowed them to create their own companies and tens of commercial projects for clients.

A great couple—Processing and openFrameworks—permitted designers to create interactive systems, easily combining computer data and physical objects. They allowed creating interactive installations, thus widening the possibilities of device interfaces to experiment with data interpretation, transferring music into color, poetry into a drawing, and a dance into strokes of paint; to track down the behavior; to react; and to animate the behavior of digital nature inside an operating system and inside an application.

When I give my students a regular task without a basic introduction to technology or to some designers with no technical education, I just tell them to look around and think. This is because today there is no technology that wouldn't look like magic, or sorcery, as nudity looked profane but inspiring at the time of the Renaissance. This accessibility of naked technology in a book is not an anatomical atlas for openFrameworks but a collection of short, erotic stories inspiring to imagine, to make up and dream, and to try to master and capture with pleasure.

Probably, if the sexuality of programming were put in the first paragraph, my foreword would be read by more people. But to my mind, as a designer and a teacher, I care more about your turning the page over as this is where your personal border lies. There is the land separating the ocean of knowledge and experience from just a wish to know and understand. This feeling of border is the most mysterious thing in a person in his professional and personal evolution and in his personal creation. As Adam, we stand in front of the tree of knowledge. I envy you; you are students—beginners again.

Having read this book, I overstepped the professional line, allowing an insight into our projects in the near future and into understanding the logic and the principles of projecting with openFrameworks. Now, hold your breath and jump out of the ocean—turn the page!

Dmitry Karpov

Course Director, CPD Interactive Design and New Media, BHSAD