LastLoop - Visualizing multiple LastFM listening histories

Bachelor Thesis By: Roman Graebsch Student advisor: Dominikus Baur

LastLoop is the project behind a bachelor-thesis about "Visualizing multiple LastFM listening histories". Its is an Java application running within the Brwoser, enabling the user to easily compare different LastFM listening histories.

There are already various tools out there which enable users to analyze their own listening habits (e.g.: Strings and Tangles, LoomFM, LastFM Listening Trends, Tube Tags, Last.FM Explorer...), although none of which allows you to easily compare more than two different histories to each other. LastLoop wants to enable just this, using elaborate visualization techniques.

v0.4 online (19.08.2010)

LastLoop finally got a name, and a new home: Go to the Site to get started watching the Intro Video (to be added), or use the App!

New features in v.04:

  • Improved stability and responsiveness, genereal Quality control (various Bugfixes, tweaked UI, added tooltips...)
  • Genre cheboxes: left click to hide a single genre, right click to hide/unhide all
  • Feedback button: Click on the Feedback button and write a short text about what you found out, press Enter: Screenshot and information will be sent via email to evaluate!
  • Expandable User Panel: Expand the User Panel to gain more detailed infos about search results, songs in total, highlighted/hovered Songs etc. *

v0.3 online (10.08.2010)

Open to look at Version v0.3.

New Features in v0.3:

  • Colouring of different genres, Genre information loaded using Background Worker Thread
  • Search for Songs -> Included GUI Element to Search for Artist, Title or Album Names.
  • Multithreaded loading of UserSongs (adding of User does not block Application)
  • More sophisticated Interaction- > switch Inter User Visualization Areas (show all/show UserSpecific/use Filter)
  • More sophisticated Interaction- > be able to switch Position of User in Visualization and UserGUI
  • Left click: Set Song information, right Click: Release Song information


  • User GUI: Adding + Deleting of Users, switching Intra User Visualization of Songs, new: Specific Area for each User
  • TimeWindow GUI: Calendar View with various interaction methodes (via TimeSlider, using MouseWheel, Right-Click + Drag on Visualization)
  • Hover - Highlighting Song next to Mouse Cursor (in Time-Axis, not Screen distance) -see Artist, Album and Title of the Song
  • InterUser visualization: new Datatypes, streamlined for speed purposes
  • Interaction: Filter! Left click and Drag Area in which you want to see InterUser vis only. * Storage: Users and TrackLibrary are stored on HDD when Applet is restarted at a later time.


  • Too view the applet correctly, make sure you accept the signature of the applet
  • Clear your JavaVM cache (only clearing the browser cache is NOT sufficient!).
  • Make sure the newest Java version is installed in your brwoser (Java SE6 UI 21)

ToDo - Roadmap Listening Volume

Next important steps until 24.08.

Distribute LastLoop
  • Introductionary Video
  • polish Webpage
  • advertise LastLoop
  • Evaluate

Some more Features
  • Splashscreen
  • more Quality Control

Looking into the different dimensions of the visualization

Time Dimension Amount (Cnt overall time; densitiy in comparison to others) Length of listening history (just compare relevant parts?) How similar is listening time? (Predominat time listening to music)

Tracks Dimension Who is first to listen to a Song? Who is most often first? Who „follows“/ independant Indication as to how similar Listening is ( Same song listened / #Overall Songs each user) (?) Variability of tracks

Genre dimension similarity in Genre (just a specific genre overlapping?) Taste development in same direction? e.g. rock → indie → indietronic) over same years e.g. start out same, develop different


  • Sketch:

The sketch shows a first impression of the visualization. Colours are just random at this point. Songs are representated as black dots für each user. Limegreen arcs show the occurance of the same song between different users, pink arcs show the occurance within one user, violet arcs show these of other songs.

Implementation Details and Planning

It is planned to implement ListeningVolume as a Java Applet, able to run in a webbrowser. Programming is done in Java, the Visualization itself mostly uses the Processing 1.1 library for rendering (see

Datatype details

- LastFM listening histories can easily contain over 100 000 entries (for one user!), each containing the song and the time it was played (among other informations). ! The application has to cache these datasets per user, since requesting the data from LastFM takes a while,

- When looking towards the visualization and performance, the data format which is used plays an important role. A time oriented approach might prove to be a good idea, since the visualization will mostly change along the time axis via zomm/pan interactions. All the songs of one user are therefore saved using a TreeMap, using a <Timestamp,SongID> as Key,Value pair. This allows to easily get the proper songs to be visualized.


Visualisierung + Listening Histories:

Music-/cognitive psychology:

Topic attachments
I Attachment Action Size Date Who Comment
screenv2.0.pngpng screenv2.0.png manage 126.7 K 03 Aug 2010 - 12:31 RomanGraebsch Screenshot 0.0
skizze1.jpgjpg skizze1.jpg manage 60.6 K 03 Jun 2010 - 15:29 RomanGraebsch  
Topic revision: r7 - 19 Aug 2010, RomanGraebsch
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Medieninformatik-Wiki? Send feedback