🗓 4 May 2022

Interface & Application Programming

In this class, we learned about many platforms and resources that could be useful to us in programming applications and building interfaces for our projects. Here is a list of what we reviewed:
  • Processing - a tool to create user interfaces via normal media of a computer and organize communication between different devices based on the Java programming language.
  • P5.js - a web-based tool for creating user interface and creative coding, based on JavaScript.
  • Blender - can do 'everything'. has a python interface that's powerful.
  • MIT App Inventor - an easy open source tool to create phone applications.
  • A Frame - open source tool used for prototyping VR and AR environments.
  • Node Red - flow-based development tool for visual programming, tools for controlling dataflows in a graphic way, has modules for building dashboards.
We also covered two programming languages: Python and JavaScript. Python is recommended for wider applications and can be a more accessible language to learn. Pyhton is an interpresed language, can give instruction to computer in real time, which is why it's called script and not code Object oriented programming - a "thing" with properties and abilites that you can interact with (ie. what is your size? change your size. apply something to another object). Javascript is recommended for mostly web-based uses.

Serial Communications

Key things to consider:
  • what do I send and how do I send it?
  • how do you prepare your data?
  • which type of data are you sending?
  • which protocol will you use?
We reviewed some best practices in regards to data, which include sending the least and most meaningful data as I can (controversial for companies who's business is based on data). This increasses the speed and respects privacy of the data owner. Also, if possible, to structure my data as simple as possible.

Assignment: I wanted to learn P5.js because it is open source and has many creative applications. I started by watching a tutorial on youtube called The Coding Train where you can find step by step video instructions to start using P5.js. I got five videos deep, and was able to learn how to code not only visual interfaces, but a bit of interactivity. As you can see in the gif, I accomplished a mouse tracking code which recorded the movements of my mouse into a graphic interface. Ultimately, I would like to use this application to code a more interactive web interface for my website.