21 Apr 2006

fruity - sample music your way

Fruity Screen

fruity is a new way to sample music from the itunes music store. fruity is a conglomeration of six months of experimenting. fruity is currently beta. you should try out fruity.


the story starts about a year ago, when i had this interesting idea of making a radio station that only plays 30 second clips, the same ones that the itunes music store uses. there are many gripes i have with the itunes music store, even though i've spent more than US$100 on the store.

the most prominent one is the one that fruity tries to solve. navigating and sampling albums. itunes is very "single" centric, you can only sample one song at a time. there are scripts and such available to continuously play a whole album, but they're just not particularly fun to use.

what fruity does

fruity allows two things, (i) sampling the whole album in 30 second snippets continuously and (ii) find all the related albums and display them in this matrix.

so you can start off by seeding fruity with a single itunes music store link (anything except for imix and itunes essentials) and it will try to crawl the results to find anything related, that is the artists most popular albums, and also related ones that apple suggests.

to seed it, you just drag a link from itunes into the app.

and at any time, you can skip forwards, go backwards and select other albums. one of my favourite ways of using it is to sample comedy albums -- and i've already added 4 or 5 albums to my wishlist (that is my shopping cart) just because of this app.


take the above screen shot, i choose chris rock's album, and then i get a whole bunch of comedy albums with the same type of humour. its amazingly better than navigating itunes music store. itunes' store is only good if you know what you want, but if you're just wasting time like i usually do, you just want to hear as much as you can.

another way is to explore a whole new genre you know even know anything about. for instance, i've been having fun sampling french music and jpop by just grabbing some albums from their respective top albums and just leaving it on.

under the hood

i think the coolest thing is underneath. it is written in pure python, using pyobjc. the ui is just plain old AppKit, the audio playing is handled by QTKit (this is so damn easy to use!)

the reason i chose python was simply because i love that language, and the experiments i did a six months ago was in python, and rewriting all that http connect code and xml parsing code in cocoa wasn't that attractive, so there it is.

another special mention is the icons. the app icon, i made myself which is sort of the play button on itunes, but mutilated. hehe .. the controls icons are from famfamfam because i can't be bothered designing controls icons and famfamfam's silk icons are very sweet. although i did abuse the contrast control icons for volume icons, but hey, whatever works

things missing

there are many things missing in the ui. i'm not aiming for the prettiest ui, but the most functional ui. i want the least amount of crap that will come between me and music, so that is why no space is left wasted. things i wish i put in were progress bars, nice backgrounds and stuff.


if you're interested, you can get fruity here. have i linked to it enough times?

You can reply to me about this on Twitter: