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.


lfranchi said...

First of all, thank you for actually providing constructive criticism and calmly explaining your point . If only all users were this eloquent...

Now, we understand that there are features that we have lost with the new playlist. One that immediately springs to mind is playlist filtering, something that I used /all the time/. There are two basic answers to your complaint, I think, and here they are:

1) We don't see Amarok as a tool to just manage your music, but as a tool to interact with your media in a rich manner. The playlist in Amarok 1 was not designed for a large number of tracks (from an architectural point of view) and so suffered performance-wise. It was designed to allow you to play a reasonable amount of tracks all at once. This is the same in Amarok 2, only we believe we have achieved this in a more visually pleasing, coherent, straightforward way. Now, I understand that we have lost the easy-spreadsheet functionality. Thats where point 2 comes in:

2) There is no technical barrier that bars us from implementing an amarok 1-style playlist. Using Qt4's Model/View architecture allows us to write multiple views for the same data. In fact, we even had a *very* basic proof-of-concept old playlist view, but as none of our developers was really interested in it, it was never fleshed out. All it takes is a committed developer and it will happen. Unfortunately our use-cases for amarok are different, and so we haven't spent our time working on that but rather making everything else in Amarok so awesome :) Point is, though, that we did not remove it out of *spite* or to *deny* users a way of organizing their music.

So we have nothing against bringing an alternate view (like Amarok 1) back for a user to alternate between. We simply are too busy to write it ourselves, as none of us really use it.

Also, regarding organization that JuK can do, is this different from how amarok can organize your songs? (right click Organize Track in 1.x, also will be in 2.0)? I find that quite useful myself.


lfranchi said...

And i forgot to mention.... stuff like playlist filtering *will come back*. We just couldn't fit it in 2.0. So stay tuned.

Anonymous said...

Is there any way to combine the center plasmoid area with the playlist or put it over top of the playlist area? It seems like there is so much wasted space in the new amarok.

phxx said...

Your thoughts are great and i share nearly all of your opinions. I think that it would bring very much benefits if the playlist would be yet-anathor-"amarokoid" if it's technically maintainable.

But maybe the development of 2.0 is in a to late stage to throw all the current work for the playlist away.

Keep rocking!

Ian Monroe said...

In my mind it doesn't matter what your reasons are for liking the status quo in the playlist. Frankly I'll suspect any of the arguments as being just a facade on a users naturally liking the status quo.

However in the case of the playlist, its a fairly big change and it would also be fairly easy to maintain a 'classic' view as Leo mentioned. So status-quo worship is really enough reason to justify the feature. Amarok is hardly a minimal application like Dragon Player, we can have not-strictly-needed features like this.

I expect someone like yourself to develop it in the next year or two.

jefferai said...

Once things settle down a bit (i.e. post-2.0), it is likely I'll work on this myself if no one has picked it up -- I haven't got the hang of Models yet, so it would be a good learning experience for me. So expect it to come. Like many things, it just didn't make the 2.0 cut.