abarisain / dmix

A modern MPD Client for Android.
Apache License 2.0
586 stars 205 forks source link

Navigation Drawer ui bugs #297

Closed abarisain closed 10 years ago

abarisain commented 10 years ago

Some bugs have appeared with the introduction of the new navigation drawer ui :

Not a bug but I really think that the swipe left<>right for moving between now playing and the queue will be missed.

ZenithDK commented 10 years ago

Do we need to compile from Git to test the new navigation drawer?

abarisain commented 10 years ago

Yes.

I will release a beta once it's more polished.

jcnoir commented 10 years ago

I like the drawer idea. Some ideas :

Just some ideas :)

ZenithDK commented 10 years ago

Is it possible to put up some pre-compiled APK I can sideload to test this out? I don't have an environment to compile this in right now.

abarisain commented 10 years ago

1) This is planned, I just need to figure out some stuff (I don't want to loose the navigation, and it might be confusing if you selected something instead of library and lost it).

2) The reason I added the navigation drawer is to get rid of "bloat" like this. Still, I understand your point.

3) Touching the cover ... hmm yeah, why not. I do think that there needs to be a quick access to the queue from the now playing.

The problem with these shortcuts is that they almost make the navigation drawer useless except for switching between library tabs (which is already implemented with the actionbar dropdown). If you always have a miniplayer, and a shortcut to go to the Play Queue ... You only need a library button and the Navigation Drawer is totally useless.
This is why I wasn't sure about this pattern (it makes switching between Now Playing and Play Queue really annoying) ...

Maybe it needs to be reworked again, I don't know.

@ZenithDK Sorry, I can't really build anything (and even less sign it with my market key) right now.

jcnoir commented 10 years ago

@ZenithDK I think you will have to uninstall first your mpdroid version to avoid certificate problems but if that can help I put you the apk matching the current git master with this commit : 28a69ca0fdb0bf4f11c8912c4a16f3c72769da82

jcnoir commented 10 years ago

1) Cool ! 2) I got your point. A cleaner interface may be better than than saving a touch :-) 3) My use case is linked to the crop function : I use mpd-sima (server side) to add (with lastfm) songs similar to the last song in the queue. I use the crop function to make the current playing song the last (and only) one so that mpd-sima adds similar songs to the playlist. To do that I need a long touch to the current playing song. That's why it would be nice to have a quick access to the current playing song. But I may be the only one to use that ;-)

@ZenithDK : I made you a little request in this : #295

hurzl commented 10 years ago

I don't like it at all. Why not use Scrollable Tabs? http://developer.android.com/design/building-blocks/tabs.html

avuton commented 10 years ago

@hurzl Consider making a mockup of your idea.

hurzl commented 10 years ago

In code? Not ready for this. Have a tab row at the top | Playing | Playlist | Music | Output | and swipe between them

avuton commented 10 years ago

@hurzl I was thinking an image, but I think that gets your point across well.

kingosticks commented 10 years ago

If you want to quick access to the music sub sections quick (artist, album etc), which I do, then navigation drawer is far superior. And using the same system as most other apps makes sense, clicking that top left area should be automatic for people. On Nov 18, 2013 4:13 AM, "avuton" notifications@github.com wrote:

@hurzl https://github.com/hurzl I was thinking an image, but I think that gets your point across well.

— Reply to this email directly or view it on GitHubhttps://github.com/abarisain/dmix/issues/297#issuecomment-28674454 .

abarisain commented 10 years ago

I know that the Navigation Drawer will not be liked by all. Sadly, this is the case with every rework of an interface. Some will like it better, some will like it less. My goal is of course to try to please the most people. I don't feel that it's ready yet though.

About the swipable tabs, I don't believe that its a good idea. It wastes screen space I want freed, and doesn't solve the problem. I find having a lot of tabs annoying, and swiping between them even worse.
Another problem that the Navigation Drawer solves really elegantly and that the old way/swipable tabs fail at doing is retaining your library navigation. Currently, you are able to go back from Now Playing/Queue to wherever you left the library (except if you use the search. I still haven't found a way to fix this yet).
This is a really, really requested feature (Keep in mind that many people don't get to the bugtracker and email me directly instead) and a huge time saver.

I'll do a mockup of what the "long-term" plans for the navigation drawer is and post it here. I'm sure we can keep it and at the same time get the same navigation speed as the current stable version.

I guess that I could take a note from the (amazing) Shuttle player, or Play Music, but I feel that it doesn't quite fit MPDroid's special flow.
I believe that Now Playing should be the first thing shown when you launch the app, which is not the case of other media players. MPDroid is "remote oriented", and the other players are "pick something and listen to it" oriented.

hurzl commented 10 years ago

I am not thinking about music subsections. Just the four elements you now have in that menu. Don't know why it should be a difference in terms of saving library position (which is a must). As the four screens would be "permanently" open, I don't see why it should lose position. It would spare you pulling that menu every time you want to switch.

As for screen space, you can make the cover image fullscreen on a click. Or, in the playlist, collapse the albums that are not currently playing to one line (each)

abarisain commented 10 years ago

Oh, I get it now. Interesting idea.

abarisain commented 10 years ago

Here is what I have planned for the drawer (long term, of course multiple server support isn't done). Maybe I'll find some icons so it looks better :

mpdroidmockup

Again, the tabs solution is interesting even if not the "conventional" way they're used.

UX is hard.

kingosticks commented 10 years ago

Nice. What would you think about displaying counts of how many albums/playlists there are, like yatse does: https://lh6.ggpht.com/IiW7Tu-QviskIxALyY_hnn9LM9jq_VXuw1ZQxwKMWmV5CIRjrmT-3OlNFqZvipemPw=h900-rw

abarisain commented 10 years ago

You are not the only one asking for this, @ZenithDK asked for it too.

I must ask : Why do you want this ? I find that it adds unnecessary clutter, and to be honest I don't really care about my artist count on my phone. (Plus, the lists may not be loaded before you tap on the item, so I could ask mpd beforehand for the stats (the settings have a window for this, with these counts) but it's currently unknown)
I'm not saying that it is stupid, I'm just wondering :)

kingosticks commented 10 years ago

yeh it's not hugely useful, just novel.

If you could somehow search from the nav drawer and the results were also shown there broken down by artist/album/playlist etc - then the counts would be interesting. But that's very different to what we have, it's just my contrived example rather than a realistic suggestion!

abarisain commented 10 years ago

I'm thinking about splitting the search results in tabs (I'm mixed about this, I feel that it's great when you get LOTS of results, which is the case with mopidy, but not so great when you don't. Spotify has tabbed search results and it doesn't feel quite right, even if it's useful), I believe that a count here would be very welcome and useful :)

Even in the current implementation, they could be shown in the section headers

ZenithDK commented 10 years ago

If the listing happens asynchronously, I think it is fine not showing a count. I expected that MPDroid waited for the full list before showing anything.

I understand why the search results would be less of a problem using normal MPD, but for Spotify, or huge libraries (or just a lot of "various artists" albums) it gets fairly messy, hence my proposal about making the swipable tabs for the results.

kingosticks commented 10 years ago

yeh that's exactly it, such a bloody nightmare shifting through the mopidy spotify search results compared to using the official client. They way they do it is quite neat, it's almost like shortcuts as you can still have all the results right there if you want it.

abarisain commented 10 years ago

MPDroid does wait for the full list before showing anything, but the full list isn't loaded as soon as you start the app, only when you request it ! It wouldn't be a problem for the count though, the "stats" command is fast enough (but I just rememebred that it would not be precise according to the Artist or AlbumArtist setting).

I'm already sold on the swipable tabs, I'll implement them. Too bad they are not as good looking as a list with headers but heh.
I also looked into a foldable list (tap the "Artists" header and it will collapse) but I think that it's crap when it comes to usuability. Tabs are the way to go

ZenithDK commented 10 years ago

@abarisain Awesome, really looking forward to what you come up with. I will have to whip out my Paint skills soon to be better at providing some input and sketch-ups :-)

hurzl commented 10 years ago

@abarisain:

                 ___                  ____                  ___
            ____(   \              .-'    `-.              /   )____
           (____     \_____       /  (O  O)  \       _____/     ____)
          (____            `-----(      )     )-----'            ____)
           (____     __________   \  -____-  /   __________     ____)
             (______/          \   `-.____.-'   /          \_____)
                                \    **HUG**   /

;-)

abarisain commented 10 years ago

Done : http://cl.ly/2x3t1L1n1U1e

ZenithDK commented 10 years ago

That looks really great! Fantastic - now for some testing on my end :-) @jcnoir Could you kindly generate a new APK at some point? Will not have time until the weekend so no rush.

jcnoir commented 10 years ago

I put this on my list ;-) But setting up a dev environment in intellij is not that hard ... Try it :-)

abarisain commented 10 years ago

Even in eclipse for people (like me) who can't figure out how to import this in IntelliJ =° (it's okay, I like eclipse anyway)

I even think that the ant scripts can still build this.

kingosticks commented 10 years ago

Yep, the ant scripts work fine. I followed the steps here https://github.com/abarisain/dmix/wiki/Building-on-the-Command-Line (noting that the targetSdkVersion is now higher, 19 or something, and I had to Initialize the project in the library directories too).

avuton commented 10 years ago

I've just exposed my builds from my personal buildbot. I do modify android:versionName="nightly-(git rev-parse --short HEAD)". It builds or checks for a new commit every 5 minutes (I know, the name nightly is stupid, but I didn't put too much thought into it). They're unsigned, so remove your current mpdroid build before installing one of these. http://anpmech.com:8080/mpdroid-nightlies/

abarisain commented 10 years ago

Hey, thanks :)

jcnoir commented 10 years ago

@avuton Nice to have some kind of continuous delivery !

@abarisain I now like the drawer idea as a way to keep the interface clean. But does that mean that you want to remove the scroll to go thru artists <-> albums ... ?

I think it is great to have the drawer to go everywhere in the app in 2 tabs but within each "top activity" scrolling between "sub activities" is nice. Like you go into the nowplaying view by the drawer but once here you can scroll between playlist & nowplaying ?

abarisain commented 10 years ago

But does that mean that you want to remove the scroll to go thru artists <-> albums ...

Nope, that's here to stay.

Like you go into the nowplaying view by the drawer but once here you can scroll between playlist & nowplaying ?

I agree. Getting rid of the swipe was an experiment (it would allow me to do swipe-to-remove for the playlist, have better thumbs), but I think that it failed, and MPDroid suffers from a huge usuability lost if the Now Playing <-> Queue swipe is removed. I'm thinking about bringing it back (I also need to bring back the actionbar list for it, ugh, more code).

PS : The navigation drawer is a PITA to code for :/

jcnoir commented 10 years ago

Bring it back ! (And without the action bar I lose the crop function I use a lot ;-) )

And for the issue with reordering the playlist & the drawer why don't you use the right side of the song to reorder it ?

abarisain commented 10 years ago

Well the right side of the song is already the menu button ...

I won't get rid of the action bar, I just need to recode the "Now Playing/Queue" picker. (Which is maybe totally useless but it at least tells you that you can swipe)

jcnoir commented 10 years ago

You know what ? I did not know the menu button ever exists ! And I use mpdroid almost every day ...

abarisain commented 10 years ago

Well, maybe you just never needed it :)

jcnoir commented 10 years ago

And thanks for the search results splitted in tabs, nice improvement !

hurzl commented 10 years ago

The playlist should have a "remove album" btw. And couldn't the swipe only be on the tabs bar itself? So you can still swipe songs individually (e.g. to show the full title)?

abarisain commented 10 years ago

Well I think that swiping only on the tab bar is not great UX-wise ... It's also really hard to implement due to how the ActionBar works.

Remove album is a nice idea

abarisain commented 10 years ago

Fixed by 49c2aaf6b31fdc53a3274ba0c9720a66cf50f4e7 , 9a5120014416a2495d4659b01f8c6ece7f2b3a5f and fea34c322936f8c6c142332fea48b731d3e28751

abarisain commented 10 years ago

That doesn't mean that discussion has to stop :)