Internet Jukebox
Submitted by adam on Wed, 28/05/2008 - 12:26 As a continuation of the Musicbox project[1], this one links to a last.fm account and manages music based on trends. The main purpose of the application was to allow me to access my music collection and playlists from a web browser, much in the same way that Jinzora works[2]. On top of this, playback is logged using audioscrobbler[3], this allows the application to find new music and events that are based on the music already in the collection.
Whilst the application is designed to support many simultaneous users, each with their own unique profile, it's not possible for me to demonstrate the application here for licensing reasons. As a result, demonstrations are only available on a request basis. If you want to install a copy for yourself, visit the sourceforge project page to download the latest version. As an idea of the look and feel of the application i've included a screenshot below. The page splits into three areas:

Playlists
At the top of the page are the playlist controls. There are two types of playlist, random and pre-defined. The random list picks the selected amount of tracks randomly from the collection, the pre-defined list is compiled by selecting tracks from the collection and adding them under a single label.
History and events
On the left side, the ten most recently played tracks are displayed. Below this, the application will display a list of recommended events based on the playing history. The events list is generated as an RSS feed, so it was simple to adapt the code from the RSSViewer[4] application to allow the user to read and delete events.
Artists, Albums and Tracks
On the right side the application displays a list of artists. Select an artist and a filtered list of albums will appear, select an album and a list of tracks will appear. The user can click the play icon next to play a playlist for the selected artist, album or single track.
Collate
The application organises the music using the ID3 tags embedded in the music files, first by artist, then album, then single track. A future progression of this might be to allow the user to list the music in the order they wish. For example, list all the albums in the collection, regardless of artist. Some of the music in the collection is stored on the server and some is linked from remote sites. The availability of the remote music is unpredictable, URLs may become unavailable for many reasons. Therefore, it may also be a future feature of the application to cache remote files that it finds, to prevent them from going missing. Before implenting this feature I wanted to experience how the remote URLs behave over time. The application finds so many, often with several duplicates of the more common tracks. If one or two go missing now and again, their reliability may not be an issue at all.
Acknowledgements, references and notes:
[1] Musicbox http://portfolio.mr-bidwell.com/musicbox
[2] Jinzora http://en.jinzora.com/
[3] Audioscrobbler http://www.audioscrobbler.net/
[4] RSSViewer http://portfolio.mr-bidwell.com/rssviewer