GSoC proposal: Enhanced Amarok UI

Enrico Ros eros.kde at email.it
Tue Mar 31 19:54:22 CEST 2009


Hello Everybody!! Here is my proposal for the Summer of Code.
Anybody willing to mentor me?? 

------  ------  ------  ------
# Motivation for Proposal / Goal:
  Improve the look & feel of Amarok User Interface, taking advantage of the 
latest Qt Software technology. Essentially I want to make the UI pluggable in 
a way that each component (the 'player bar', the 'context browser', the 
'playlist', the 'analyzers', etc.) can be mixed and layouted by the user or 
automatically.
  In the meanwhile I hope to raise the performance of the UI, accelerate 
graphics where available, and loosen implementation constraints to give 
designers more freedom (see [1]).
  In the remaining time I'll implement some fancy components for the pure 
pleasure of the eye ;-)

# Implementation Details: 
  The first step will be to abstract the MainWindow class to allow it to be 
reimplemented in other ways. This is important in 2 ways: 1. the ui<-
>functionality decoupling that is brought in, 2. I'll be allowed to work on 
the “pluggable container ui” side-by-side with the actual MainWindow, that 
will remain the default.
  Then I'll define what a “Component” is, and the related concepts. Here is are 
some key points:
 - the user interface may react to some variables (user input, user habits, 
music type, tags, beats, time of the day)
 - the ui won't get in the way of the user
 - Amarok must work even with an empty ui
 - different component aggregations are called “presets” (mini player, compact 
player, [1], are presets)
 - the current MainWindow look will be the default “preset” of the ui
  Then the work on the Container will begin. I'll support the layouting logic 
of the components and Drag & Drop component reordering. This is the point 
where Qt Software's Kinetic and StateMachine frameworks will be used. OpenGL 
acceleration will also be used on the container. This will even allow for 
pure-OpenGL components (Amarok's CoverFlow-like component will be resumed at 
this point, and will allow for effects like [2]).
  Then I'll develop additional components (analyzers mainly, and cpu cycles 
wasting eye candy components). For the analyzers I'll coordinate with the 
students working on the related Phonon SOC project (at this point Amarok's 
interface should already be present), or I'll provide a dummy interface for 
later binding if that project is not on the way.
  The development will probably be done on a git repository that tracks the 
SVN trunk, to allow for an easy merge of the work, provided that it will prove 
good.
  In the early design phase I'll try to make sure that the most interesting ui 
ideas by designers, usability experts, users and developers will be doable (I 
already have lots).

# Tentative Timeline:
 - may: integrate all the feedback from designers, artists, developers and 
create the architecture
 - june: do the ui decoupling, that allow for different MainWindows to be built
 - july: implement the “components” ui, with layouting and live editing
 - august: implement some components for a new, to be decided as we go, design 
(I hope :-)

# About Me:
I study Electronics Engineering at the Universiy of Padua (Italy). I like open 
source and have been involved in the kde community before (fixing performance, 
working on okular, on the themed kdm and amarok). I'm really passionate about 
graphics, 3D acceleration, HMI and saving cpu cycles for a greener world ;-)

[1] http://www.kde-
look.org/content/show.php/A+Media+Player+for+KDE4?content=94472
[2] http://img14.imageshack.us/img14/6241/amarokcoverspq.jpg
------  ------  ------  ------

Enrico

 
 
 --
 Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f
 
 Sponsor:
 Promozione Chicco: su tutti gli acquisti di scarpine da Euro 39,90 in su, subito per te uno sconto di 5 Euro.
* 
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?midˆ22&d1-3


More information about the Amarok-devel mailing list