Closed sandersantema closed 2 years ago
I created some icons and added the insert/append swipe functionality for the waiting queue and the "main" queue:
Songs:
Podcast Episodes:
Considering https://github.com/BLeeEZ/amperfy/issues/34#issuecomment-1005456664 you should edit the orange Waiting Queue
icon to Next in Queue
with an N instead of W.
I would also like to propose the icons use the arrows to indicate exactly where the music will be inserted like Apple does:
Also think of matching the colors to how Apple uses them, the colors are reversed for the same function in Amperfy.
One more thing, Apple has the swipes from the left but I actually prefer your way from the right.
What about adding more functions on left swipe, most importantly download?
Left and right swipe is already implemented and available in the beta. Right swipe (leading buttons) let you insert first in WaitingQueue (W) or the Main Queue (M) Left swipe lets you append to the queues. The icons are already displaying the position at which the element will be inserted. Download is a feature which could be implemented in the future.
Ok thank you I understand now, I seem to have only seen half of your post somehow.
What about the naming of WaitingQueue (W)?
According to https://github.com/BLeeEZ/amperfy/issues/34#issuecomment-1005456664 you've renamed it to Next in Queue (which makes more sense). Shouldn't the icons then follow with an (N) for Next in Queue instead of (W) which no longer exists?
You are right. I think the old name slept in the meantime through again.
So how should the sections be named?
How are the abbreviations of the queues are called (for the icons)? Waiting Queue: (N) or (W) Main Queue: (M) or (Q)
@sandersantema what is your opinion on this?
What about simplifying and just use one queue instead of two?
This is how Apple Music app and Navidrome works.
Play Next
appends at the top.
Play Later
appends at the bottom.
Users can still manually rearrange stuff by dragging if they need finer control. This would also free up the left swipe gesture to add download.
Just a thought, I think 99% of users would be happy with less complexity.
Currently I am thinking about postponing the waiting queue feature to next release. In the next release I will implement context based play. Maybe then the waiting queue makes more sense. The waiting queue is a useful feature in my opinion but I am struggling with the complexity too.
I am currently working on the context play. So for that reason I need names nevertheless if the waiting queue should find the way in version 1.1.0.
The naming of both queues is tricky, right now you have Next in Main Queue
and Next in Waiting Queue
.
I would suggest simply Main Queue
and Play Next
to get rid of the word Next
everywhere.
Swiping icons:
Top insertion
Insert into Next in Waiting Queue
make this Add to Play Next
Insert into Next in Main Queue
make this Add to Main Queue
Bottom insertion
Append to Next in Waiting Queue
make this Add to Play Next
Append to Next in Main Queue
make this Add to Main Queue
Keep the same wording and let the icons indicate where the insertion will happen.
Granted this is only for podcasts, but the same applies to music with the correct M
and N
icons.
I really think context play with one queue and basic Play Next
and Play Later
is the way to go.
Maybe enable two queues later as a toggle in settings for more "advanced" users?
You are right. I think the old name slept in the meantime through again.
So how should the sections be named?
* "Previous in Main" * "Next in Queue" * "Next in Main" or * "Previous from: Main" * "Next in Queue" * "Next from: Main" or complete other names?
How are the abbreviations of the queues are called (for the icons)? Waiting Queue: (N) or (W) Main Queue: (M) or (Q)
@sandersantema what is your opinion on this?
I don't remember if I proposed it already in #34 but I think the naming of the queues such as is done in Spotify is rather good. That is in combination with the user queue such as defined in this comment¹ again inspired by Spotify. This comment contains a screenshot of the queue page in the Spotify app. Where the user queue would be called Next in Queue
². The main queue would be called Next From: <context>
where <context>
would be replaced with the context.
In that context I'd think the symbols such as in the screenshot which @bbsixzz posted would be nice: https://user-images.githubusercontent.com/47334163/150890224-c875ced0-9c4d-47a4-9b80-41261f922b41.png
However to distinguish the context queue from the user queue I think it would be nice to place a little user icon, such as this one in the bottom left corner for the right swipe and in the upper left corner for the left swipe.
I think that it's important for this all to be clear that the functionality of the left and far left swipes and those of the right and far right swipes should be swapped by default³. This is something which I didn't think of in my original proposal but this should make it clear that the user-queue is the first thing you edit, since it is after all the user-queue. The user-queue editing functions being the first would also allow for the listening of music as quickly as possible (again, see footnote 4 for explanation) while avoiding complexity for users who prefer less complexity as they wouldn't even have to see the extra functionality to use the right swipe to add to the user queue as is done in many other apps.
Making avoiding adding these extra functionalities for users who might not use these functionality as suggested by @bbsixzz in https://github.com/BLeeEZ/amperfy/issues/89#issuecomment-1021734211 unnecessary. I don't think we can assume 99% of users of Amperfy are happy with less complexity either because people switching from other apps of Spotify, Apple Music and Deezer have never had access to these functionalities but might find them useful (this is assuming quite a lot of users have used these apps before Amperfy). These apps together represent 50% of the subscribers to music streaming services according to midiaresearch. What I think we can assume is that power users will like these functionalities and that further more if you're technically adept enough to setup an Ampache server you're more likely to be a power user.
We could furthermore add descriptions of these functions to the read-me (which I wouldn't mind writing since I've detailed them before) and link to these on first usage and mention you can find the link in the settings later.
This was quite a long comment so I hope it's all clear, and the footnotes didn't make this more this more unclear :grimacing:
Footnotes:
Next In Queue
, I don't know of the top of my head what is the correct capitalization or if that's ambiguous what is consistent with the way it's done currently in Amperfy. Obviously the naming which is correct or consistent should be used.Why is this important? I assume Amperfy users listen to lots of music and therefore use the app quite intensively (why else would one take the effort of setting up an Ampache server?) to either play something or edit the queue. It's nice for these actions to be as quick and effortless as possible since they're quite often performed while in a hurry, like while traveling, or in general because the goal is not to use the app it's to listen to music as quickly as possible :smile:. And as you've shown here we can not always know exactly in which way the user will be able to play music as quickly as possible which is why a setting for these kinds of things is useful.
I
Currently I am thinking about postponing the waiting queue feature to next release. In the next release I will implement context based play. Maybe then the waiting queue makes more sense. The waiting queue is a useful feature in my opinion but I am struggling with the complexity too.
After I'm done with my exams in about a week or two I hope to look again into setup up a development environment on my linux machine if even possible if not I'll try to set something up using my old macbook pro. I hope to be able to help with the code then, I've only read about swift a little but it seems rather understandable. I know it furthermore contains quite a lot of concepts found in Haskell, examples. These are basic concepts of both Swift in Haskell although I think less extensively used in Swift. I've used these concepts quite a lot while using Haskell for courses. I've found they allow for much more general code allowing for more general functions i.e. you have to write less functions :) and reducing code duplication. Since I've seen a bit of code duplication I hope that I might be able to generalize and simplify those parts a bit regardless of my inexperience with swift :) Then I might be able to help with the complexity too.
I think that it's important for this all to be clear that the functionality of the left and far left swipes and those of the right and far right swipes should be swapped by default³.
…But configurable! I think the reasons I propose for this later make it clear why I think this way would be the best default but as @BLeeEZ has shown before here there is a use case where a user might want to be able to edit the user queue quicker. The goal of all of this being making Amperfy as quick as possible to use in daily usage.
Now you're giving @BLeeEZ even more work :]
I agree with swapping the order and keeping that as default, swipe config would be nice in a future release.
This is the mail app swipe config page:
Personally I don't use two queues but I agree with @sandersantema on all points.
With the proposed ideas I think two queues will be fine, just make sure complexity doesn't cause unnecessary friction.
Thank you very much for your detailed input. Just to get the swipe order right I created some combinations of swipe order: 1.
2.
3.
Which combination do you prefer? Are the icons better?
I have a question regarding Next from: <context>
:
The naming of the section is clear if I just selected a song (in a context) to play.
If I select a song from AC/DC's album 'Back In Black' the section would be called Next from: Back In Black
.
Or if I select a song from AC/DC's artist detail the section would be called Next from: AC/DC
.
Does spotify has the functionality to change the context queue? Should insert/append to context queue be removed? How should the section be named if additional songs (from other contexts) are added to the context queue?
Number 2 or 3, preferably 3 because ease of use for right hand users.
On a tangent I think the icons are too busy and cramped, the music note is really not necessary.
Focus on improving the clarity of the arrows to make it easier to identify at a glance.
Excuse my ugly mockup:
In response to: https://github.com/BLeeEZ/amperfy/issues/89#issuecomment-1022980248
Which combination do you prefer?
About the swipe combinations: I actually didn't think of combinations 2 and 3. I don't have a particularly strong preference for 1 or 2. I guess 1 might be nice since you can edit the user queue the fastest that way, given that those actions require the smallest swipes. I do however have a strong dispreference for 3, by the reasoning detailed in my earlier https://github.com/BLeeEZ/amperfy/issues/89#issuecomment-1022719996 in this thread. But to reiterate and clarify a bit:
@bbsixzz argued:
Number 2 or 3, preferably 3 because ease of use for right hand users.
If I interpret this correctly @bbsixzz means that the user-queue will be used most often and swiping right is easier for right hand users. I don't really see how this is the case, I'm right handed myself and for me there's no difference between how easy it is to swipe left or right. In any case I don't think this is important enough to overrule previous points 1, 2 and 3.
In response to: https://github.com/BLeeEZ/amperfy/issues/89#issuecomment-1022980248
Are the icons better?
I agree with @bbsixzz on this. The icons can definitely do without the music note as it doesn't really add any meaning to the icon. Here's my text mockup for the icons:
Here the user icon is represented by:
O
/ \
Insert User Queue:
>-----
------
----O-
---/ \
Append User Queue:
----O-
---/ \
------
>-----
Insert Context Queue:
>-----
------
------
------
Append Context Queue:
------
------
------
>-----
I have a question regarding
Next from: <context>
: The naming of the section is clear if I just selected a song (in a context) to play. If I select a song from AC/DC's album 'Back In Black' the section would be calledNext from: Back In Black
. Or if I select a song from AC/DC's artist detail the section would be calledNext from: AC/DC
. How should the section be named if additional songs (from other contexts) are added to the context queue?
Editing the context queue doesn't change the context itself, that can only be changed via the action c1
which is detailed in https://github.com/BLeeEZ/amperfy/issues/34#issuecomment-841647597. So for that reason when you edit the context queue the name wouldn't have to change, it only has to change if the context itself is changed via action c1
.
Possible contexts are: playlists, albums, songs, genres and directories where songs, genres and directories are the global menus found on the library page.
Does spotify has the functionality to change the context queue? Should insert/append to context queue be removed? No Spotify doesn't have this functionality. But I don't think it should be removed as I do think it is useful. Take the following use-case for example:
Say you have some specific songs you want to play, you then add these to the user-queue. Afterwards you'd like to play shuffled songs from some artist, this I'll do by first setting the context to this artist by playing one of their songs¹. So far this is possible in Spotify too. But what if I wanted to play songs from another artists too? With the two queues one could just simply add this to the context queues, something which is not possible in Spotify.
What is missing here is something which I proposed in the original feature request namely being able to somehow shuffle the things you're adding then this functionality would make sense since it in essence would allow you to play songs shuffled from two artists.
To be fairly honest now that I'm thinking of it my reasoning for the need of these queues is a bit shaky but I believe there are genuine use cases, more then just the one above. So I wouldn't say it's useless at all and therefore shouldn't be removed.
Footnotes:
Set Context To
after a long press one of the things which can be a context (so playlists, albums, songs, genres and directories, as said above). What I mean by menu is the thing which pops up after a long press in for instance the default music app. Having to set the context by first playing a song which one might not even want to play and playing/ queuing other things afterwards is a bit of a hack. I'll create a feature request for this later as it's not really that important or essential for the functioning of this system.Swiping right to left requires less effort because your thumb rests naturally on the right side of the screen.
I don't think that's the case for everyone, or at least it's not the case for me. My thumb naturally rests about a centimeter above the home button with the top of the thumb being about a centimeter to the left of the home button.
In any case I don't think it serves as a strong enough argument (it might be but only if we could prove that it's actually the case that most people do this) compared to the user friendliness (and simplicity for that matter!) of combinations 1 & 2.
Well it's really a moot point if personal configuration is implemented.
Well for sure, I really like configurability for that reason, you just can't ever know precisely what users want. But those options still have to be set to a certain value by default, the question then is what the best default is. Furthermore the default is currently a bit more important because I don't suspect configurability will come soon given the amount of work required.
Apple has only one queue and the swipes are left to right for whatever that's worth.
In the upcoming releasing of 1.0.8 I removed the user queue (for now). I added the swipe from right to left to insert/append elements to players queue. I left the icons as posted above. For version 1.1.0 I will implement the context and user queue. The icons will be adjusted as well.
Big update: I pushed my develop branch for v1.1.0 The following features regarding player handling are now implemented:
Wow this is amazing! And luck would have that the update came trough right away, no wait for Apple this time. I'll start testing right away.
Edit: unfortunately that was the previous update, will wait patiently :)
Beautiful work.
Did you get time to test this feature in beta v1.1.0? I am interested to hear if there are any bugs or adjustments needed for this feature.
This seems to be working great except for this issue with a fix that I need to wait for a new TestFlight beta https://github.com/BLeeEZ/amperfy/issues/118
Other than that I can only suggest to add the minus and plus symbols for easier manipulation.
This functionality seems to work very nicely, although I've personally only used the queueing options extensively. What is unclear to me however is why I'm able to add more than two actions to the swipes, these are not displayed on my iPhone SE. I assume this might be because it is possibly to add more than two actions to a swipe but my screen might be too small?
You are right. The number of visible swipe actions is depending on your screen size.
You are right. The number of visible swipe actions is depending on your screen size.
I see, well that's fine then. The function is working :)
I assume this can be closed. If not feel free to reopen it again.
Split of from: https://github.com/BLeeEZ/amperfy/issues/85#issuecomment-1005863050
Currently there is only one swipe and way to add things to the user-queue:
I propose to add the following swipes to extend the user queueing mechanism: