Monday, July 7, 2008

Weekly Update: Unhidden Biases

Now that dynamic playlists are working, what's missing is a way to actually use them. That's what most of this weeks work went towards.

In Amarok 1, dynamic playlists are one of those great hidden features. They are terrifically powerful and usefull, but a lot casual users don't know about them, or just don't understand how to use them. I had been using Amarok for a while before I discovered them.

One of the problems I've been working on is how to present Amarok 2.0 dynamic playlists in a way in which it's more or less obvious what they do. I want it to be an exhibitionist feature, with the functionality all exposed and out in the open, no dialog boxes or menu hierarchies.

This week I spent some quality time working on the bias editor (and reminding myself why I don't like gui programming). Since every blog post needs a picture, here's the latest version of the bias editor from just a few minutes ago (not even in svn yet). It's a bit rough arround the edges, but comming along nicely. 

That screenshot is slightly faked, but in the next few days the bias editor will start to become functional. I'm pretty excited to see my work actually usable. 

I also did some important work behind the scenes. This sort of playlist generation can't really be done efficiently in general (it's an NP-hard problem). If you give it a really tough set of biases, it won't break down or freeze up, but it may give you playlist that isn't perfect. Making the solver work well is a matter of heuristics, trial and error, and tweaking. I did a little of that this week, but the real testing and tweaking will happen when the bias editor is up and running.

I'll be back here in a week, hopefully demonstrating how to use the new dynamic playlists.


nightrose said...

You have got the perfect usecase for biased playlists there. You know that, right? :P

Thanks for the update :)

Nikolaj Hald said...

That is a _very_ cool screenshot! :-P

Keep up the great work. Biased playlists are going to be yet another cool feature in a long list of cool features for Amarok 2.

shiny said...

Yeah, and looking at the screenshot one immediately understands the concept of biased playlists.
Way too cool! ;) Good job.

Nueva Section said...

OMG thats so cool!!
the wait for amarok 2 is so worth it.
...oh i and i now i understand why i have trouble with love making, its 69% porn groove i always used 72%.

Jackson said...

Incidentally, your biased playlist has remarkably good taste...though I'm not sure how those Cat Power, Destroyer, Caribou, and Animal Collective songs got on there, not having "love" in the title... :)

tbocek said...

Looking good!

One feature request I have, though, is the ability to keep albums together. A scenario for this would be that I am listening to a classical music collection where each work is in a separate album (e.g. even if I got Beethoven's 5th and 6th on the same CD, they would be separate albums), and I want to make sure I get entire symphonies instead of just single movements from them. How easily could this be implemented as a bias? (I'm a coder myself, so if the API supports it I could do it :-))

Nikolaj Hald said...


The title="love" bias only has 85% strength. That means that on average, if I understand correctly, the system will attempt to make 85% of the tracks shown have this filter. If that is not possible it will do the best it can.

Parker said...

Hurray for Canadian independent music!