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.
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.
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!
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.
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.
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.
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.
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.
“Use the app to find 5 new songs you like and save them.“
Some interactions were tracked while using the app, e.g. how often the sliders for the musical attributes were used.
For example: “What’s your age?”, “How many hours a week do you use Spotify?”
5 point Likert scale questions, e.g. “Being able to select multiple seed tracks helped me get recommendations that I liked.”
In case the participants wanted to mention anything else.
The check-in took place one week after the test to ask:
“After this week, how would you evaluate the quality of the songs you saved?“
As illustrated on the right, the overall satisfaction was quite high, with 1 being strongly disagree and 5 strongly agree.
The questions asked were:
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.
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.
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.
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.
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