Thursday, 29 November 2012

Still Working on Bug Fixes & Updates

Checking in again.


It's been a massive week, I finished my exam (went badly but hopefully passed) and had a whole lot of stuff on at work. I haven't had much of a chance to get into the coding, until tonight.

I've fixed a crapload of bugs for AMP, but I ended up trying to fix a few too many things, and made a bit of a mess.

Right now I'm trying to rework the entire navigation structure. A lot of people have mentioned that it's counter-intuitive, back doesn't take you to the previous screen, and up takes you to the artist or album or the song playing, rather than to the parent view. I've also added support for DSP manager, and I've been thinking about how to implement an equalizer.

I wanted to get a release out just for the bug fixes, but if you just sit tight, the next update will have those as well as better navigation, widget transparency options (hopefully), and notification controls on 3.0+ devices. I will also implement landscape mode & support for tablets while I'm fixing the navigation.

I hope to get it all done over the weekend, and then I can really start looking at folder browsing.

If you've got AMP and it's playing up/crashing, please hold on to it. It will be fixed soon.


Friday, 23 November 2012

Study, discipline & more coding..


I've got an exam on Monday - for structural engineering, so I haven't been able to focus too much on AMP in the last couple of days. Naturally then, I've managed to fix a couple of major bugs.

AMP has crashed 17 times on your devices, due to one particular bug. I couldn't recreate the bug on my own phone, or my emulators, and I couldn't quite work out what was going wrong. So I kept tidying up code in the hope it would fix itself, and then BOOM - it happened on my phone. Something was going wrong when saving the queue, and the app tried to reload the broken queue, and decided to just crash. Quite frustrating for you guys, and even more frustrating for me. Anyway, it's fixed.

I'm planning on releasing v1.0.8 relatively soon to stop those crashes on everyone's devices. I think it's hurting the downloads!

I've also revisited the widgets, and I've been working on creating a couple of extra ones, as well as options to configure the transparency, and whether the shuffle/update buttons are shown. I've included bookmarking for podcasts, and I'm hoping to improve the notification controls, so that they're working all the way back to 3.0+ devices.

Learning some lessons from past releases, I'm going to take a bit longer before releasing these features. I worry that everyone is getting tired of updating AMP every couple of days, and seeing 1.0.8 should be stable, it's an opportunity to take a bit longer in development & testing. The features I plan to include next are as follows:

- Lockscreen controls back to Android 3.0+
- Notification controls back to Android 3.0+ & better 4.1 notifications
- Equalizer options & support for DSP manager
- Some more minor bug fixes & optimization

I've had a whole heap of feedback from you guys about what you'd like to see in AMP. I've taken it all on board, and I'm trying to manage between which features I can add fairly easily, and which features are most important to you guys.

At the top of the list in terms of requests by you guys, is music selection by folders:


I'm fairly certain it's the most requested feature.

The only problem with that is it happens to be at the bottom of my 'easy to add' list. Adding folder browsing will probably take a fair bit of work. Anyway, I think I'll start focusing on it soon.

A lot of people have also asked for a 'car mode', a big screen with massive play/pause/skip/previous buttons, so they can choose music, drive, and crash less often.

Scrobbling is also up there, as well as some auto-generated type playlists, adding specific EQ settings to specific playlists, and I think I'd like to add another theme. After all that I have a huge list of other features which I'll work on, and there are quite a few which I haven't mentioned here that are really important to some people, so I'll work on those as well.

I've gotta get back to composite beam flexural strength & deflection design (fun I know!), but I really love churning out AMP code, and seeing the downloads go up. 

Thanks for all the support.


Wednesday, 21 November 2012

v1.0.7 Uploaded to the Play Store.

Finally I've uploaded v1.0.7. Heaps of bug fixes after about 3 hours of testing.

Main thing: You can use widgets again, and the long-press menu items work as intended. The bad thing is I've reverted to non transparent widgets (this will be fixed soon I promise!).

It should run much more smoothly now. I'll probably update the blog soon with a new list of proposed changes, high priority features & fixes etc.

I've promised some more widgets which I would like to get out as well - but I have an exam on Monday and I need to focus on that for now. I need to consolidate, because I've had a bunch of e-mails and feedback from reddit. There are so many things people would like to see, so I'd like to start adding some of the easy ones, and thinking about the harder ones. I guess I need to create a roadmap for AMP. Apparently it needs a new name too!

So, after my exam I'll be free to start smashing it out. I think there will be some big changes to the app, but I'll endeavour to keep it simple all the same.

I hope the latest update fixes all the bugs!

Tuesday, 20 November 2012

Updating AMP again soon..


I wanted to find a balance where I release updates including features, and not updating so often that it's annoying.

I added a whole bunch of features in v1.0.5, and broke the whole app upon release. I rushed the update out because I wanted to take my mind off the app for a couple of days, as I've got an exam coming up on Monday for structural engineering (I'm studying masters). The other problem is I've been flat out at work!

Anyway, I thought I better fix v1.0.5 and get the next update out, so at the very least, people could use the app. But suddenly it's closer to the exam, and I'm even busier at work, and I can't seem to fix half the problems! I worked away through lunch and after work, and managed to put together v1.0.6, which is mostly working. The widgets still crash and the add to playlist functions are temperamental . but it's getting there. So I released v1.0.6 and everyone was pretty happy.

Since then I've been trying to work out what the hell is going on with the new features I've added. It turns out I'm not very good at testing when I'm tired/under pressure, and I had only tried a couple of scenarios. The error was that long pressing on albums/songs when you are more than one level deep in the app was providing options and performing actions that should only occur in the previous levels. I finally fixed it, but it distracted me from fixing up the widgets, which I think were pretty important to some people.

So, I'm heading home from work now, and I plan on finalising another release. I hope you guys don't mind when the little icon comes up telling you that another update is out - In the future I'll spend more time testing to make sure I don't have to patch things up so often. If v1.0.7 doesn't come out some time tonight, then I've probably found some more things I need to work on. Otherwise, you can look forward to a few more widgets, and proper playlist functionality, including enqueue, creating/renaming&deleting playlists, and others which I've forgotten now.

Enjoy.

Monday, 19 November 2012

Sorry I broke AMP. Will be fixed shortly.

Sorry I broke AMP.

Everything ran fine when I was testing, but something must have gone wrong with the final export. I'm working on it right now, it'll be fixed soon, released as v1.0.6.

Naturally this means all the stuff I promised for v1.0.6 will be pushed to v1.0.7.

I'll try to make sure this never happens again!


Edit:

It's fixed now. v1.0.6 is on it's way to the Play Store. Sorry again!


Update v1.0.5 uploaded to the Play Store!

I've finally finished with v1.0.5. A lot of features were added, including:
  • Create/edit/rename playlists
  • 'Enqueue/Play Next' feature
  • Long press for more options on Artists/Albums/Songs
  • Delete songs from device
  • 'Recently Added' playlist
  • Alphabetical scrolling
  • Added more widgets (4x1, 4x2 & 2x1)
  • Widgets are customisable (transparency, show/hide shuffle & repeat buttons)
  • Improved tag reading logic
  • Various bug fixes, including crash on some ICS devices due to notification controls

I didn't quite manage with the widgets for this update, I had hoped to make them customisable, including a transparency slider and the option to show/hide the repeat & shuffle buttons.. The problem being that upon rebooting the phone, and at seemingly random periods, the widget background reverts to default. I've got a fairly good handle on this, but I really wanted to get the other features out, so I've pushed this to 1.0.6.

The same goes for the 4 x 2 & 2 x 1 widgets. I haven't finished creating the UI for those, mostly because I was too caught up on the customisation menu.

Also, I'd like to make Enqueue work for whole artist/album selections, not just for songs. I'll try and get that in the next update..

I'm also aware of the issue with the alphabetical scroller sort of coming in and out of view (probably on 4.0+ devices). I'm trying to work it out.

Please leave feedback for v1.0.5, and look forward to the next update

If the app is crashing on your phone, let me know about it, and I'll endeavour to fix it for the next release.

Future Updates:

I'm trying to treat bugs as the highest priority.. no one likes it when their app force closes.
Beyond that, I'd like to do the following:
  • Add more widgets (missed from previous update)
  • Fix widget customisation
  • Add enqueue feature for Artists/Albums (not just songs)
  • Add option to choose timeframe for 'Recently Added' playlist
  • Improve notification controls in 4.1 devices, include notification controls in pre 4.1 devices (where possible)
  • Change tab strip to a less bright color
  • Add scrobbling
  • Add lockscreen to more devices if possible
  • Add file/folder browsing
  • Add equalizer
  • Support tablet screens
  • Landscape mode
  • Make compatible with Play Music playlists
  • Work with downloaded Play Music
  • MP3 Tag editing
  • Add genres category
  • Support soft keys
  • Add crossfade functionality
  • Add play counts
  • Display artist image for artists 
  • Fetch lyrics option
  • Video player
  • Add 'genius' type automatically generated playlists
  • Make album art caching more persistent
  • Sort artists by Artist-Album
  • Improve sorting logic
  • Change back button behaviour to something more predictable
  • More UI improvements
  • Make AMP awesome
  • Fix all bugs associated with above improvements
  • Fix all bugs associated with bug fixing
  • Fix remaining bugs associated with bugs generated by bug fixing
  • Fix more bugs.

Sunday, 18 November 2012

Updates: (1.0.5 Coming Soon)

Since I didn't have a blog for previous updates, I'll just give a quick summary here:

Updates 1.0.0 - 1.0.4 - 

  • Various bug fixes
  • Notification controls now dismissable via pause button
  • Album art no longer stretched across screen on larger devices
  • Changed name from 'Another Music Player' to 'AMP'
  • Minor widget UI improvements
  • Control media volume throughout entire app


Update 1.0.5 - (Coming in the next couple of days):

I worked my butt off over the weekend trying to add features and squash bugs.. Mostly in response to all the feedback coming in via Reddit, e-mails & Play Store reviews.

The update is almost done, although I've managed to create a few more bugs which need to be fixed before I release it, and I plan to do more extensive testing than previously. Anyway, the main things coming in 1.0.5 are:

  • Create/edit/rename playlists
  • 'Enqueue/Play Next' feature
  • Long press for more options on Artists/Albums/Songs
  • Delete songs from device
  • 'Recently Added' playlist
  • Alphabetical scrolling
  • Added more widgets (4x1, 4x2 & 2x1)
  • Widgets are customisable (transparency, show/hide shuffle & repeat buttons)
  • Improved tag reading logic
  • Various bug fixes, including crash on some ICS devices due to notification controls

Future Updates:

I'm trying to treat bugs as the highest priority.. no one likes it when their app force closes.
Beyond that, I'd like to do the following:
  • Improve notification controls in 4.1 devices, include notification controls in pre 4.1 devices (where possible)
  • Change tab strip to a less bright color
  • Add scrobbling
  • Add lockscreen to more devices if possible
  • Add file/folder browsing
  • Add equalizer
  • Support tablet screens
  • Landscape mode
  • Make compatible with Play Music playlists
  • Work with downloaded Play Music
  • MP3 Tag editing
  • Add genres category
  • Support soft keys
  • Add crossfade functionality
  • Add play counts
  • Display artist image for artists 
  • Fetch lyrics option
  • Video player
  • Add 'genius' type automatically generated playlists
  • Make album art caching more persistent
  • Sort artists by Artist-Album
  • Improve sorting logic
  • Change back button behaviour to something more predictable
  • More UI improvements
  • Make AMP awesome
  • Fix all bugs associated with above improvements
  • Fix all bugs associated with bug fixing
  • Fix remaining bugs associated with bugs generated by bug fixing
  • Fix more bugs.


First Blog Post (And Some Screenshots)!

So here it is - my first ever blog post.

About 6 months ago, I decided I'd like to sit down and teach myself programming. I've always had an interest in it, but I thought I would have to go back and study computer science - and I don't want a job where I sit in front of a computer all day.. (Turns out that's what I do as a Civil Engineer).

I coded some very basic macros for the 3d modelling software we use at work (12d), with help from a colleague, which pretty much opened the door for me. So I moved on to a couple of Java books, and eventually started creating a music player.

The main reason I started out on a music player is because I struggled to find any players which included all the features I was looking for, was simple to use, not too expensive, good looking, and constantly updating & including new features as they become available to Android. There are some great music players out there - but I thought maybe I could do something better. Before I get carried away, I should note: I acknowledge that AMP is not the best music player out there. It's a work in progress.

After a lot of late night coding, lunch break coding, before & after work coding, I finally released the beta version of AMP last week. (v1.0). Play Store Link

Since few of my friends posses an Android, and most of them thought my app would break their phone, I turned to Reddit to help spread the word about my newly created app.

The first Reddit post generated a little bit of buzz, and I was pretty happy to see some people downloading it.



But, I thought I'd limited myself by only posting to /r/Androidapps - and I wanted a bit more feedback.

So the second post came not long after, to /r/Androiddev, which generated a bit more buzz. I also received a lot of positive feedback and constructive criticism.



I felt a bit posting for a third time, but I really wanted people to see the app, and I realised I'd really limited my audience by focusing on the smaller sub reddits. I decided I should just post to /r/Android (link), and it worked! I got tons of feedback, and a heap of downloads. I was pretty amazed by the results.

After the third post, the downloads really took off. Thanks Reddit!. I received a bunch of feedback, and I endeavoured to respond to every post, which kept it going.

After about a day of decent downloading, the Nexus 7 came out, and my post sunk to the bottom, due to the flood of 'hardship in the Nexus 7 queue' posts, and the downloads dropped off a bit. They did pick up again however, which is encouraging, and tells me that the app might be spreading due to word of mouth. Again, thanks Reddit!

Anyhow, I think that word is spreading by itself, and I'm pretty happy with the outcome. I decided to start writing this blog to let everyone know about intended improvements, updates & feature additions, and to help users get in contact and leave some feedback.

Eventually I plan to release a paid version, and I might discontinue the beta, although I would like to keep a free option for people who can't pay. Hopefully I can make some money for my hard work.. In the  mean time I will keep releasing and updating and getting feedback, and try to make it the people's champ of music players.

Thanks for checking out the blog!

Screenshots: