EwePlay: MP3 Sync

The main feature of my original EwePlay idea was sort of a personal radio whereby you selected/created your mood and then actively or passively rated songs as it chose them.  If you let a song play through then it would decide it’s “good enough” and if you skipped then obviously it was wrong for that mood, at least that time.  An explicit thumbs up means it totally belongs in that mood category and an explicit thumbs down would of course be the opposite.  In the middle it would just be a good random shuffle that intermittently included songs you skipped and more often songs you let play all the way through.  The memory of this would be lifetime based so, unlike Pandora, it wouldn’t start up by playing those four or five songs you thumbed up every god damned time.

Something I was thinking about today is finally moving my music collection online.  Bandwidth and storage is cheap, especially when you don’t pay for it, and if you’re streaming your own music with a password-protected area then you’re not doing anything illegal (personal online storage, not public/published files).  What I’d want to access this is a simple application, aka the EwePlay client which would synchronize the online data with some place I’ve designated on disk.  It wouldn’t be a full-synchronization, but rather each time a song is played it would be downloaded too (assuming it finishes downloading).  That way once a computer is up to date, it isn’t chewing up much bandwidth and you could play the files offline.

Rather than files being stored in some wonky cache database, their actual data would be files on disk with semi-friendly names based on unique identifying factors: normalized song name (decide what to do with non-file-name-friendly characters, spaces, etc.), the artist “category” (I say category, because you might use “NiN” instead of “Nine Inch Nails”, or “Zombie” instead of “White Zombie” / “Rob Zombie”, etc.), the original release date/year if known, and a hash of the song content itself (not the MP3 meta data).  These three things would be contained in an unchanging syntax anywhere in the filename so the rest of the name could be named whatever you wish at the time.  I know my thoughts on naming music has changed overtime and it’s annoying to constantly re-organize and weed out duplicates when something else could do it for you.

These unique song ID’s would be stored in the filename and never the folder so you could have it sync up your “Music” folder on XP and then use Windows Media Player, WinAmp, or whatever to play the songs.  Or you could use the Flash/ActiveX webpage if you’re online.  The client might eventually evolve to containing the online logic, but for the first phase all of it would be on the server.  This way your continued listening preferences would be constant across all machines, even guest machines like at the library or on a workstation at your job.

Leave a Reply