8tracks iPod Shuffle

Dale Humby bio photo By Dale Humby
I love 8tracks. And I love listening to my music while running or in the gym. Up to now I've used 8tracks’ fantastic iPhone app while out, and website and iPad app when at home or work.

Streaming music over my phones 3G is expensive, and strapping a phone to my arm is uncomfortable (and frankly looks silly.)

Also, Apple's matchbook sized iPod Shuffle, which holds 2GB of music, is a thing of beauty.

I wanted to marry the two and clearly I'm not the only one thinking along these lines: Check out Alecsandru Grigoriu's fan art product brochure.


This weekend I decided to write a simple 8tracks client in Python that saves the audio files locally for later upload to my Shuffle.

I’m using the 8track API and Python Requests library which vastly simplifies http comms. (I can’t believe I used to use httplib for this stuff…)

The client is it’s own user on 8tracks which happens to follow another user (me) and also just happens to play all the mixes in my iPod Shuffle collection. The client is well behaved: It downloads the tracks only as fast as if it were really playing them and reports the songs as played at the 30s mark, as per the API docs.

For anyone who’s interested I’ve got the code on BitBucket at https://bitbucket.org/dalehumby/8tracks-shuffle/. Feel free to contribute.