Skip to content

Week 15 - Interface and application programming

Group Assignment

  • Compare as many tool options as possible.
  • Document your work on the group work page and reflect on your individual page what you learned.

Group work

Processing is an open-source graphical library and integrated development environment built for the electronic arts, new media art, and visual design communities with the purpose of teaching non-programmers the fundamentals of computer programming in a visual context. WIKI
The download and install of Processing can be easily found in its official site.

About Processing

Key Features:

  • Simplified Syntax: Functions like setup() and draw() make it beginner-friendly.
  • Visual Capabilities: Excellent for 2D/3D graphics, animations, and data visualization.
  • Hardware Integration: Works well with Arduino for interactive hardware projects.
  • Extensive Libraries: Supports image processing, sound, networking, and more.
  • Community-Driven: Open-source with a vast collection of tutorials and libraries.

Common Alternatives

Other tools and frameworks for creative coding and interfacing include:

ToolStrengthsUse CasesDifferences from Processing
P5.jsA JavaScript library based on Processing; runs in web browsers.Web-based creative coding and interactive graphics.Browser-based, uses JavaScript, suited for web apps.
Max/MSPGraphical programming for audio, video, and multimedia projects.Audio synthesis, interactive installations.Graphical interface, focuses on sound and video.
TouchDesignerReal-time multimedia content creation, particularly for live visuals.Projection mapping, VJing, interactive installations.Commercial, more complex for visual programming.
UnityPowerful 3D engine for game development, VR, and AR.Games, simulations, virtual/augmented reality.Much more complex; focuses on 3D and physics.
MATLABNumerical computing and data visualization.Scientific visualization, simulations.Focused on data-heavy applications.
OpenFrameworksC++ framework for creative coding.High-performance 2D/3D graphics and audio projects.More advanced; requires knowledge of C++.
Pure Data (Pd)Open-source, visual programming for audio and multimedia.Real-time audio processing and sound design.Visual programming, focused on audio and sound art.
ScratchBeginner-friendly, block-based coding for kids and education.Educational projects and animations.Simplified drag-and-drop interface for children.

Processing vs. Others: Key Differences

Ease of Use

  • Processing: Extremely beginner-friendly, ideal for quick prototyping.
  • Unity and OpenFrameworks: Require more experience due to their advanced features.

Focus Area

  • Processing: Focuses on visual design and interactive applications.
  • Max/MSP: Best for multimedia and audio projects.
  • MATLAB: Suitable for scientific applications and data visualization.

Web Integration

  • Processing: Limited web capabilities.
  • P5.js: Specifically designed for web-based applications using JavaScript.

Hardware Integration

  • Processing: Strong Arduino support for interactive projects.
  • Max/MSP: Works well with MIDI and other multimedia devices.

Summary

Processing is a versatile tool for creative coding and visual design, especially for beginners. However, alternatives like P5.js are better for web-based projects, while Max/MSP or TouchDesigner excel in multimedia. Unity and OpenFrameworks offer high-performance solutions for more complex and resource-intensive applications. The choice of tool depends on the specific project requirements and the user’s expertise level.