Friday, October 10, 2008

Playlistening to the users

The most notable thing I'm picky about Amarok2, an anoying thumbs-down (among so many thumbs-up) to me, and, as far as I can tell (despite being unable to back it up with hard numbers) to many many others, is the new playlist. Even Leinir admits people complain about it to some extent, what means I'm not such an oddball for beind so fond of the old one.

The Amarok1 series is a much loved one, and it (and its developer team) received multiple awards as "the best FLOSS music player" around. One of the most cherished features according to some of us is managing huge collections easily. Amarok1 achieved it by using a database to store info about files and a spreadsheet-like playlist who allowed easy editing of files' infos. As a music collection management program Amarok1 excels (pun intended), second to none, hands down, even if compared to closed source competitors like iTunes and MediaMonkey, who use a similar spreadsheet-like playlist layout. Its indexing engine suffered some performance and scalability problems with some huge-oh-my-it's-falling-upon-us collections (I saw too many times the indexing process eating so many processor cycles and I/O that Linux kernel's OOM-killer had to put it out of its misery), but the overall experience was most of the time very pleasant.

Then enters (the yet to be tagged as stable) Amarok2. With a new, shiny interface, a revamped database engine some orders of magnitude faster, Phonon integration and whatnot, it promises (and already delivers) a lot, despite some missing features. It's an all-new code, with an all-new playlist with little to no resemblance to the old one people were used to.

Let's for an instant forget the pillars, the engineering, the plumbering that makes KDE and Amarok gears tick, and see it from an user's viewpoint. Intentionally or not, Amarok1 has a very successful use case as a music collection management program. It does it very well, better than anyone. Amarok2, despite having a way better machine under its skin, fails in this same use case, as a trivial tasks done in a spreadsheet-like interface aren't possible anymore. Let's name a few:

Organizing by file type (let's remove the mp3s and maintain the Ogg Vorbis ones...).
Organizing by bitrate (let's remove lower quality files...)
Organizing by BPM (let's find some musics that beatmatch to play in tomorrow's party...)
Editing "cells" at will (Oh! I found a typo! Lemme rename it...)

So, to some of us, as users, Amarok2 lacks a central, cherished, needed feature. It has almost all the inner, fine-tuned pieces to make it shine in this aspect too, but the interface doesn't yet let us do what we want. Markey says it's gone for good (with a DNR label stuck on it), and Leinir says it _may_ resuscitate as a new, glorious version, as soon as he can build up the Rube Goldberg contraption (from an user's point-of-view - please don't take offence) that will allow the bling.

Some can point me to JuK (and say I'm free to use the player that better suits my needs), and it's really a fine music collection manager. I simply love the directory reorganization it's able to do to your files (Amarok* should implement it someday - in fact it is the only feature I wish would have been implemented in Amarok1 to not only make it the best, but perfect). But the point is not changing tools, it is (IMO) making the user have a consistent, enpowering experience across versions. Of course our fellow Amarok developers are doing their best to bring a fantastic experience to users, and they're achieving it in an awesome way.

Let me correct my first statement: I don't hate or dislike the new playlist, I don't think it's anoying. I like it, really, and you should like it too. In fact you should love even more the "mediaspace view" (I made up this name, don't blame the guys) where it sits, as it allows us to interact better, brings online information about the current track, displays its video (if it's the case), and a lot more, as it's extensible by... mmmmm... amarokoids (/me hides). It's a win both in terms of user interface and programming beauty (despite the low legibility of the add/remove menus). That said, what really bothers me is that's the _only_ "mediaspace view" we currently have.

Amarok2's main window has three main divisions: a collapsable service/navigation area at the left, a minimalistic playlist at the right, and an "Amarok desktop" almost like the Plasma one at the center (to be populated by the amarokoids). What I call "mediaspace view" is the center and the right areas as a single entity. I was wondering that if the playlist was an amarokoid too it could be removed from its fixed panel and be put _in_ the "Amarok desktop". People outside of the Amarok team could develop other (playlist/visualization/whatever) amarokoids and organize their RoKtop (I'm really imaginative with names today) accordingly. We could have spreadsheet-like playlists, exploded-piechart-like time counters, histogram-like BPM indicators and Smith-chart-like mood nomograms. We could have more than four areas per RoKtop, and more than one RoKtop (accessible via tabs).

If people don't put me to walk the Green Mile for writing this post, I can even provide some mock-ups this weekend.