play>

How to improve the experience of finding and playing music?

Digital media collections, both personal and online, are growing at a tremendous rate.  To make these collections available is a challenge, especially for music. An ethnographic study from Cunningham et al. shows that users have difficulty to describe or categorize music. [1]
To make large collections of music accessible to users, popular services such as iTunes and Last.fm offer recommendations. This approach relieves users from recalling songs and allows them to discover new or forgotten items. But recommendations present problems such as trust and lack of user control.

My thesis project explores how to use tags to explain and refine playlist recommendations.

From a user’s perspective, satisfaction and acceptance are influenced not only from the accuracy of a recommender, but also from explanations [3, 4]. Research shows that explanations and steering can improve the user experience by increasing trust and control[5]. Tags have already been used to explain and critique movie recommendations [6,7] and to explain artist recommendations [2].

Here are some project highlights: user research, project concept, applications, design sketches, prototypes, plans for testing, and references:

Process:

User research: semi-structure interviews to gather some qualitative data about how people listen and discover music. (10-15 users). Questions focused on: When people listen to music, how they choose what to play, how they organize music.

photo of quotes and affinity diagram

After creating an affinity diagram from interviews, I chose to focus on the problem of finding music for playlists. In this context, I call “playlist” any collection of songs grouped by intention or similarity (example: playlist for “gym”, “upbeat music”, playlist for “party”, “favorites”, “oldies”). I chose to create scenarios based on quotes instead of personas, since the audience for this project is so broad.

graph showing scenarios, tasks and contexts

Later, the prototypes confirm this view - the top tags for each recommended playlist show the different contexts in which users will tag music:

examples from prototypes

Project Concept:

concept diagram

User chooses a seed song they like, for example, "Harder, Better, Faster" from Daft Punk. The system generates recommendations that the user can then refine:

Songflow - explaining music recommendations

Applications:

This project concept can be applied to different services or devices.
An example of a use case: user wants to find music to study – something happy and not too noisy or intense. For example, "happy" like “Cape Cod Kwassa Kwassa” but more "folk".

On a desktop application or online streaming service:

On an iphone app:

example of an application for the iphone

Design Sketches:

These are some design sketches I played with, to decide which ones to start prototyping:

design concept sketches

Initial prototypes:

The goal of these prototypes was to test with actual data from Last.fm api, checking the relevance of the top 50 tags, and how they related to the songs.

The recommendation list was provided by Last.fm api. The tag data is collected for each song, combined, normalized, and the tags selection similarity is calculated using cosine similarity.
The goal for the next prototype is to reduce the number of top tags to no more than 15. I'll try to improve the stop list, stem tags, create a thesaurus for tag synonyms, cluster similar tags. I may also try to increase tag relevance using inverse document frequency.

These prototypes were built using java (for data processing), html5, css and javascript, so some features may not work on older browsers. Please note that some prototypes don't have audio samples for all tracks:

- "Harder, Better, Faster", Daft Punk - (has audio for all samples ) - "Tag Cloud" prototype

Songflow - prototype screenshots

- "Harder, Better, Faster", Daft Punk - (has audio for all samples ) - "Lines" prototype

Songflow - prototype screenshots

Examples of the prototypes with different songs - please note that these prototypes don't have audio samples for the tracks:

Songflow - prototype screenshots

Plans for testing:

I'm starting to design tests to answer these questions:

  • Can tags help users revise or improve on a playlist recommendation (scrutability)?
  • Can tag save user time or effort when evaluating a playlist (efficiency)?
  • Can tags help users make better decisions (effectiveness)?
  • Can tags increase the ease of usability or enjoyment (satisfaction)?

- The first test will focus on choosing a type of tag visualization that bests represents the relationship between tags and the tracks.

- The second test will have users evaluate different playlists based on seed songs. I'm considering asking users ahead for songs so I can replicate a search for a song they actually like. Users will be presented with different designs, and answer a survey. For example, to learn if a design increased efficiency, users could rate a statement such as: “Design B (with tags) helped me find songs I liked faster”.

The user activity will be logged and also used for analysis, so I can answer question such as: did users click on the tags to refine the recommendations? Did they actually listen to samples? How long did they spend evaluating a playlist? This would allow me to compare the user activity logs with the survey.

References:

[1] Cunningham, Sally Jo, Reeves, Nina, and Britland, Matthew. An ethnographic study of music information seeking: implications for the design of a music digital library, 2003
[2] Green, Stephen J. and Lamere, Paul and Alexander, Jeffrey and Maillet, François and Kirk, Susanna and Holt, Jessica and Bourque, Jackie and Mak, Xiao-Wen. Generating transparent, steerable recommendations from textual descriptions of items, 2009
[3] Herlocker, J.L. and Konstan, J.A. and Riedl, J. Explaining collaborative filtering recommendations, 2000
[4] Swearingen, K. and Sinha, R. In-teraction design for recommender systems, 2002
[5] Tintarev, Nava and Masthoff, Judith. A Survey of Explanations in Recommender Systems, 2007
[6] Vig, Jesse and Sen, Shilad and Riedl, John. Tagsplanations: explaining recommendations using tags, 2009
[7] J. Vig, S. Sen, and J. Riedl. Navigating the tag genome,2011