[Rhythmbox-devel] That new UI design

This is totally nuts, I was thinking the exact same thing on a walk a
couple of days ago. I go look at the archives for RhythmBox every so
often, and there it is, written down almost exactly as I imagined it
(except i didn't think of the bonobo thing).

Spooky co-incidence or proof that there's more to the mind than we
susppect? I don't know.

Anyway, a few extra points:

 * Fast skipping. I do this a lot. One way that might be easier than
right clicking is to have a mousedown on the tray icon pop up a small
transient window just above it (like a balloon, but actually a window).
The window has a slider at the bottom, and a list of tracks in the
current playlist on top. Still holding down the LMB dragging left or
right seeks inside the track. Dragging up lets you highlight a new
track, and letting go over it selects it. Therefore seeking becomes a
matter of "click, drag", as does choosing a new track. I think that'd be
pretty fast. If the user clicks once on it (ie down, no move, up) the
playlist window would be brought up. 

 Problems include discoverability, but a little "hint" box in one of the
windows might help that, also tooltips on the tray icon.

 * Playlist/radio management. I'm installing glade via garnome now,
maybe after lunch I can mock up what I see in front of me, but for now
English will have to do. Rather than a database style like RhythmBox
currently has, a more XMMS style of fixed playlists is used (but it
manages multiple playlists above the FS level). 

  So, each playlist has a small "header", and multiple objects inside it
(a list view). Each "object" (not a user exposed term) represents a
music track or radio station. If a track with no useful metadata, simply
the filename is displayed inside the list view cell, as with the XMMS
playlist today. If it has useful metadata, then the cell "expands" to
contain, track name, album name, genre, and then on the left the album
cover art as an icon perhaps?

  Radio stations appear as just another "object" in a playlist. If it's
a "known" radio station, the logo appears in the icon area on the left,
otherwise a generic radio station icon is used, like the new wireless
topic on Slashdot. The extra "metadata" parts would be for instance,
bitrate, total time playing etc.

* One of the windows is "Now Playing". Now Playing basically consists of
an empty area into which you can drop playlists. You can drag and drop
playlists by dragging their header/handle. 

* The NP window starts empty. Let's say I just want to play a couple of
oggs. Well, I could navigate to them in Nautilus and click on each one,
or I can drag them from nautilus or the desktop (or in future maybe
other file areas) onto now playing. Because it's empty, a new playlist
is created with some generated name. The music plays. The NP window has
"Close" as its default button on the bottom left, it can be brought up
by clicking the tray icon at any point. 

* OK, let's say I have some CDs ripped. I open the library window, which
contains an area like the one in Now Playing. It's a vertical scroll
area, I can see many playlists by their headers/handle bars, maybe some
of them are collapsed. To add a playlist, I grab it by the header and
drag it over to Now Playing. It drops in, so now I have 2 playlists, the
one I created by dragging in files from Nautilus, and the one I brought
in from my library. The auto-generated playlist header contains only 1
label, but the album playlist also contains a thumbnail of the cover art

* So it's playing. The playlists are played in order, so starting at the
top with the 2 oggs, then proceeding to my CD.

* I want to get rid of the 2 oggs from Now Playing. I drag and drop the
generated playlist out of the windows, it goes "poof" and disappears.
Well, maybe. Perhaps you want to be able to drop it onto the desktop to
make a playlist file or something, but I think "poof" is more intuitive
at first, you can always have an export option if you want to make a
.m3u or something.

* The library comes pre-stocked with a couple of playlists, for radio
stations. They are just like tracks that never end. If I want to listen
to a radio station, I just drag the item out of the playlist and on to
Now Playing, where it gets added to whatever playlist is there, or a new
one is made if it's empty. Each radio station has an icon, playlists are
can be viewed as either icon views (like in nautilus) or list views. I
don't know if that should be a user setting though, if a playlist is a
list of radio stations then maybe it should be icon views, as you tend
not to have many of them so treating them as icons makes sense (and the
"metadata" is not really relevant when it's not actually being played.

* There is another window available, "CD Audio", which provides a
playlist for the CD(s) currently in the drive(s). Playing a CD just
involves dragging the playlist across, or clicking on the playlist or an
individual track to start it playing.

So - in conclusion:
* Music is organised into playlists
* Playlists can be dragged around various windows by grabbing the handle
* The Now Playing window contains music that is, well, playing now
* The Library window contains users own playlists (and premade ones)
* The CD Audio window contains playlists for loaded CDs
* The Library can contain radio stations also, they are treated simply
as special types of tracks that never end.

Ok..... I decided to slack off a bit and made this:


I'm unhappy with that mockup in a hundred million ways, and I'm sure my
lack of talent shines through. Key points are:

* the navy blue playlist handles (they are badly draw and the expander
toggle is the wrong way around <sigh>) that can be dragged and dropped
* The currently playing track is highlighted in gray and "expanded"
* List items may expand to include icons and metadata, if useful info is
* Imagine a playlist with a thumbnail of the cover art instead of the CD
icon there or something.....

Well I hope I've made what I'm imagining clear. I think maybe I haven't,
but hopefully you get the idea :)

Mike Hearn <m.hearn@signal.qinetiq.com>
QinetiQ - Malvern Technology Center

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]