Playlist sharing and discovery service
- Case study by John
- October 14th, 2010
- Updated on March 27th, 2011
Mixtaper is a playlist sharing and discovery website. It allows people to create playlists of any length (with a minimum length of 10 tracks) anonymously, and publish them to the web. These published playlists are accompanied by methods of playback using either Spotify or Grooveshark (depending on the availability of tracks in the playlists on those services).
NOTE: Mixtaper has in effect been complemented by Instant Playlist, which generates a playlist automatically (in contrast to Mixtaper's hand-made playlists).
The site itself is split into several distinct sections to allow for more efficient and effective exploration of stored playlists. The browse section displays the most recently added playlists, search functionality, and the ability to browse playlists by artist or track. The popular section, as it's name implies, shows the 'hottest' playlists at that moment, the most popular tracks, and the most common dedications and descriptions.
Obviously the site would be useless without the ability to quickly and easily add playlists to it. The add section of the site allows users to create a playlist, either by entering songs one by one, or by uploading an iTunes playlist file. Playlists require a minimum of 10 tracks, but can be of unlimited length. The only other pieces of information required to add a playlist are a title and one descriptive word. Users can also add a dedication to the playlist if they wish.
How it works
The site works in much the same way as any other database-driven site; data is stored in three main tables (one storing track information, one storing mixtape information, and one storing track-within-playlist position information). This allows for more efficient access of useful information, by limiting the number of hits the database has to take for common tasks. By not linking track information directly with playlist information, it allows for more effective methods of accessing either solely track information or solely playist information (which are the two main use cases of this system). The only time in which both are accessed is for the mixtape pages themselves.
When adding a playlist to the website, the final step is to collect new song information from other web services - Spotify and Grooveshark (via Tinysong). These services are queried with any tracks which have not already been added to our database, and return (when possible) links and unique IDs to play those songs in those services (Spotify and Grooveshark are both free streaming music services). Because this often takes so much time (especially with long playlists), in the future it will be completed in batches after playlists have been added.
Playlist pages contain the main list of tracks for the playlist (in the order that the user input them), and buttons to play those songs (when available) on either Spotify or Grooveshark. In the former's case, there is also a button which will play all available tracks in the Spotify player. Users can also display the tracks in a shuffled order, and share the playlist on other services such as Facebook and Twitter. Each track links to the individual track page on the site, which displays other playlists containing that song. Similarly, the artist links to artist pages which list all occurances of songs by that artist already on the site. Links to Last.fm are included on these pages and next to tracks on the playlist page, to allow users to find out more about those songs and artists.
Within the next few months, after completing other upgrades and improvements to my other sites, I'll be adding several new features to Mixtaper. These include:
- Playlist tagging (both public and by the creator of the playlist)
- Hyped & trending tracks (seeing the most popular tracks of the moment, and linking to services such as The Hype Machine
- Edit playlists after they've been added to the database (for a limited period after adding, to allow mistakes to be corrected)
- Ability to reorder tracks in the 'add' section while typing them
- Improved autosuggest
- Ratings (added anonymously by visitors)
- Comments for mixtapes
- Carrousel (stringing together similar playlists to create an infinite playlist)
- Suggest (automatically generate playlists using existing information about which songs go well together)
- Simplified user interface
- On-the-fly mixtape creation (using queuing, much like YouTube does with videos)
If you'd like more information about Mixtaper, don't hesitate to get in touch with me!