Tuesday, July 23, 2013

Moving forward (1.5/2.0)

I've mentioned many times how I planned on doing a big UI overhaul and that time is finally here.  The current GMMP was designed back when honeycomb was first released and since that was tablet only and not very good, it was mostly ignored by developers.  The UI itself is mostly custom code I wrote since the widgets at the time were just not enough for what I wanted to do.  Since then we've seen google release the UI guidelines and 3rd party libraries become popular like ActionBarSherlock that just make the whole user experience so much better than it used to be.

For the last year I've put my focus into adding features/customization that I felt were necessary in a good music player.  I've done minor UI changes here and there but for the most part things have been pretty similar for awhile.  In general it is hard to design a new UI when your feature set is constantly changing.  With the release 1.4.16, I believe there is a solid feature set in place to build a new UI around.

Since the existing UI is basically from the gingerbread era, everything first needs to be converted over to be fragment based (which was introduced in 3.0 and is heavily used in most newer apps).  Since this is a very large task itself (GMMP Activities/UI code is probably somewhere between 20k-30k lines of code), I've decided to split the overhaul into 2 major releases.

1.5 is going to focus on getting the current UI into fragments and to start adding some basic tablet optimized layouts.  Another big thing that will be added is an "Effects" view/fragment that will be an addition to the existing equalizer.  It will allow users to adjust playback speed between 0.5x and 2.0x the regular playback rate and the ability to automatically correct the pitch.  I also plan on adding in the additional effects that is provided by the android sdk like bass boost, a virtualizer, and reverb.

Once everything is based on fragments, work on 2.0 will begin.  This will mostly be a redesign.  I don't know how much the overall look of the app will change, but the focus will be on improving the user experience.  Things like multi-select, mini player controls accessible from all views, and just much finer customization on what is displayed on all the other views will be the focus.  Those hoping for a cards like UI will be disappointed.  The cards style UI is nice but it really wastes way too much space to be usable for a music player.  There is a possibility of an extra skin with a look like that, but I will not guarantee anything.  I do also plan on doing a new GMMP icon, something a bit more simple.  The sidebar is also something I would like to try to include, but I will not force it on all the users.  The current navigation style will always be an available option.

Anyway, I cannot give a good estimate how long it will take for either 1.5 or 2.0 to be finished.  I've done work with fragments in the past so the concept is not entirely new to me.  There will definitely be at least an update or 2 for 1.4.16.x in the meantime to fix any bugs or update any translation.

As with the previous major releases of GMMP, there will be public betas available.  They will be offered straight through google play this time around most likely.  To sign up for the beta program, follow the directions on the forums.