
Introducing… TouchTrack!
21/12/2009We’ve named our multitouch project “TouchTrack”. The goal of this new application is to visualize the user’s music collection and to suggest new music tracks.
Here’s how it SHOULD work
The user drags an MP3 (or folder of MP3s) into our application. The metadata of the track(s) is loaded and the Last.FM API is called for more information about the track(s). TouchTrack also fetches a list of similar tracks.
Next, everything is loaded into a “spring graph”. This is a network of nodes representing tracks, which are connected via “springs” if they’re similar. The user can now navigate through this network with multitouch gestures. Tapping a node expands the graph with more similar tracks (gathered from Last.fm).
Here’s our storyboard:
The project is structured according to the MVC design pattern. We’re very happy with the overall design of our application. For once, we’re confident that this part wont be a problem in our report. The “model” and “controller” bits are long finished, but the “view” part turns out to be quite difficult to implement (compared with our previous projects).
Although the concept for this project is quite simple, the implementation is not at all trivial. We’re especially having difficulties with visualizing the data in a nice graph. At first, we tried to implement a simple force-based algorithm to position the graph nodes and edges. This worked, but didn’t really turn out visually appealing. Now we’re using the traer.physics library. After a few hours of (unforeseen) work, we managed to create a nice spring graph with realistic physics, but we still need to work some more on the gestures.
At the moment, we’re using the following technologies and libraries for our project:
- Robert Harder’s Java FileDrop class for detecting new MP3 files.
- The Tritonus API for loading MP3 metadata and playing the tracks.
- The Last.FM API for loading more metadata.
- Java bindings for accessing the Last.FM API.
- The MT4J development framework for multitouch support.
- The Processing language for visual effects.
- A particle physics engine called “traer.physics” for creating realistic spring graph physics.
This is definitely the most challenging multimedia project. Luckily, we’ve still got some time left, but unfortunately we also need to concentrate on studying for other courses.


[...] Tech Multimedia anno 2009 « Team 6 looking back TouchTrack 31/12/2009 A previous post introduced TouchTrack already. Finally, we finished this fourth and last [...]