Monday, January 5, 2009

upcomming development

I've ordered my development phone which hopefully will help me finish he barcode scanning feature. Until then, I'm working on some more tweaks based off of more user feedback.

I'm really impressed with how much feedback I've gotten and all of it was constructive. Right now, most users want barcode scanning. The biggest challange with that is NOT the barcode scaning. Good zxing was a BIG help there. The hardest part is finding a service provider who can perform the lookups.

I've contacted Amazon Web Service to see what free services they offer. I'm hoping to get the following data fields:
  1. Title
  2. Rating
  3. Description
  4. Category (hopefully this will sync with the IMDB categories I use now)
  5. A thumbnail
I've had a request from one user to show a picture of the disc so hopefully this will give us what we need.

As for the next version:
  1. An about page <- Not requested but I need to take care of this to recognize some user feedback and to put some acknowledgements in
  2. More detailed filtering <- I've gotten requests from some users to filter movies by category, rating, and type. I'm planning to leave the title filter at the top and add a colapsable pane to add additional filters
Not much but I like the idea of small incremental changes. I'll probably go to version 1.2.0 with this and let it stabalize then release 2.0.0 which will be barcode scanning version.

Hopefully the Android market will have its payment services setup and I can earn the money back I spend on the development phone and the android account. Also, I'm hoping I can do something like free upgrades or discounted upgrades.

For a price, I was thinking of something simple like $2.99. I'd like to do it for a buck, but Google is planning on taking 30% for the cariers and I need to have some left over after I pay taxes on it.

If they won't offer a discounted or free upgrade option, I will probably charge less so the user community doesn't get sucked dry. Escpecially since a lot of the "upgrades" come from feature requests and feedback from the users.

Sunday, January 4, 2009

MyMovies Version 1.1.5

Simple changes this release...
  • I added an NR rating category per a user request.
  • Fixed display problem with rating on home screen with new movies
I also finally found the root cause of that @$!#* rating star bug on the movie list. The issue was never with the movie being saved to the database with the wrong rating, it was with how the rating was displayed.

It displayed with the rating of the movie directly below it and it had to do with how Android draws items in a list. The list is fed from a CursorAdapter that only fetches how ever many items from the cursor that it has to draw on the current screen. If you insert an item in between, the widgets on the screen were not reset properly and if you had a 5 star movie before, all 5 stars would be enabled even if the movie was only one start. I needed to reset the stars to disabled in the display(Cursor c) method and not rely on them to be reset in the constructor (or the method I call to from the constructor).

That one was tuff...

Saturday, January 3, 2009

MyMovies Version 1.1.4

Just another start-selection bug fix. I must resolve to purchase the actual device soon...

Friday, January 2, 2009

Version 1.1.3

Wow, what a great community!!! I upload a 1.1.2 and 10 minutes later I get a bug report. As it turns out, the world does not have skinny fingers like me and they can't click the tinny star icons. The code actually supported trackball functionality before; however, the UI didn't show the selected star so the user didn't know to perform a track-ball click. I added onFocuseChanged code to buttons so the user sees the change happen. The stars turn blue!

This was the only fix in the app and it took me all of 5 minutes to sort out. I REALLY REALLY REALLY need to buy a G1 so I can test on the actual device...

Still, My user count is over 1400 now so hopefully, I'll continue to get good feedback...

What's Comming Next

I've been able to work out the majority of the pieces I need to put in motion for the barcode scanning lookup of movie titles. I'm trying to find a free service for the lookup, but all the coding is there so it should take long to wire together once I find a good service.

Also, since I don't have an Android phone at all, the camera development is a little tricky. I found a site that has a work around so I'm hoping to use that for the majority of the development...

MyMovies Version 1.1.2

I've been able to add two of the features requested by the users and also fixed two bugs in the process.

The first feature is the inclusion of a Category or Genre. I grabbed the list of movie Genre's from IMDB so hopefully, that should make everyone happy. Also, I added a new feature where you can rate you movie collection. I use a simple 1 to 5 stars system and I display the category and ranking on the movie listing page:

While I was at it, I got rid of the old ugly icon for a new but only slightly less ugly icon. This one contains no borrowed image contact so no worries on licensing...

Unfortunately, the CSV File format had to change because of the new columns. There are now seven columns:
Title,Rating,Category,Status,Type,Rank,UPC

The nasty bug had to do with how android bubled up events. I attached an onKeyUp event to the ListActivity so I could handle people pressing the delete key; however, that event also got triggered when the focus was in the filter box. Hence, if you apply a filter and then delete the contents, you just deleted your filtered items (THANKS Miguel).

The simple bug was I spelled Blu-Ray wrong. The upgrade will change the spelling of all BlueRay and make it Blu-Ray.



Thursday, January 1, 2009

Android App Version 2

So it turns out that integrating with the android contact system was really simple so I wrote the rental activities into the application and you can now loan/rent movies/games to people on your contact list.

I also cleaned up the code a bit and moved away from the Silk icon set for the menu items and instead, I use android global menu images. Hopefully, the application can change as Android gets upgraded. I also selected a lighter theme... I'm sure that means more battery life, but I liked the white background better.

Here we have the new home screen. You can see the game-controller icon for items marked with a type of GAME:

Look at the new Android seeded menu icons:

I'm also disabling menu items if there is no selected item in the ListView. This only happens when an activity launched from the ListView returns and adds/deletes a row:

Here is the new Edit screen. It was easy to add ratings and types because I used the array.xml resource files. I just went to ESRB.org and got what I needed for the games and I've added the TV ratings as well. Why they are not all the same is beyong me:

Same thing with the menu displayed. I really like the seeded menu icons better:

Here is the screen showing the rental list. I tried to consolidate the contact and title into one row; however, the longer movie/game titles went off the screen and it looked terrible. I like this approach better and hopefully, a 500 item catelog won't have all 500 out at a time. I'm thinking of a possible grouping of contacts for a later version:


Same thing with the menu visible:

The edit screen seems really simple and it is. I used a CursorAdapter to bing the Spinners and added methods in my DbAdapter to retrieve cursors to the Android Contacts repository and I created a smaller method for the movies that just returns _id and title:


Once again, same thing with menu:


The import screen didn't change other than code cleanup. I removed some redundant event handlers and added more comments:


Overall, I'm liking version 2 better and I'm learning more and more about Android. I'll try to work out checking-out a movie from your contacts application but I'm not sure where to start there. I'll post some messages to the developers message board and see where I land...