View Issue Details

IDProjectCategoryView StatusLast Update
0009480MMANavigationpublic2012-09-09 19:37
Reporterjiri Assigned To 
PriorityurgentSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Fixed in Version1.0.1 
Summary0009480: Some views need 'All tracks' item
Description1. Composer view should start with 'All Tracks' item.
2. Artist view should start with 'All Tracks' item. Note that in case the Artist doesn't have any Album assigned (which can happen for a Track Artist who isn't an Album Artists), upon clicking the Artist in Artists view, directly the 'All Tracks' view should be shown.
3. Genre view should be restructured to show:
 All Tracks
 Artist 1
 Artist 2
Upon clicking a particular artist, the same as described for Artists above would apply.

In relation to 0009235, each 'All Tracks' entry could have a Shuffle icon, which would directly start playback of all such tracks in a Shuffle mode.
TagsNo tags attached.
Attached Files
navigation_proposal_2.png (200,948 bytes)   
navigation_proposal_2.png (200,948 bytes)   
Fixed in build

Relationships

related to 0009235 closedrusty Track Browser forces users to Play tracks by Album 
related to 0009580 closedrusty Main menu: improved navigation 
related to 0009676 closedmatejk Play all (shuffled) icon needs to be updated 
related to 0009785 closedmartin Play all (shuffled) functionality doesn't shuffle (regression) 
related to 0012280 resolvedrusty 'Play all random' is broken -- for UPnP (regression) 

Activities

rusty

2012-08-20 03:16

administrator   ~0031664

Re-opening as there are a couple of items that remain to be resolved:

1) The 'All Tracks' / 'All Albums' entries look like headers (with mismatched content) rather than shortcuts. A couple of approaches were discussed with Jiri to resolve this:

a) Initially, this seems simply like a presentation problem that can be resolved by showing 'All Tracks' on the left (and we could add a '>' as a cue in case it's still not obvious).
BUT this isn't compatible with toggling/swiping between All Tracks and All Albums (since the former is hierarchical, whereas the latter approach is for multiple views).

b) The alternative would be to go with the multiple views approach (i.e. a toggle or slider), then the header should just display what it is a header of, and look more like a header than a track entry. i.e.
- Show 'All Tracks' if tracks are on display
- Show 'Albums' if albums are on display
- Display like a sliding header (typically a much narrower band)
The downside of this approach is that:
- it uses up extra vertical space (now one line is used for 'All Tracks' and a second line is used for 'Shuffle all'). This can be alleviated by getting rid of the header altogether, and instead using the same mechanism as is used in Now Playing--an icon to the right of the magnifying glass to toggle between the 2 views.
- it would be incompatible with the navigation proposed in bug 0009580 (which proposes the use of such headers to switch between higher level views (Artists, Genres, etc.)
-it fails to solve the original usecase efficiently (if standard slider mechanism is used to switch between views) since too many UI interactions are required for the common task of shuffling a set of tracks.

c) Given the issues with both of the above, the only solution is to use a hierarchical approach rather than a 'toggle', i.e. show 'All Tracks >' on Artist><Artist>, Composer><Composer>, Genre> <Genre> views, but disable the toggle (i.e. don't show All Albums). And once tracks are displayed, show a shuffle option (see 2) below).

2) The original reason for this feature was to let users easily shuffle a set of tracks in a usable manner (easily: shuffle-play a playlist with 2 clicks; usable: meaning that the Now Playing list would contain a set of shuffled tracks, rather than just playing the tracks with 'shuffle' mode enabled), however, this isn't yet implemented. To implement:
a) For any list view that displays only tracks, when > 1 track is shown: show a 'Shuffle all [shuffle icon]' entry above the tracks
b) For the Album><Specific Album> view, add a '[Shuffle icon]' button on the right side of the Album descriptor, if > 1 track is contained within.
c) In Settings > General add an entry:
 [x] Show 'Shuffle all'
      Allows tracks to be shuffled directly from the track list

marek

2012-08-21 09:07

developer   ~0031667

1) I suggest to not mix content with functionality in the list view. It is always confusing for the user to have buttons and actions in list view where he expect content. There is an action bar. Its purpose is to contain mainly used actions and users expect them there. If we give a high priority to action "Shuffle all" we can add it to upper action bar to be accessible from both "all albums" and "all tracks".

2) And well, the hierarchical approach is a solution. But it might be also little bit confusing. I think that the less levels we will have the better. And in this case, it is obvious that both view are on the same level. They only show data differently. So maybe I like an approach b) more. We can do some modifications. We can use an approach very similar to Android Market/Google Play application (maybe it is the same what you are writing about).

- there is very little bar that indicates current view
- it is obvious, that there are two views switchable by swiping left/right
- it doesn't fails the usecase efficience - there is an always visible action in action bar. Only on extra small devices we can put this action to overflow menu.

Link to Android Market solution: http://android-developers.blogspot.cz/2011/08/horizontal-view-swiping-with-viewpager.html

rusty

2012-08-21 16:11

administrator   ~0031668

Last edited: 2012-08-21 19:09

1) Re. the problems with All Tracks/All Albums having mismatched content, the approach that you suggest of using a viewpager is what I was trying to describe in 1b). Of the problems I previously described:
i) it uses up vertical space. Can be alleviated if 'shuffle' is somehow incorporated in the action bar.
ii) it would be incompatible with the viewpager-based navigation proposed in bug 0009580 -- this issue remains.
iii) fails to solve the original usecase efficiently (the need to shuffle all tracks in a view) since too many UI interactions are required. Can be alleviated if 'shuffle' is incorporated in the action bar.

So the main issue with using this approach is that it'll be incompatible with the proposed fixes to Top-level navigation -- 0009580 (since the viewpager should be used for top-level navigation rather than for switching between Albums/All Tracks).

Any better ideas?

2) Re. implementation of 'Shuffle all' as the first entry in the tracklist, it's somewhere in between content and function. i.e. just as clicking an entry in the tracklist is a function (Play) on that entry, 'Shuffly all' is a function (Shuffle Play) on all of the tracks in the list. I agree that this is a bit of a stretch...but not too much.

However, if we decide that we want to completely separate content and function, we could add a Shuffle Play button to the action bar, and that would meet the requirement to quickly shuffle whatever content is in view (e.g. while driving/running/etc.).

rusty

2012-08-21 21:27

administrator   ~0031670

Last edited: 2012-08-28 15:49

Upon further discussion with Marek it was decided that re.
1ii) The viewpager-based navigation would not be incompatible with that described in bug 0009580. See attached graphic.

Edit: Jiri suggested a couple of clarifications re. the implementation:
 - The viewpager should scroll off the screen vertically if the user scrolls down the list of e.g. Artists since there's no reason for it to always take up space in the view except upon switching to the view.
 - Clicking the current view in the Action bar should reset the view to the top. e.g. if the user clicks 'Rock' in Genre > Rock, then the list should automatically scroll back to the top (with the viewpager in view).

2) 'Shuffle' (Shuffles displayed content) will be added to the action bar and will shuffle whatever content is contained within the active view.

jiri

2012-08-27 09:53

administrator   ~0031691

Last edited: 2012-08-28 15:51

1) To be implemented per the previous comment.

2) To be implemented as Shuffle action bar icon. In case of a limited space, display priority should be Overflow menu expander, Shuffle, Search, Sync.

jiri

2012-09-05 13:13

administrator   ~0031771

I also added smooth scrolling to the header click.

rusty

2012-09-06 03:30

administrator   ~0031775

Tested build 24 and there are still a couple of issues:
a) Shuffle button acts as a toggle for shuffle mode. The intent was that it randomly adds the current set of tracks in the browser to the NP list in random order (without changing the status of the Shuffle toggle).

b) Shuffle button doesn't initiate playback or replace the tracks in the NP list. The intent was that it functions as a button to:
-immediately initiate playback of the tracks in the current view
-replace the tracks in the NP list

c) We'll probably have to modify that Shuffle button so that it looks more like a combination of Play and Shuffle

rusty

2012-09-09 19:37

administrator   ~0031853

Verified build 27.

Note: item c (the Play All (shuffled) icon) still needs to be implemented. Opening a new bug to track it.