courses

Saturday, 18 December | 2:15 PM - 6:00 PM | Room E5

Presented in English / 영어로 발표 됨

Introduction to Processing on Android Devices

Saturday, 18 December | 12:15 am - 4:00 am | Room E5

Processing is a Java-based programming language and environment used as a teaching, prototyping, and production tool for creative media. Many interactive installations, generative art pieces, data visualizations, and physical computing systems have been implemented with Processing. Android, on the other hand, is an operating system and software stack for mobile devices, which is steadily gaining popularity all over the world.

Processing is widely used by designers, artists, students, etc., but until recently it has been limited to the PC and Mac platforms. In early 2010, the port of Processing for the Android OS was initiated. Although it is still at an early stage of development, significant portions of its functionality, such as 2D and 3D rendering, are already usable. The combination of Processing's simple API and extensible architecture with the unique characteristics of mobile devices and their ubiquitous presence will certainly open up new creative uses of such devices.

This course helps attendees get started with Processing development on Android devices. It introduces the main characteristics of the Android platform, explains how to run simple graphic applications and upload them to the phones, and summarizes the possibilities offered by more advanced features (OpenGL, GPS). Audience comments, questions, suggestions, etc. are encouraged.

Level

Beginner

Intended Audience

Beginning and intermediate programmers, artists, and designers who are interested in exploring the creative potential of mobile devices by using the Processing software.

Presentation Language

Presented in English / 영어로 발표 됨

Prerequisites

No prior knowledge of any of the technologies covered. Basic programming experience with any language and experience with JAVA/Processing in particular is helpful. Highly recommended: bring your own laptop and Android phone.

Syllabus

What is Android?
  Android devices
  Development process and Android market
  Hardware (input devices, touchscreen, accelerometer, GPS, compass)

What is Processing?
  Main goals of Processing
  Use in education, art, and design 
  Overview of Processing libraries
 
Basic concepts in Android applications
  Views, activities, intents, and the manifest file
  Android Software Development Kit (SDK)
  Use of Eclipse for Android development

First steps with Processing for Android
  Installation of the Android SDK and Processing 
  Android mode in Processing
  Running sketches on the emulator and the device

Basic Processing use
  Drawing of 2D shapes and use of color
  Animation and motion 
  Media (images and fonts) 
  Interaction (keyboard, touchscreen, multitouch handling)

Extending Processing
  Libraries for Android (oscP5, controlP5, Ketai in Motion) 
  Accessing other Android hardware (camera, GPS)

Break

Fast 3D Graphics in Processing for Android - Colubri

OpenGL and Processing 
  OpenGL ES for mobile devices
  Mobile GPUs (Adreno, PowerSVG, Tegra)
  Hardware requirements for 3D in Processing for Android 
  The A3D renderer
  Using offscreen drawing

Geometrical transformations
  Translations, rotations, scaling
  The transformation matrix stack

Camera and perspective
  Camera placement
  Perspective and orthographic views

Creating 3D objects
  Using the Processing API to create basic 3D primitives: boxes, spheres, vertex shapes
  Texturing and lighting

3D text
  Using system fonts to create text on the fly
  API to handle and transform text strings

Models: the PShape3D class
  Introduction to Vertex Buffer Objects (VBOs)
  Techniques for creating PShape3D models: OBJ loading, shape recording, SVG copy
  Particle systems

Jihyun Kim
Anyang Public Art Project Foundation

Andres Colubri
Jeju National University

Instructor Bios

Jihyun Kim
Jihyun Kim is a media artist and researcher in Seoul. Her projects address data visualizations and interactive media installations that make new sense and foster novel perspectives in passive urban life. Her research explores landscapes within contemporary urban contexts and interrogates the physical and emotional aspects of current engagements using new technologies. She received her MFA in Design|Media Arts from the University of California, Los Angeles in 2008, and her works have been presented in Seoul, Washington, DC, Los Angeles, Belgrade, Banff, and Madrid.

Andres Colubri
Andres Colubri is a programmer, researcher, and artist. His interests range from algorithmic modeling of complex systems to creative use of computer code for subjective expression and experimentation. He originally studied mathematics in Argentina, then did research in the area of computational biology at the University of Chicago and recently obtained an MFA degree in Design|Media Arts from the University of California, Los Angeles. He is an assistant professor at Jeju National University and is actively involved in development of the Android version of Processing.