Pandora Web Playlists
Pandora is building a new on-demand music service. As Pandora evolves from a stations only product into the more complex world of on-demand, our team worked to design a simple way build and manage playlists.
I led the end to end design for the entire web playlist feature though research, user testing, wireframing, visual design, and prototyping. I worked closely with engineers to ensure design quality standards. I collaborated with other designers to integrate this feature throughout the product.
The goal for this project was to create a tool for playlist management. We've learned from user research that users find building playlists to be a slow and painful process. Our challenge is to make this process easier by using data to help users build playlists.
After I was assigned this project, I worked closely with PMs and Engineers to brainstorm ideas. I created user stories with the PM to make sure we cover all the functionality and solve our user's needs. I worked closely with engineers to help them with developing realistic development estimates. Involving cross functional teams early on in the process is crucial for the success of a project. After the initial ideation period, I started my design process.
Helping Users Build Playlists
From research, we've found that users have trouble making and completing quality playlists. Users often start a playlist, but either forget to come back to them or forget what songs to add into the playlists. With such a huge library of music in our platform, who can blame them?
I worked closely with PM's to solve this user need. We came up with two different features designed to help users create personalized playlists with the music they love.
Inside your playlists, there is a feature called "Find a song to add". The feature allows the user to search and add songs directly into the playlist without going into the global search. After clicking and expanding this module, we originally planned to have an empty state prompting the user to start typing for song results.
After thinking through some of our user's key problems, I thought it would be a good idea to replace the empty state with something more useful. Instead of the empty state, I inserted a list of recommended songs based off the content that is already in that playlist. This is a more passive way to suggest songs for the user by taking the data that they have already given us.
Add Similar Songs
Another feature we created to aid our users in creating playlists is our "Add Similar Songs" feature. This feature takes all the content in your playlists, plus analyzes your musical tastes in the past to add 5 songs instantly to your playlists. The songs will be sequenced in a way that makes musicological sense.
We created a responsive grid to ensure that designs will look great and adapt to different screen sizes. It's very important for me to make sure that the product doesn't break down at different sizes to deliver a consistent experience.
Communicating your designs clearly while working closely with engineers is one of the most important steps in my design process. I communicate with the engineering team frequently to ensure design quality standards and to spot problems early on.
I used Marvel to create a simple interactive prototype. I wanted to communicate how this feature aids in playlist creation.
The prototype above demonstrates the following features:
1) Using the "Find a song to add" module to find recommended songs.
2) Using the "Add similar songs" feature for automatic playlist building based off songs already in the playlist
Prototyping is an important step in my design process because it helps with communicating design solutions across the org. I also found that delivering the prototype, along with static mocks and specs was very useful in communicating the desired behavior to the engineers.
My next step is to continually monitor and study how users interact with playlists. Paying attention to stats and metrics will also help me determine what is successful and what needs continual work. I'll continue to do user research to make sure I'm covering all of my user's needs. There are always ways to improve designs.