Week 15 — Interface and application programming¶
Global Class¶
This week focused on how digital fabrication projects communicate with users through software interfaces and applications. The lecture explored the relationship between embedded systems and higher-level applications that visualize, control or exchange data with physical devices.
A major topic was the comparison between different programming environments and languages such as C/C++, Python, Processing and JavaScript. Python was presented as a particularly flexible and accessible language for interfacing hardware with applications, while Processing was highlighted as a natural extension of the Arduino workflow for graphical interfaces.
The class also introduced low-code and visual programming environments such as App Inventor, Mods and Node-RED, showing how interfaces can be developed through data-flow programming instead of traditional coding.
Another important concept was the use of WebSockets for communication between web applications and embedded devices, allowing real-time interaction between browsers and microcontrollers.
One of the most interesting aspects of the lecture was understanding that interface programming is not only about creating graphical interfaces, but about designing meaningful communication between humans, software and machines.
The lecture reinforced the importance of selecting tools and programming environments according to the specific goals of the project, balancing performance, accessibility and development complexity.