apognu / otter

Music player for Funkwhale
MIT License
216 stars 21 forks source link

Play tracks in order instead of shuffle #65

Closed MightyCreak closed 4 years ago

MightyCreak commented 4 years ago

Version: 1.0.20

When I select an album, the only choice is to play it shuffled, but I really enjoy playing my album tracks in order.

I know I can click on the "..." and select "Add", but I wonder why the default is not a "Play" button (instead of "Shuffle"), and the possibility to add it "shufflized" through the "..." menu.

I do think "Play" should be the default for all these sections: artists, albums, and playlists. It is arguable for favorites, though it would allow to have a simpler, easier to understand UX. As for radios.. they are already shuffled by default, so a "Play" button makes sense as well.

georgkrause commented 4 years ago

You can just hit the first song of the album which adds all tracks to the queue.

MightyCreak commented 4 years ago

Didn't know that @georgkrause, thanks!

For this issue, UX-wise, I think, it's still better to put the main action the user wants (i.e. play the album) first, then find a way to propose other actions (i.e. play shuffle). It could be a long press on the play button, or a "..." menu next to it, or whatever other player apps (e.g. Deezer, Spotify, etc) might have done. They are paying lots of $$$ to improve their UX ;)

georgkrause commented 4 years ago

Well, they spend a lot of money but their focus is not really giving you a good experience but make you stay as long as possible. So lets not just copy stuff from major platforms just because someone is used to.

Anyway, I guess you want either shuffle or linear playback. So I would suggest to have a setting to switch the behavior of the main button.

georgkrause commented 4 years ago

Maybe a little more verbose: spotify makes heavy use of this shuffle option because it enables them to play music without end. This totally destroyes albums as an artwork. An album is not only a collection of songs, it can be a well defined musical story.

So one could argue Spotify is just improving their ux so users are happy but from my point of view that's not improvement but destructive changing.

For me its no issue to provide shuffle anyway, because otter is able to play sequential, too, although its a little hidden. So maybe we can make this option more prominent.

MightyCreak commented 4 years ago

Thanks for the clarification ;) I completely agree that all UX decisions are not good decisions just because big bucks have been invested.

IMHO, for a simple UI choice as to what to put first on screen: random or linear album play, I wouldn't advice adding a settings option for such a simple choice. Adding settings options each time you have to take a UX choice is, in itself, very bad UX. It leads to too much options that confuses the users and in return no one uses them, but most importantly it leads to a QA hell because of all the possible settings options combinations, and thus a lot more bugs that can slip through the cracks. It takes time to investigate these bugs, and time is a very limited resource on such projects as Otter.

In the end, it would be up to @apognu's decision :wink:

georgkrause commented 4 years ago

Well, I get your point.

On the other hand from my point of view its a matter of taste if someone picks shuffle or sequential playback. I guess nearly nobody needs both. So making both options available in parallel feels like overloading the GUI.

But with your argumentation in mind the ... Menu or long click option might be the best compromise in the end.

apognu commented 4 years ago

I am trying to be really careful with adding new options in the main UI, since it is already borderline cluttered (in my opinion). And I have a pretty big screen with all sizings set to the minimum, so I know I cannot be objective as to what can be added without being overwhelming on smaller screens.

As far as long-pressing is concerned, I will never add a feature hidden behind that. Dicoverability-wise, it is awful, and less and less used compared to Android's early days.

This leaves the overflow menu which could contain the second option right above "Queue", something like "Replace queue" ("Queue" could then become "Add to queue", to be more clear).

I believe the main action between "Shuffle" and "Play linearly" could turn into an eternal debate, so, at first, I will not change the current setup. But I do not really have a strong opinion about this, so I'll let people discuss it.

MightyCreak commented 4 years ago

I agree about the long press on a button. It doesn't have to be hidden though, there could be a cue indicating that a long press would lead to more options. But in the end, overflow menu is probably a better option.

As for which option should be placed first. I personally prefer a mere "play" as a default option, as I think it's what the user expects mostly, and also because I mostly listen to full albums and I like to listen to the tracks in order, and finally because it is also the default option in Funkwhale.

Actually.. I think it would be wise to follow Funkwhale UX on that matter, so that Funkwhale users would not get too confused when using Otter.

So the options would be:

I agree that Funkwhale might not have the best UX right now, but it's evolving and IMO coherence with Funkwhale is more important than the absolute best UX (considering UX is pretty subjective).

Also, I know Agate is looking at tracklist clearing features as well.

keunes commented 4 years ago

I believe the main action between "Shuffle" and "Play linearly" could turn into an eternal debate, so, at first, I will not change the current setup. But I do not really have a strong opinion about this, so I'll let people discuss it.

If the choice for users is between 'Add to queue' and 'Replace queue' I would say an option in the app's settings to determine the default makes sense. That keeps the main UI clean while allowing users to follow their preferred pattern (Funkwhale or Spotify). If an overflow menu is added (which I wouldn't), this preference would basically switch the 'main' and 'overflow' actions. (I find FW's approach of 'adding to' rather than 'replacing' the queue quite confusing annoying and would be happy to have Otter behave differently - more logical IMHO.)

Having said that, I think that is a different issue/discussion than the one raised in the first post, which is about the playback order. Whether you add to or replace the queue, you can play 'in order' or 'shuffled'. I don't really see how the two got intertwined here with a proposal for a rather complex matrix of options as a result :)

As for the queue handling, I imagine a single person would either prefer 'add to' or 'replace' queue (and stick to this preference) – warranting an app-wide setting. However, for the other issue (playback order), I suspect that 'shuffle' and 'in order' is much more likely to both be used by a single person. It would not only depend on their general preference, but also on their mood and the album they're listening to (e.g. works for pop, less so for classical music). Therefore I think an app-wide setting makes less sense, and it would be much more important to make both options quickly accessible from the main UI.

apognu commented 4 years ago

I have started implementing this setting to allow the user to define their preference for the main album play action (shuffle or play in order). This preference will be reflected as the main big blue button on an album. The alternative will still be available in the overflow menu (where "Queue" and "Download" already are).

This is what it will look like:

Implementation is almost done and should be pushed to develop in a few hours.

EDIT: strings are a bit clunky right now, they're WIP.