Its been a crazy 24 hours, about 19 of those were spent designing and coding. Be warned - this is a long post, containing details of the process and the new framework implemented and all the new features added to the visualization application

From the tasks set out in the beginning, the design and implementation of most of the infrastructure is complete, and so is the refactoring. Effects and animations on the circles such as mouse-over effects and pulses on selection are working, as well as sound!
Features that are missing are advanced graphics options such as zooming/panning of the visualization and text displaying inside circles on click.

Now the details:

The infrastructure is designed as follows - a new class was created to form the basis of the application, providing easy handling of Object-Oriented components in a Processing Applet. Several classes and interfaces were created to enable this. Also the infrastructure creates a wrapper around the wonderful Minim package for Processing that manages loading and playing sounds, freeing the resources once sounds are finished playing and some other features.

Once all of this was done, it was time to refactor the previous code to the new infrastructure and change it to fit the new design. Here are some photos of the design:
The pulse effect was the first new feature added after the refactoring to get used to the new infrastructure and to get our hands "dirty" with some animations and not just static objects - and the it was worth it! The new framework made it very easy to think only about the ripple and how it should behave without worrying about where it is and how to place it there.

Next sounds were added, and this took a bit of playing around with Minim, and making some back-and-forth between adding features/changing the infrastructure to provide the services we wanted, and moving back to working on the sounds of the actual application. 

Last but not least - the application features a mode that automatically kicks in if users dont move the mouse for more than a preset amount of time. Once this "demo mode" is on it cycles through the sounds, selecting one at a time and activating it.

Leave a Reply.