A new programming language? why is that necessary?
As soon as David announced that we’d be learning Processing as a new language I fell bummed about having to learn another programming language alongside of all the programming we’re doing already in the programming courses. This journal entry aims to reflect on the two days spent on exploring the Processing software, its language, as well as how it works with the Arduino. I also aim to find the answer to why Processing is important to learn as designers. Below is a video shared by the Processing foundation that introduces the newest version of Processing.
What did we do?
David began by introducing vaguely what Processing does and how its useful. As designers, we use or learn to use Processing as it’s a flexible software sketchbook popularly used as a language of coding in the context of visual arts. According to David, Processing is “used to create animations, simple UIs, games, and proof of concept to many ideas.” Therefore, it’s crucial to learn it as a UX design student. More details on processing and why it’s relevant will be touched upon below.
On day one, David showed us some projects and generative art in which designers, artists, or programmers have created using Processing, they were absolutely stunning and that really showed the program’s capabilities. David guided us through a series of coding examples on Processing, the processing language is a revised version of Java simplified for amateurs in programming. The examples included drawing a line, drawing our own initials, changing characteristics along the way, expressing color, creating graphical primitives such as ellipses, drawing in layers, creating interactive programs, making items move, and so on. Other exercises include making a clock, making a bouncing ball animation, utilizing conditionals, adding images, animating images, etcetera. You can really do a lot with Processing and the graphics it’s capable of generating is endless.

Day two of Processing consists of a lecture about using Arduino with Processing followed up by a workshop taking up the latter part of the class to create a game/any interactive artifact set in a specific context that utilizes some sort of a timer, the timer is to be created with Processing and with the knowledge combined from using the Arduino with Processing, to create something fun and interactive. This project with the timer will be discussed in another journal entry that can be found here. In addition to it being a programming language for visualization, Processing is also an open source language and development tool for writing programs in other computers. It’s useful when you want those other computers to “talk” with an Arduino, for instance to display or save some data collected by the Arduino (source). David guided us through basic examples of communication between Arduino and Processing. Why is this useful? This comes in handy for when you want to write both Arduino and Processing programs and have them talk to each other, it works best for communicating simple information.
An example of this communication was carried out with an basic example from Arduino. It involves analog reading, serial reading, serial printing and counting. A sensor is attached on the Arduino as an element of interaction. As the counter counts upwards ellipses are drawn via processing, when you place your finger over the sensor the Arduino communicates with Processing and displays a change in color of the ellipses. The visuals looked something like this:
A little more information regarding Processing and why I’ve come to terms with how it’s relevant for us:
A little more information regarding the software:
- Processing is a programming language based on a simplified Java syntax, hiding all the ugliest aspects of “proper” Java and making it effortless to get started with code-based experiments with a minimum of code experience. It’s a non-threatening tool for amateurs, hiding the complexities of compilation etc. from users who don’t need to know about them.
- For students and enthusiasts Processing allows them to create computational sketches without being intimidated by tedious Java syntax.
- For professionals Processing is a Java framework providing support for a wide range of creative code activities, from interactive tools to data visualization or sensor-driven applications (like the basic application we did). Accessed as a proper Java package hierarchy, Processing is a well designed code API that makes basic tasks trivial and facilitates the introduction of advanced techniques by providing an extensible library framework.
Processing is extremely useful for many things to many people, all dependent on your perspective. It is a flexible sketchbook software and a language for learning how to code within the context of the visual arts, as I’ve mentioned above. It promotes software literacy within the visual arts and visual literacy within technology. Students, artists, designers, researchers, and hobbyists use Processing for learning and prototyping. Therefore, as a Interaction Design major undergoing a Prototyping course, Processing is a useful tool that is crucial for growth as a designer.






[…] This is a follow-up of the Arduino-Processing timer project. To read more about the process leading up to this project, including the introduction of Processing and how Processing and Arduino communicate, read here. […]
LikeLike