Thank you so much for the feedback, some of that is definitely stuff that I want to do, and some of it is really good information as to how people who are seeing it for the first time see the interface.
ok the "Playlist" tab on the player side is more of a "Now Playing" list, and the "Playlists" tab on the left hand side is the server's playlists. I guess I can change the "Playlist" tab to "Now Playing" or some such, if that would make it more obvious. Definitely need to highlight the "currently playing" song in the list view.
I'd like to do Jukebox, for sure, but I wanted to get the player stuff together first - as well as with the Download option. I have a wireless N connection at home, so I can download entire songs in literally like 2 or 4 seconds from my network, but my mobile bandwidth is absolutely horrible, so I can't stream while I'm on the go, even at super low bitrates.
If you end up on the Lyrics tab, you can tap inside the words, and it will switch to the next tab, which is the playlist. When that area is larger, it will have a larger clickable area

Or just click the tab, if you have the tabs open (hold for a second or so inside the player or playlist or lyrics view to bring up the tabs)
I would've thought that the player sliding over from the right to fullscreen, would've made it obvious, but will add a handlebar down there if i can find some space to make it more obvious.
the Music tab is populated by whatever you last selected in the Home tab. I think that the current package has a limit of 200 on whatever it pulls. It does make it a little slow, and I will add pagination, so it doesn't have to load 200 at a time, it can load like 20 at a time. I do intend to add a "By Artist" selection to the "Home" tab, however, the artist list API apparently will only dump the -entire- thing, so i get some 2000 entries into that list when i pull that. I'll need to figure something out to do about that, because 2000 entry lists are just plain bad. Search is probably a better function to use.
I do intend to add a "Save Playlist" option that will save the playlist to the server. I think tapping on any song anywhere will automatically do "Play Now". I need to get dragging working from the search results.
Actually, let me just copy the TODO list that I have in the app right now..

- Code: Select all
// TODO: stop the Interval that is set in the MusicPlayer when application is not foreground, resume when it is. Also stop it when that pane is switched to a different view.
// TODO: half implemented scrolling when dragging music to top or bottom of list ?
// TODO: half implemented downloading of files
// TODO: Jukebox mode .. with volume buttons on device directly controlling the jukebox volume
// TODO: stop play at App Exit . . unless going to dashboard mode?
// TODO: since playlist remembers where it left off at when restarting, need to be able to restart there.. only clear playlist index when necessary (ie, when adding a file above this one, or clearing the list, or loading a new one)
// TODO: if a file in the list is playing or downloading, have it have it work as a ProgressButton ?
// TODO: drag-drop to player (add to playlist, or play now?)
// TODO: investigate searches returning exactly one result not showing up (ie "Judas Priest" shows 0 artists?)
// TODO: add (optional?) banner notification of new song info when player switches songs, if app is in background, or player view is not visible
// TODO: when highlighting song in playlist that is active in player, attempt to scroll it into view?
// TODO: download button on Search view doesn't work
// TODO: if you start typing it should just pop over to the search tab, and focus the search input (see fahhem's blog)
// TODO: selecting a playlist opens it drawer-fashion like under it, instead of opening it in the Music tab?
// TODO: dragging from search list (bugged currently)
// TODO: (option to?) disable sleep while player screen is up
// TODO: Exhibition mode
// TODO: had to add a timeout in the Transition code to deal with transitioning failure when auto-flipping from Search to Music tab.. investigate why the transition fails.
// TODO: "gapless" playback?
// INVESTIGATE: time on B.Y.O.B. on Mezmerize by SOAD is showing as 36:34 .. mp3 corrupt?
// TODO: getting a blank list from server results in error: Uncaught TypeError: Cannot read property 'child' of undefined, source/Views.js:404
// TODO: popup a "No results received" toaster, for this and any other situation that gives no results?
// TODO: allow search only for artist/album/song? allow pagination, using artistOffset, albumOffset, songOffset?
// TODO: figure out what we're dragging and highlight it (maybe that should be in the ondrag .. )
// TODO: getRandomSongs.view can give us criteria based randomness
// TODO: Must support loading pages, using the offset parameter!
// TODO: we're going to need to create new views in the MusicView internal pane, so that it can nest selections deeply.. sigh.
I've been -really- sick this last week, and have used my little conscious time to fix some bugs in my other app, GVoice, I hope that I'll be able to get back to XO in the next week, because it's a really fun project.
* edit:
oh, yeah, there will be a menu that comes up when you tap a song, which should have some various options to it as well, since there isn't enough screen display on phones to support the nifty drag-and-drop playlist comfortably.