GSoC update – The playlist sorting breadcrumb

08 Aug

The last time I wrote about multilevel playlist sorting in Amarok a few weeks ago, the backend work was mostly completed but the (temporary) GUI was fugly, just a bunch of comboboxes.

Not any more.

For Amarok 2.2, among other things, we are working on improving the consistency of the user experience by adding horizontal symmetry, so both the browsers pane (default left) and the playlist (default right) will look and feel similar. Those two areas already had very similar filter bars, and since a few days ago they also both have breadcrumbs.

Until recently, breadcrumb bars have been used almost exclusively in file managers, but there’s no reason why they couldn’t be used to express any sort of sequence of objects in a hierarchy. In Amarok 2.2, we are introducing this common and well understood GUI metaphor and using it to express new and complex operations. More than a month ago, Amarok developer Nikolaj Hald Nielsen implemented the breadcrumb concept in the browsers pane, where it’s used to easily navigate through the ever increasing list of Amarok’s music sources. We like to say that with Amarok 2 the world is your playlist, and the browsers breadcrumb bar is an ingenious way to bring the world’s music to the user’s playlist through our Internet services framework.

A few days ago I pushed to Amarok’s git repository a first version of a new breadcrumb interface, this one is used in the playlist. Every item in the breadcrumb represents a sorting level, or category. It doesn’t implement any kind of navigation (like usual breadcrumb bars), but so far we have found that it works remarkably well for expressing sorting schemes, which are nothing more than selections of nested objects of some kind. To express “sort by artist, and if the tracks have the same artist then by album, and if the tracks belong to the same album then by track number”, the user just has to “navigate” to “Artist > Album > Track number” in the breadcrumb bar, and the playlist view changes accordingly in real time. But what’s even better, and unlike usual “spreadsheet” sorting interfaces, this sorting method is technically a state and not an action, which means that the original track order is preserved and can easily be restored by clearing the contents of the breadcrumb bar.

The new Amarok playlist sorting interface

A few features are still missing before I can call this GSoC project “done” and I’m currently working on them, mostly sort order inversion and sort scheme bookmarking.


Posted by on 08/08/2009 in Amarok, GSoC2009, KDE


Tags: , ,

7 responses to “GSoC update – The playlist sorting breadcrumb

  1. Amarok user

    09/08/2009 at 00:02

    Hey Téo!

    Sorting as a state an ingenious idea! I am off to compile now. 🙂


  2. anon

    09/08/2009 at 00:31

    Looking great and intuitive this way. Just one thought I had when looking at the screenshot: How about putting “Sort by” next to the first icon of the breadcrumb just so that the purpose of this particular breadcrumb is abundantly clear even to newbies?

  3. TheBlackCat

    09/08/2009 at 00:40

    That looks great! I am looking towards to 2.2 more and more every day.

  4. Larso

    09/08/2009 at 05:50

    Looks great, but I didn’t see how it’d be possible to select whether it’ll sort in ascending or descending order.

  5. Nikolaj Hald Nielsen

    09/08/2009 at 10:24


    That part is still being worked on, along with some other neat tweaks, such as setting a level to “random” so you can basically shuffle a certain level (say, sort by artist, but shuffle the track sin each artist) or, of course, just set random as the only level and (non destructively, as you can always go back but clearing the breadcrumb) shuffle the entire playlist

  6. Amarok user

    09/08/2009 at 12:17

    I tested it and it works great! One thing I would like to see added is an ability to reinstate the “state”, meaning to apply sorting again after manually shuffling items in a sorted list. Right now the only way to do this is to do a new breadcrum selection from scratch.


  7. Nikolaj Hald Nielsen

    09/08/2009 at 15:09

    @Amarok User

    And you will get it! 🙂 We plan to implement a “bookmark” system exactly like the new one in the browser breadcrumb where you can setup the playlist exactly the way you like it (layout, sorting mode, filter, and possibly even “group by” settings), and then save a bookmark and later have an easy way to re-apply this state.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: