Status Report – May 1st 2010

HaaTa

I've been busy (I'm moving back to Canada soon, erm, kinda, anyways, I've been packing and dealing with all the crap that brings with it).

This Week:

  • Making sure you guys know what you’re doing, and answering various questions (in terms of app development I think I have the most experience among us…so I at least know what I'm talking about :P)
  • Caching research (I have this big email I've been preparing, server side explanations are done, I want to do some more thinking on the client side though). If anyone has SQLite or similar experience, I want to talk to you (I don’t :(
  • Prepared my netbook for Amdroid development (yes I often do dev from a netbook, I’ll need it for when I'm travelling…like right now :P)

Next Week:

  • Cycling :P
  • Finish up the caching research document. Atm, I’ll probably be the one who implements it (kind've a big undertaking), unless someone else wants to step up (I’ll help).
  • Unless someone else wants to do it, look into the global music dash (thanks alot iix for the widget suggestions, the sliding one should work just fine)
  • Try to stay close to email, and the forums, so I'm available to help answer questions

So that’s my miniscule amount of work this week (I wanted to do more, but life calls…).
Please now write a similar report, just so we all know what’s going on.
Feel free to write any questions/comments you may have afterwards.

iix please use git rebase instead of git pull when updating the changes I make in my branches. This way the commit order doesn’t get screwy (I hope…). In the worst case I’ll just fix it.
iix do you have some sort of chat account that either mtgap or myself can get a hold of you? (mtgap, iix seems to know his way around git, so you could probably ask him any of your git questions if I'm not around)

Is IRC a good additional method of communication for everyone? I idle a few channels anyways, so another isn’t too much work :P.

MTGap

Well my schedule is a little uncertain right now, but I’ll be out of school in June and will have most of the summer free for working on amdroid.

I agree with using tabs for the interface, but it seems that it may get crowded on some screens.  We should also figure out how we want to include the album art in the lists.

I should have more time soon to work on amdroid and will hopefully push the notifications and media buttons controls today. Not sure what I will work on next. But I will be going away for about a week soon.

Final note, can anyone get a final list of all the features we want and we can start putting our names down for what we each want to work on. Possibly include this on the forum so others can see as well.

iix

I've been looking into layout components and have made a rough program displaying how I would like the overall amdroid design to be. See the attached images. 

There are of course loads of things that needs tuning and I have not considered the landscape layout. In other words I've basically only created a layout reference. The design is still left out of the picture (i.e. costum icons, titles, backgrounds etc). Most things I have made is initiated via xml (hoping that this will ease the possibility to customize it). 

Additional things I want to add (but didn’t since I don’t want to spend “too much time” without even knowing if you like it ;–) ):

  1. On the dash have a image gallery to sweep across the 6 “albums of the moment”
  2. On the playing screen, poition the album picture to the right and adding additinal info to the right. I.e. artist, album, song year etc. (don’t know what is accessible from ampache though)  

What do you think about the overall layout and accessibility? (don’t be afraid to criticize I won’t be offended :–) )

Dash View
Dash View

Artist/Album/Tag View
Artist/Album/Tag View

Search View
Search View

Playlist View
Playlist View

Player View
Playing View

Replies/Comments

HaaTa

Anyways, I'm back from my trip (couldn’t find a place to stay one night, so I was at McDonald’s all night…), so I might have some spare time. I’ll make a quick reply tonight.

MTGap:
Yeah good idea, Task List.
Gitorious has a wiki function, I’ll see if I can add you guys to the amdroid-h wiki so we can have a task list of sorts.

iix:
Oo, starting to look nice.

I like the ideas of the tabs at the top, they look smaller than normal too :D (but still usable). As a nice bonus, in the Landscape layout, you can use this style of tabs on the right or left-hand side (doesn’t matter so much), which will save lots of space.

Search Page looks good, but what will the results look like (and will it be another “page” or will it just be a transformed/dynamic version of the one displayed).
Hmm, how about putting the search button to the right of the Criteria selection, then having the found items below that in a list. That’ll uncomplicate things hopefully (comments anyone?).

Playlist Page looks great.

Playing page also looks good. I agree with having some playing information to the left (or right) of the Album Art. All the info amdroid has “easily” available can be found here. As for the landscape view, how about having it like I did the Album Art for the current version of amdroid-h and have it on the left side of the playlist? Then just put the song info under the album art (comments?). Also we have to figure out what the page will look like if there is no album art for that particular song.

I like the way you did the Music Page. Also for the Landscape view, we should try to make each item one line so that more items can be displayed (think K-9 Mail, great app btw).

Dash Page…I like the idea a lot but some of it’s going to be hard. The “Albums of the Moment” isn’t part of the XML API so I have no idea how to get them (either digging, or a question to vollmerk).
The recently played, is currently hard to do, but I want to implement an SQLite database for amdroid anyways (then it’s easy).
Something that I've always wanted for amdroid is the #’s of songs, artists, albums, etc. Perhaps that can go at the bottom of the Dash Page.

For the global play/pause, how about, a seek bar, next, prev, pause/play, and the song title and artist (comments?). Also is it possible to make the handle a bit wider? Not the entire width, but maybe centered and about 75% of the width of the screen. Perhaps a darker grey as well, so it stands out. (I had one more thing to say, but I can’t remember, guess I should sleep then :P)

In other words, I like it :D. iix, if you want to start developing it, start a new branch, and then request a merge from me when you think it’s ready. I’ll go through and merge it into master; as I expect this to be a pretty big change, so I’ll be wanting to do a thorough review.

Just did a bit of digging on the “Albums of the Moment”. It looks like the magic happens in “templates/show_random_albums.inc.php”. It probes the server for a list of items with Album art then displays them…
I'm kinda stumped on how to get this to work properly for amdroid. I know how to get the album art data, but making the list is where I'm unsure. So if someone can figure out this part, I'm all for it.

Ugh, that was supposed to be a short mail. Oh well.
Now to get off my ass, and finish my big document on caching…tomorrow, erm today, looks good for that :P.

MTGap

That looks awesome! It will look even better with our own icons for those tabs. I agree with Jacob on most of those points, with the handle a little larger and the search results. But wow, that does look great! 

I had an idea, for landscape mode there will be more screen space at the top. Instead of having the artists, albums, tags in the Music tab we get rid of the Music tab and create a tab for each with the added space in landscape mode. I'm not sure if there is room for adding a couple extra tabs, but this could be a benefit of using amdroid in landscape mode. 

It sounds like the dash will be filled with great stuff, I like the idea of info on the Ampache server on the dash. 

One more thing, I remember a feature request of sliding between screens with your finger (like in  the News and Weather app), I think it would be cool to consider this for switching between tabs.  

I've had all of my exams and school is slowly starting to wrap up, so more free time! It seems like you've gotten a lot of stuff done, but is there anything you need help with or I can contribute to help you out with the UI. I still need to debug the whole media button controls still though. 

iix

Thanks for the feedback. 

Search: My thought is the same as yours. I did not put the search button next to the spinner because I didn’t get the layout as I wanted when I tried :), but this will certainly be solved once I start digging into it. I will also make the spinner slightly smaller. 

Global play: I agree that a seekbar, nicer looking buttons and a scrolling text with artist album song should be added. I will try to make it look as it looks in the current amdroid but with the addition of the scrolling text (or regular text if the space allows it). 

Landscape: I like the idea with “one liners” in landscape. At least for browsing music, search and playlists. For the now playing it’s probably better to leave them as “two-liners” as we want to separate the screen putting album art to the left or right. Regarding putting artist, album and tags as tabs might be hard to implement. At least with the approach I had in mind. I.e. a new activity won’t be spawned when browsing but the current list will be updated instead. In my opinion it’s a waste of resources spawning new activities the whole time (see below for some more information). 

Sliding to switch tabs would be awesome, will try to see what is needed in order to do so. 

Some notes on what I have done/will do:

The way the sample GUI is made now is that there is one activity group where the “tabs” and global play is located. The tabs is actually only normal buttons in LinearLayout. I chose to do them that way since the Tabhost looked awful when having more than 3 tabs in “standing” view. Also I felt they took up too much space. Besides this way we can customize any way we want. 

Pressing one of the tabs will add a new activity to the activity group. If the activity already exist it will be brought to front. There is one separate activity for each “feature”, (dash, music,  playlists, playing and search). The activities will NOT spawn new activities. When for example searching the activity will dynamically be updated with content. Therefore to be able to use the backbutton we need to keep a local history in the activities needed. Currently I only think it is the MusicActivity that needs to do this. So if you are in another tab or at the toplevel of music pressing back will “leave” amdroid. 

HaaTa: This will as you say be a huge change to the current code and will probably take me a long time to implement. I will keep it in a separate branch and push it to my local clone once I have something that is even remotely working. Guessing that it will involve some manual work when the time comes for merging as I will need to add new files/remove files that will be obsolete. 

MTGap: I will probably need help with a lot of things :–), but I will add things to the upcoming task list once there are things that can be “broken” out. But as mentioned it might take me some time as I'm not sure how to best make the changes needed.

As always let me know if anything seems strange and you think it should be done in another way :–).