Google Summer of Code: Amarok CD Stack Collection View

Andreas Schäfer gentryx at gmx.de
Thu Mar 13 14:00:49 UTC 2008


Hi,

recently I've checked the Amarok website for info on Amarok 2. I
didn't find much on version 2, but a lot on your Google Summer of Code
ideas. As an every day user of Amarok I immediately caught fire
with the first proposal, the "CD Stack Collection View". It is a
solution for a problem I stumble across several times a week.

This mail is meant as a first primer to check what you guys think of
my ideas (and maybe me as a candidate (-; ) and to collect ideas. If
you like it, I can come up with a detailed proposal later on, maybe
with some mock screens.

First off some questions: 
- How long do you want the proposal to be?

- Do you have any other ideas related to the stack view project?
  Features, comments?

The Problem
-----------

At the moment Amarok supports the user poorly when browsing the
collection without an exact aim.

When I got friends around for a party they typically say three things:
1. Uhh, Linux? 2. Wow, Amarok rocks!  3. Do you have some
Reggae/Ska/you name it in your collection? I can't find any. While the
collection view is great for searching specific artists and tracks,
the sheer mass of artists makes it hard to gain an overview. The
alphabetic order helps little. For instance in my (physical) CD
collection I got Karajan close to Bach and Korn close to Bullet for my
Valentine. In Amarok it's the other way round.

My Vision
---------

Transport the intuitiveness of a real world CD stack to Amarok.

Everyone can sort his CDs according to his needs. I prefer to sort
them by genre, others by age (and rumor has it that some sort them by
color of the covers ;-) ). Even if you don't have anything specific in
mind you can still rummage in the collection like in a good record
store, find something to suit your taste and get an overview of what
related stuff is available.

My basic objective matches closely with the proposal on the Amarok
site: A scrollable list of albums, clicking on an album reveals its
cover and tracks contained. Tracks and albums can be moved to the
playlist via drag & drop. The user could configure whether to show in
the list just the albums' titles and artists or all covers.

Once this basic functionality is implemented, I'd like to add some
more features:

- Make the stack sortable via drag & drop: this way every user can
  cluster his music to his taste.

- Multiple stacks: Allow the user to split his giant heap of albums
  into smaller ones, e.g. "Reggae", "New Stuff", "90s" and so on. A
  horizontal paddle could be used to switch between stacks. 

- Polish the visuals: explore which visual effects for this view might
  make Amarok an even more pleasant experience (without making it too
  flashy).

While those features sound rather simple to implements, it should be
noted that the first would AFAICS require changes to the model, as
we'd need way to store the user's ordering of his albums.
  
About Me
--------

I'm a computer science PhD student and as such I take pride in saying
that coding is not just my profession, but also my passion (-8 My
field of work is Cluster & Grid Computing (parallel programming, many,
many big machines). I'm most proficient in C++, Ruby and Java, but I
can also write some obscure languages (Object Pascal, x86 assembly,
Modula 3 ...shudder) if need be. During my studies I specialized in
software engineering and I have plenty of experience with design
patterns in general and also Model/View/(Controller) specifically.
For some of our applications I've created QT based GUIs (both forms
and widgets), based on Model/View. I enjoy learning new stuff and I
guess it's fair to say that I'm a quick learner.

What I'd like to Learn About
----------------------------

- deepen my knowledge of QT (QT4) and the KDE way (code structure,
  build system etc.)
- modern graphics programming (most of my knowledge of this is based
  on my experiences in the early 90s demo scene -- fire and plasma
  effects, shade bobs etc. :-) )
- user interface programming (e.g. drag & drop)

Any comments welcome

Cheers
-Andi


-- 
============================================
Andreas Schäfer
Cluster and Metacomputing Working Group
Friedrich-Schiller-Universität Jena, Germany
PGP/GPG key via keyserver
I'm a bright... http://www.the-brights.net
============================================

(\___/)
(+'.'+)
(")_(")
This is Bunny. Copy and paste Bunny into your 
signature to help him gain world domination!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/amarok/attachments/20080313/06be4392/attachment.sig>


More information about the Amarok mailing list