We encourage you to make as much use as possible of these resources and to use this
book as a map for exploring a great number of technologies and techniques.
How This Book Is Organized
This book is broken into three parts. The first introduces the three projects that will be
used throughout this book, the second introduces some of the most common themes
in creating interaction in designs and applications, and the third introduces some of
the more advanced topics that you may want to explore further. Also included with
some of the chapters are interviews with programmers, artists, designers, and authors
who work with the tools covered in this book. Covering such a massive range of topics
means that this book doesn’t go into great depth about most of them, but it is filled
with references to other books, websites, designers, and artists that you may find helpful
or inspiring.
What Is—and Isn’t—in This Book
My excitement about the ideas and rapid growth of the field of interaction design is
hard to contain. However, as exciting and far-reaching as interaction design is, the
limitations of time and physical book size dictate that I be selective about what is and
isn’t covered in this book.
What’s in
This book covers Processing, Arduino, and openFrameworks. To help novice pro-
grammers, it covers some of the core elements of programming in C and C++ for Ar-
duino and openFrameworks and also covers the Processing language. We introduce
dozens of libraries for openFrameworks and Processing—too many to list here. Some
of these are official libraries or add-ons for the two frameworks, and some are simply
extensions that have been created for this book or provided by altruistic coders.
We also introduce some of the basics of electronics and how computer hardware
functions, as well as many tools and components that you can use with an Arduino.
The Arduino and Processing IDEs are covered, as are two different IDEs for
openFrameworks, namely, CodeBlocks, and Xcode. The Arduino Duemilanove and
Mini are covered in depth, and we discuss other boards only briefly. We cover many
electronic components that have designed expressly for the Arduino, called shields, in
depth as well.
What’s Not in
While this book shows how to create some circuits, it doesn’t cover a great deal of the
fundamentals of electronics or hardware, how to create circuits, or electronics theory.
xvi | Preface