Why Choose Processing for Android App Development?
By Andres Colubri
With this post, I would like to introduce the book: Processing for Android: Create Mobile, Sensor-Aware, and VR Applications Using Processing. One year ago, Ben Fry, one of the founders of the Processing project, told me that Apress was looking for someone to write a book on Android development using Processing. I thought this could be an excellent opportunity to give a detailed account of Processing for Android, starting with the basics of using Processing as a “code sketchbook” to create mobile apps with graphics and interaction, to more advanced projects involving sensor data, wearables, and Virtual Reality (VR). Even though I was a little apprehensive at first about the commitment of writing such a book, one year later I am very satisfied with the results. I believe this book will be useful for new and experienced Android developers alike, and also for people wishing to explore new ideas in user interaction and experiences on phones, tablets, watches, and VR.
Android is the most popular mobile platform today, with over 80% of smartphones sold worldwide using the Android Operating System. Alongside with this vast user base, Android has nourished a large and dynamic app development ecosystem, ranging from mainstream uses such as gaming and communication, to more specific applications in diverse fields: education, health, fitness, and business, to name just a few. But to a large extent, app development continues to rely on highly specialized and hard-to-master tools and approaches, which may pose a barrier to those who may want to learn mobile development from less technical backgrounds, to sketch and test prototypes quickly, or to focus more on the graphical output and interaction elements of their apps.
Processing tries to lower this barrier by making app development easier by two means. First, by providing a minimalistic code editor to write, debug, and run Processing programs on Android devices; and second, by defining an Application Program Interface or API, consisting of a set of functions and classes for handling screen drawing, data input/output, and user interaction, that is easy to learn and to use. According to its mission statement: “Processing seeks to ruin the careers of talented designers by tempting them away from their usual tools and into the world of programming and computation. Similarly, the project is designed to turn engineers and computer scientists to less gainful employment as artists and designers.”
I wrote this book inspired by these goals of bringing together engineering, computing, art, and design, and have organized it in five parts –getting started, graphics and interaction, sensors, wearables, and VR– that try to convey how Processing can be used to go from an initial concept to a final application through an iterative sketching process. Each section includes 3 chapters, the first and second covering introductory and intermediate concepts through several brief, fully-explained examples, and the third chapter delving more deeply into each topic and presenting an advanced final project. These advanced projects are also fully explained in the text, together with the inspiration and algorithms behind them. They range from implementing a particle-system-based live wallpapers and generative collages using Google Street View images, to gaze-drawing in VR. The book ends with two appendices, one covering the integration of Processing projects with the standard Android development tools, Gradle and Android Studio, and the other about installing and creating custom libraries to extend the core functionality of Processing for Android.
A key aim throughout the book is to familiarize the reader with Processing’s core API –widely used around the world to create computer-based artworks and to teach coding to artists and designers– and then adapt it to the unique features of mobile devices. I paid particular attention to discussing the constrains faced by app developers in terms of performance and battery life, the specificities of touchscreen interaction, the possibilities enabled by position and body sensor data, and finally, the challenges posed by interaction and immersion in VR.
My hope is that this book strikes a balance between introductory and advanced examples, and between artistic inspiration and computational technique. Although millions of Android apps are already published on Google Play, there are always new ways in which we can re-imagine graphics and interactions and expand the possibilities of user experience on smartphones, tablets, wearables, and VR. I am looking forward to see what readers of this book are inspired to create with Processing for Android!
About the Author
Andres Colubri is a core member of the Processing project, and the main developer of the OpenGL renderer, the video library, and Processing for Android. He originally studied Physics and Mathematics in Argentina and later received an MFA at the UCLA Design Media Arts program. He uses Processing as the main tool to bridge his interests in computer graphics, visualization, and statistical modeling. Andres is an active yearly speaker on topics ranging from creative coding with Processing to data visualization.
Andre Colubri's recent Apress release, Processing for Android: Create Mobile, Sensor-Aware, and VR Applications Using Processing, is now available.