Multiple screenshots of the application in front of a light purple background.

Tunec

Although previous research has shown the value of user control in recommender systems, music streaming platforms have so far implemented very limited control options into their interfaces. Therefore, this web app provides more options to its users, namely the selection of multiple seed tracks and the adjustment of musical attributes.

TIMELINE
June 2023 –
September 2023
Supervision
Dr. Louis McCallum
Context
Master Thesis
Note
Even though this project includes a UI and thus a design aspect, the focus was mainly on writing functional code with React and Node.js, and to explore how helpful the provided control options are in discovering new music. Therefore, if you are especially interested in my design process, please have a more detailed look at my other projects!
Github
All code files written for this project can be found in this repository
01 Aim of the project
02 Technical Implementation 
03 User Interface
04 User Test & Survey
05 Limitations & Future Work

01 Aim of the project

Introduction

I developed this app as part of my thesis, the topic of which was "Exploring the value of controlling musical attributes and seed tracks for music discovery ". By leveraging endpoints provided by the Spotify API, my thesis aimed to create an application that enables users to control musical attributes and seed tracks for their music recommendations. The resulting interface was then subjected to a user test and follow-up survey to investigate whether the provided level of control supports users with the discovery of new music.

The Research Question:
Does the ability to select multiple seed tracks and influence the musical attributes help end users discover new music?

Music Discovery & User Control

One of the key papers that motivated this project was by Freeman et al. (2023). They found that users perceive music recommendations as impersonal, including for the use of discovery, and expressed a desire for more control. As part of their research, the participants were prompted to design an interface for the ideal recommender. All resulting design artefacts included some kind of sliders, which "were a clear mechanism to increase customization and control over each participants' listening experience and recommended content" (Freeman et al., 2023, p. 9).

On the right you can see some more excerpts from previous research in this area and the reasoning behind my project. If you want to learn more about this (including related work), feel free to send me a message!

Important User Need
Research supports that discovery is an important music user's need (Freeman et al., 2023; Lee et al., 2016).
Discovery on Platforms
A study with 374 Spotify users concluded that discovering new music is one of the most essential factors to continue using the streaming platform (Mäntymäki and Islam, 2015). 
Impersonal Recommendations
Freeman et al. (2023) found that users perceive recommendations as impersonal, including for the use of music discovery, and expressed a desire for more control. 
User Control
Studies show that controlling recommendation parameters via an interface can improve accuracy and user experience (Bostandjiev, et al., 2012; Parra and Brusilovsky, 2015). 

02 Technical Implementation

Spotify API

The main reason for choosing the two control options mentioned (seed tracks and musical attributes) is that Spotify offers an API with a recommendation endpoint, which was very helpful for this project.

How this works is that you send some input to the API, which then gives you a response in the form of recommended songs. As input, you can use seed entities – in my case, I chose these to be tracks – and musical attributes. These can be more 'descriptive' features like danceability or energy but also more 'musical' ones such as key or mode. For my application, I selected four of these attributes based on previous research.

In addition, some further endpoints have been used in the app, e.g. to show users their top tracks.

a graphic showing the Get recommendations endpoint of Spotify: seed entities (can be artists, genres or tracks) and musical attributes (fourteen different ones, e.g. tempo, danceability, energy, key, loudness,...)

Execution

The front end of the developed web application was built using React, pulling in data from the Spotify API by using promises. On the back end, a Node server with an Express framework was build to handle authentication requests, as Spotify implements the OAuth 2.0 authorisation framework. This is a necessary part of the application, as the end user must grant access to information from their Spotify account in order to use some of the API endpoints. More details can be found in the GitHub repository,which includes all code files.

At the end, the app was deployed to Heroku.com to make it accessible to the participants of the user test.

A graphic showing the structure of the developed web app

03 User Interface

Onboarding Pages

The first step in the onboarding process is to connect the user's Spotify account to the application. This authorisation is necessary to get access to the user's most played tracks and to allow him to save the recommendation results later on.

To address concerns about data security, the user can also open a drop-down with more information about how the provided access will be used. After clicking on 'Connect now', the user is redirected to a Spotify login window. If the user grants access, they will be taken to the following onboarding page, Choose Tracks

Here, the user needs to select the songs they want to use as seed tracks for their recommendations. They can search for specific titles or choose from their most played tracks based on their listening history over the last four weeks, six months or all time – they can simply select a timeframe and decide which tracks they want to use.

Since at least one seed track must be selected for the recommendation algorithm, the "Next Step" button is disabled until the user has done so. 

In the application, musical attributes are referred to as preferences, on the assumption that this is easier for users to understand. Each preference is located on a separate card, where the meaning of the attribute is described in one or two sentences. The user can also listen to audio examples of different values and set their preferred range of values for the corresponding attribute using the dual slider.

The audio examples were implemented in the hope that this would help users understand the attributes better, as it might be easier hearing them than only reading a description. The presented songs were selected from a playlist of the most-streamed Spotify songs to avoid incorporating my own musical taste and to ensure that users are familiar with the examples. All songs in this playlist were analysed for their musical attributes and sorted from highest to lowest to select the relevant examples.

Recommendation Results

After finishing the onboarding process, the user will be directed to the results page. This page is split into two areas: Your Choices on the left and Your Recommendations on the right.

Your Choices shows the seed tracks and preferences the user has selected previously. They can also search for new seed tracks, delete one or change the values for the musical attributes by using the sliders.

Your Recommendations shows a list of recommended songs based on the choices on the left. This list is immediately updated if the user changes a value or track in their choices. Each of the recommended songs comes with a 30s-preview the user can listen to by clicking the play button. In addition, users can press the heart to save a track they like. This action lets the song appear beneath Saved Recommendations and simultaneously saves it to the user's Spotify library. 

After finishing the onboarding process, the user will be directed to the results page. This page is split into two areas: Your Choices on the left and Your Recommendations on the right.

Your Choices shows the seed tracks and preferences the user has selected previously. They can also search for new seed tracks, delete one or change the values for the musical attributes by using the sliders.

Your Recommendations shows a list of recommended songs based on the choices on the left. This list is immediately updated if the user changes a value or track in their choices. Each of the recommended songs comes with a 30s-preview the user can listen to by clicking the play button. In addition, users can press the heart to save a track they like. This action lets the song appear beneath Saved Recommendations and simultaneously saves it to the user's Spotify library. 

04 User Test & Survey

Study Procedure

A user test (n=12) was conducted with the developed app to investigate the research question. Participants were instructed to complete the test in their own time, with a planned duration of about 30 minutes. Afterwards, a follow-up survey was carried out to capture the participants' opinions and experiences. Additionally, a check-in was done a week later to evaluate how the participants assessed the quality of the saved tracks.

#1 Complete the task

Task

“Use the app to find 5 new songs you like and save them.“

Interaction Log

Some interactions were tracked while using the app, e.g. how often the sliders for the musical attributes were used.

#2 Survey

About You

For example: “What’s your age?”, “How many hours a week do you use Spotify?”

App Feedback

5 point Likert scale questions, e.g. “Being able to select multiple seed tracks helped me get recommendations that I liked.”

Additional Comments

In case the participants wanted to mention anything else.

#3 Check-in

The check-in took place one week after the test to ask:

Question

“After this week, how would you evaluate the quality of the songs you saved?“

Results

Survey

As illustrated on the right, the overall satisfaction was quite high, with 1 being strongly disagree and 5 strongly agree.

The questions asked were:

  • Q3: The tested app helped me discover new songs.
  • Q4: Being able to select multiple seed tracks helped me get recommendations that I liked.
  • Q5: I have understood what the following preference means.
  • Q6: Being able to change the following preference helped me get recommendations that I liked.
  • Q7: Would you use this app again? 


Choosing seed tracks and changing the energy attribute were perceived as the most helpful options for discovering new songs. In contrast, the attribute popularity was the least helpful, with only half of the participants agreeing with the statement.

Survey – Additional Comments

The comments of the participants were also analysed, and some problems, as well as positive feedback, were identified. You can see some of them on the right.

Check-in a week later

Most of the participants stated that they kept three or more of the saved songs, with some of them indicating that they liked one or multiple recommendations more than the others.

Considering how many songs the participants usually discover in a month (between less than 5 and 15), this is a satisfactory result.

+ Onboarding
One user mentioned they liked the audio examples, another participant said it was helpful to see the most-listened-to tracks.
+ Updates In Real Time
Two users appreciated that changing their choices on the results page would update their recommendations in real-time.
- Low range for sliders
Two users experienced that only a few songs were recommended when sliders were set to a low range. 
- Preview not Always available
"There were a number of tracks that I couldn't preview […] I was too lazy to open the Spotify link to check them out there." 

05 Limitations & Future Work

The results of this study should be viewed with some caveats. First of all, the group of participants was very small – with only twelve users, the results may be slightly distorted and not fully representative. The study only included a particular age group between 18-35, and results may differ vastly for younger or older people. Moreover, this small amount of participants also limited the number of methods that could be used to analyse the resulting data. 

Some ideas for future work can be seen on the right.

App Improvements
Carry out improvements to the app based on participants' comments (e.g. implementation of a web playback SDK to avoid problems with previews)
More extensive Tests
Test again with a larger and more diverse group of participants. With only twelve users, the results may be distorted and not fully representative 
Comparative study
Evaluating whether the added functionalities improved the experience in comparison with existing music streaming platforms would be an essential next step to assess the potential real-world value of the application. 
Research Into Attributes
Further research could be conducted into which attributes are perceived as helpful in discovering new songs, as popularity did not seem to be the most helpful.

References

Bostandjiev, S., O'Donovan, J. and Höllerer, T. (2012) 'TasteWeights: a visual interactive hybrid recommender system', Proceedings of the sixth ACM conference on Recommender systems (RecSys '12), Dublin, Ireland, 9-13 September, pp. 35-42. Available at: https://doi.org/10.1145/2365952.2365964 
Freeman, S., Gibbs, M. and Nansen, B. (2023) 'Personalised But Impersonal: Listeners' Experiences of Algorithmic Curation on Music Streaming Services', Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems (CHI '23), Hamburg, Germany, 23-28 April, pp. 1-14. Available at: https://doi.org/10.1145/3544548.3581492 
Lee, J.H., Cho, H. and Kim, Y.-S. (2016) 'Users’ Music Information Needs and Behaviors: Design Implications for Music Information Retrieval Systems', Journal of the Association for Information Science and Technology, 67(6), pp. 1301 - 1330. Available at: https://doi.org/10.1002/asi.23471 
Mäntymäki, M. and Islam, A.K.M.N. (2015) 'Gratifications from using freemium music streaming services: Differences between basic and premium users', International Conference on Information Systems 2015, Fort Worth, Texas, 13-16 December. Available at: https://www.researchgate.net/publication/286321837 (Accessed: 25 August 2023). 
Parra, D. and Brusilovsky, P. (2015) 'User-controllable personalization: A case study with SetFusion', International Journal of Human-Computer Studies, Volume 78, pp. 43-67. Available at: https://doi.org/10.1016/j.ijhcs.2015.01.007