This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Improvement ideas to beat iTunes as a music player

Tags: None
(comma "," separated)
cyrus007
Registered Member
Posts
42
Karma
0
Hi,
  Before I put the following up in proposals wiki, I thought, I would gather some solicitations in favor or against it. Here are my ideas of improvement ...

Current public version: V1.4.4
URL: http://amarok.kde.org

My thoughts ...
Amarok is the best music player I have seen on Linux KDE environment. It is meant to be an audio player and it does it's job really well. It should not try to be anything otherwise but result in a really good listening experience.
It can detect almost all kinds of media files and try to play them. Using some of the scripts/extensions it has the capability to read and parse the meta-data in those files. It has a very good backend which can be extended to anything from xine to jack. The current configuration looks nice. 5 tabs on the left (Context, Collections, Playlists, Files & Media Devices + Magntune in upcoming version) and 3 tabs on the top (Music, Lyrics & Artist) look well.

Ideas for improvement ... and a great opportunity for a company like Magnatune to sponsor it.
I think it can be improved to make it such that even the die hard fans of iTunes on Mac OS X would only want to use iTunes for purchasing but Amarok to actually play and enjoy music, once KDE4 comes out and Amarok is ported to OSX and Windows. Here are some of the ideas:
1) Keep 4 tabs on the left - Collections, Playlists, Magnatune and Media = Files + CD/DVD + Media Devices all combined. It will have a corresponding narrow pane on the left.
2) Keep 2 tabs on the top - Context and Playlist views but possible to add others using config option (Lyrics, Artist etc from preferences menu) It will have a corresponding wide pane to the right.
3) Default view would be Collections on the left and Playlist on the right when playlist is empty otherwise in the last state when exit.
4) The right pane will always show the back/play/stop/forward buttons and volume slider always but modifed on conditions stated below.
5) The Playlist view will have the tracks with Artist/Title/Genre/Length ...etc + Visuals/animations + track length + other customizable sections.
6) The Context view will be a major change - make the whole pane a KHTML window which can be customized by everyone and let the infrastructure provide API calls for these customizations. Here is an example customization (eg. contextbrowser.html)...
• The whole square screen is divided into 4 parts (30%|70% up|down and 60%|40% left-right)
• Top-Left part shows the song meta info extracted from anywhere, the media itself / web / lyrics file (in my example it would be from lyrics file eg.http://www.kde-apps.org/content/show.php?content=50890 - see screenshots)
• Top-Right part shows the Album cover and other misc info
• Bottom-Left part shows the lyrics - in my example show the lyrics part from the lyrics file, from 'dcop amarok player lyrics' call which returns the XML/HTML string.
• Bottom-Right part shows the rest of the info like Musicbrainz ratings, your scores in *****, other visual cues (should have minimal text in this box)
• The whole pane floating on a semi-transparent, diagonally (TopLeft - BotRight) gradiated image of the album cover if present.
• The bottom will have back/play/stop/forward and volume slider controls always visible.
• Idea is that this page is totally customizable using HTML + JavaScript (think Apple widgets) and people can experiment with it given the right tools to get info from the player
7) The 2+ tabs on right pane top always has two companion buttons (although they shouldn’t look like buttons but more like an embossing on metal) - a small ‘refresh’ control on the left end and ‘expand to full (monitor) screen’ control on the right end, easily called by pressing 0 or 9 respectively (more about TV type remote controls later)
8 ) When the refresh button is pressed, the context pane's KHTML is recreated or refreshed from the cache based on configuration. Other views – depends on the view.
9) Interesting part is the full screen view available on all tabs (Context/Playlist/Lyrics/Artist from wikipedia). Imagine this to be Front Row equivalent control.
* full screen transition by dissolving at first
• the background would be black or something dark or some neutral color or darker shade
• no toolbars and borders
• it will have the 0=refresh (leftmost), 1=Context, 2=Playlist and 9=back to normal (rightmost) toggle tabs on the top and optional 3=Lyrics, 4=Artist tabs whichever is configured ...
• the normal forward and backward KHTML browser navigation is turned off
• the bottom will have an overlay buttons for back/play/stop/forward and volume slider (like some of the VLC navigations in OSX)
• in this mode Amarok should be controllable using remotes (TV, Mac Remote, Wii ...) only to a certain extent (no hyperlinks followthrough)
10) The Edit TAG dialog should have option to assign colors to eg. Genres which will affect others visually, see next point
11) The Collections tab will have a nice facelift, all to give better visual cue:
• option to show collections sorted by Artist (shown presently), Genre, Type (mp3/ogg/wma), etc
• when sorted by Genres, initial view will have them all collapsed with the Genre name showing on a colored background assigned as mentioned above,
• the intensity being proportional to the ratio of this genre to total in the collection. So the overall intensity distribution will give a visual clue about what kind of collection I have.
• when sorted by Artist, the background color will be a blend of the colors based on the genres the artist sang in with the intensity indicating the proportion in my collection
• this color variation can be based or ratings or scores or anything.
• Option for a flat view (some call it Library View) which displays all the albums by cover image only, and when you click on the top right corner it flips to reveal all the tracks you have from that album, like OSX widget configuration.
12) All this will probably need to be programmed using SVG
13) The left Playlist pane should have dynamic playlist capability - songs with 4 star, songs with >75% rating, my favorites etc all to give visual cues
14) Should podcasts be part of Collections or should it have a separate left tab with similar visual cues ?
15) In this scheme Magnatune tab will be easy to work with: right pane will have their dedicated (maybe magnatune:// protocol or http://magnatune.com/amarok) website rendered on KHTML and left pane will have info like login info, basket etc.
16) TAB embelishments (better to explain using screenshots) ...
        Image

Will play around with SVN code to see what's possible.
-cyrus007

Last edited by cyrus007 on Tue Jan 16, 2007 4:02 am, edited 1 time in total.
User avatar
dangle_wtf
Moderator
Posts
1252
Karma
0
As an initial hint... don't bother trying to refactor anything unless you're planning on doing so with qt4.


"There are two theories to arguing with women. Neither one works."
.
If men could get pregnant, we'd learn the true meaning of "screaming nancyboy wuss"
cyrus007
Registered Member
Posts
42
Karma
0
I will be documenting some of those changes over here -> http://www.swapsphoto.com/swapscomp.html
User avatar
markey
KDE Developer
Posts
2286
Karma
3
OS
Some of your ideas are definitely interesting. You're welcome to join our development team :)


--
Mark Kretschmann - Amarok Developer
cyrus007
Registered Member
Posts
42
Karma
0
Mark Kretschmann wrote:Some of your ideas are definitely interesting. You're welcome to join our development team :)

Had been studying the python code on conTEXT extension script but what I need the most is some gui help. Specifically how Aumuell implemented his idea @ http://amarok.kde.org/blog/categories/14-aumuell If I could get a version with Playlist+Music+Lyrics+Artist on the right pane and the rest remaining on the left, I will be happy. I looked at MultiTabBar.cpp but main gui rendition seems complicated. Currently running SVN version 623557.
User avatar
eean
KDE Developer
Posts
1016
Karma
0
OS
That version of Amarok is about 8 months old now. You could look at the commits Martin made around the time he made that blog to see what changes were necessary.

At this point though mockups are about as useful since we likely aren't going to have radical changes to the UI in 1.4.


Amarok Developer
cyrus007
Registered Member
Posts
42
Karma
0
In fact I had a question leading from that.
Where do we checkout the version of amarok to come out with KDE 4 ? Is it in the trunk of KDE SVN (extragear->multimedia->amarok) ? I don't think it gets pulled by amarok-svn ver 3.1.1 script, so how does one go about building for that version ? What are the Qt4 and KDE3.8x libraries needed for this ?
User avatar
markey
KDE Developer
Posts
2286
Karma
3
OS
Amarok2 (based on Qt4) development has not yet started. Hence trunk is still Qt3 based. We plan to start officially after the 1.4.5 release, early next month.

For discussing development matters I really suggest you join us on IRC. It's much less tedious to talk there than on this forum.


--
Mark Kretschmann - Amarok Developer


Bookmarks



Who is online

Registered users: Bing [Bot], blue_bullet, Google [Bot], Yahoo [Bot]