Appearance
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()
anddraw()
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:
Tool | Strengths | Use Cases | Differences from Processing |
---|---|---|---|
P5.js | A 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/MSP | Graphical programming for audio, video, and multimedia projects. | Audio synthesis, interactive installations. | Graphical interface, focuses on sound and video. |
TouchDesigner | Real-time multimedia content creation, particularly for live visuals. | Projection mapping, VJing, interactive installations. | Commercial, more complex for visual programming. |
Unity | Powerful 3D engine for game development, VR, and AR. | Games, simulations, virtual/augmented reality. | Much more complex; focuses on 3D and physics. |
MATLAB | Numerical computing and data visualization. | Scientific visualization, simulations. | Focused on data-heavy applications. |
OpenFrameworks | C++ 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. |
Scratch | Beginner-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.