At the Middle of my Masters at MIT Media lab, I was starting to learn how to use Thermal Cameras on the thesis project, the problem was that the system was getting more and more complex, while de data visualizations where the usual flat 2D plots. Because the system was a spatial computing platform, meaning it computes information from the 3D physical space, I felt the need to have a tool to plot in 3D, moreover, real-time data from sensors on the space, in 3D.
The Following step was to integrate, combined with real-time code update, real-time data streams, like MQTT, a communication protocol vastly used on Internet of Things devices - also topic of my masters thesis.
System Evolution and Modules
Over time, due to the simplicity of the system, I started adding modules, like Maps 3D visualizations, support to OBJ and FBX 3d model files, support to other communication protocols beyond MQTT, like Bluetooth.
The idea was simple, have code being uploaded whenever there is a change on the text. simple and just that already save quite a good time of 3D viewer development. However on later versions I changed the integrated UI to external code editors, like Visual Studio code or Sublime. The reason for that was simple, developers are picky when it comes to their favorite IDEs, and I feel hard to use external IDEs on Processing and Arduino. Therefore I implemented a project protocol and file watcher to keep track of changes in external files.