Design / Human-Computer Interaction

Human-computer interaction (HCI) is a multidisciplinary field of study focusing on the design of computer technology and, in particular, the interaction between humans (the users) and computers.

Here is some of my latest work:

The Blob

Immersive experience using Electronics

A network, such as an Artificial Neuron Network, is a collection of connected units or nodes called artificial neurons, which closely mimics the neurons in the human brain. 

The Blob is an immersive experience created to re-interpret the concept of a network and the role of connection in our society. 

The system consists mainly of:

- Pressure plates
- Light Sensors
(also known as light dependent resistors)

- LED light strips


all attached to an Arduino Mega board. 

Various light strips are programmed to operate simultaneously. Each light strip behaves differently depending on the user input and interaction with either the pressure plates or light sensors. 

All the electronics are attached to a globe-shaped skeleton made of cardboard and
e-waste to represent a network

The Blob is designed to allow users to become part of the system by taking their behavior as input and triggering the different light strips as a result. 


Software used:
Arduino IDE, Inkscape, DXF

Music Visualizer with Unity 

An immersive experience using Virtual Reality

Since the beginning of time, we have strived to find ways to create melodies and enjoy compositions of music.

It is very difficult to speak about the origins of humanity without considering the role of music. Music players such as Spotify or Apple Music have become essential to the modern 21th century citizen.

Considering the important role that music plays in our society, is there a more immersive way to experience music besides the regular music player?

 A music visualizer is a feature used to generate animations based on a piece of music.

For this project, I created a Virtual Reality music visualizer using Unity to create an immersive musical experience.  

Thanks to virtual reality, the user can fully immerse themselves in an environment where they become one with their music player.

The user finds themselves in a room with an interactive record player. They can select from a range of records displayed on the wall and place the disc on top of the record player to start the music player. 

Once the music starts to play, the room darkens and then the user finds themselves inside of a music visualizer where they can experience the visuals created by the sound waves of the current song that plays. 

TAP-TAP

Game / Mobile Application

I developed a prototype for an Android application titled Tap-Tap.
It uses a similar dynamic to the one featured in the popular games “Guitar Hero” or “Piano Tiles”.

The goal is for the user to get the highest score possible by tapping on a series of tiles representing the notes of a song.

We offer 3 game modes: easy, medium and expert.

The difficulty level modifies animation speed and the number of musical notes which appear on the screen.

To play, you simply tap on the animated music note to score points.

This app is designed using the MVC model for interactive systems, dividing the code in 3 parts: Logic, Controller and GUI. 

Logic: 
Game settings, user preferences, score, other data.

Controller: 
- Input: User actions + communicating with model
- Output: View


GUI:
- Communication between the controller and user actions.
- Updating the UI. 

 

The animation is synchronized to the music notes appearing on the screen.

Visual feedback (such as notes disappearing) is provided according to the user's actions. The progress bar indicates the progress of the song and time.

Users can Pause/Resume/Restart the game at anytime and also Save the best score in each mode.



(Prototype below)

PreviewBox

Preview tool for 3D Rendering software

Node programming is very common in design software because it allows users with no programming knowledge to perform a higher degree of custom editing.

Node programming is very simple. Just like connecting a circuit, each node will process input data and output the result.

Users only need to connect the two sockets to allow data to flow from one end to the other, thus completing the mapping and transformation of the entire data content, and achieving
advanced effects such as physical simulation, material construction, parametric modeling, special effects (SFX), etc.

Problem: Even though node programming is designed for ordinary users, there is still a large number of
users who have difficulty navigating a software with node programming
 
  

After conducting a series of user studies I created
PreviewBox: A system to improve learnability of node programming software by using visual feedback for users of 3D rendering software.

PreviewBox provides unique previews of the computation process in real time and a template function to visualize various solutions simultaneously. 

(Prototype below)