My name is Stephen and currently an IT Professional doing administration and support, however I've always had a deep passion for software development. I've started mobile application development when I got my first Android phone in October 09. This blog catalogues all my progress with creating mobile apps for not only Android, but eventually iPhone, Blackberry and Windows Phone 7. Hope you enjoy.


Android Lint + HP Touchpad

Tagged: , , , ,

Two random updates today.  The Android SDK has updated to a new API level, 16.  Besides offering APIs for the new features introduced in Ice Cream Sandwich it also provided a developer tool called Lint.  Lint basically scans your projects for code that is possibly hurting performance or goes against best practices or is simply a waste.

After installing the new update, I ran Lint on my Video Poker Assistant and Monopoly Trade Evaluator and Lint found over 400 warnings.  Granted going in I knew it would find a lot of one thing I did a lot, and that was put display text hard coded into the source code.  Android development has a separate strings file where you can assign all the display texts to a variable and have them all in one place.  It makes sense to use it and it makes translating a breeze, cause you just change the one file to another language instead of changing source code.  But in reality when you're in a coding zone, it takes time to go back from your source code to your strings file and back, so I knew going in that it would report all those problems and I had full intentions of fixing it up before I even knew what Lint was.

But Lint also found a lot of errors I had no idea about, like my current code was drawing the backdrop twice for each activity and I had a lot of excess code in my UI files.  So I'm working on cleaning all that up, compiling with the new API and releasing some quick maintenance updates for those 2 apps which will hopefully improve their performance.

Then in other news, if you weren't aware, the HP Touchpad.  A webOS tablet that came out over the summer was discontinued and HP had a huge sale of it's inventory not long after.  Well I was able to score one last week, $99 for a 10" 16GB tablet. DONE.  However it brings me to a predicament, I'm not sure what to do next in my mobile app development life.

  • Port my apps to iOS, I have a Hackintosh and a 1st generation iPhone and both never get used.  I also don't feel like spending $99/annually to be a developer for iOS just yet, so I was 99% sure my next move would be to...
  • Take a crack at Windows Phone 7 development and get in before it becomes huge (if it does), I have Windows XP virtual box setup with the Visual Studio, but no actual device...I don't even know anyone who has one.
  • And now webOS development has piqued my interest as I see the need first hand and would love to get more out of my device, especially if webOS and it's open source future is bright.  Not to mention HP suggests using Eclipse as an IDE.  Which is what I use for Android, so the SDK was easy to setup since I already had most of it done.
  • Sorry Blackberry, you're not in my immediate plans.
I can't decide...hopefully I will in the new year.

Video Poker Assistant Demo + Monopoly Trade Evaluator Updates

Tagged: , , ,

First, today I released a demo for Video Poker Assistant.  The demo includes both modes of use however with a little twist.  The demo starts in practice mode and lets the user use it for 5 hands (and up to 10 skips)  then after 5 hands are played, the user is brought to the evaluator which the demo allows another 5 hands. Then the demo is over.

The demo uses the exact same calculation code, so I hope people test it out and then go ahead and purchase the full version, which also as of today is no longer only $1. It's been set at full price, $4.

Secondly, I released about 3 versions of Monopoly Trade Evaluator in the past week.  2.0 was the planned release to include the In-App store to remove the ads.  Then in order to prepare for the next release, which I wanted to add more player slots, I cleaned up the variables and codes used for the player inventory and also was eager to work on the new bill chooser, which I really wanted to have ready for my own next Monopoly game.  However after 2.0 was released, I found a bug in the feature I added, so I had to release version 2.1 to fix it.  But the money counter was nearly done, so I added it as well.

Figuring I didn't fully test 2.1 I had full intentions of doing version 2.2 later in the week and I did, even though it only had 1 line of code that needed to be changed...I missed a line in changing over the variable names and tablets werent showing the right building amounts for player 1, so I had to release version 2.2.

But now all is well with these 2 apps.  Now onto the next project...which I have no ideas for...

Monopoly Trade Evaluator Update

Tagged: , , ,

Updated Monopoly Trade Evaluator, version 2.0, the main addition is that I added the In-App Billing code to allow users to remove the advertisements for 99cents.  This proved quite the challenge actually.  Google's licensing code for paid apps was so simple, I figured implementing the in-app store would be just as simple, boy was I wrong.

There are tons of posts of unanswered questions across the various forums I visit on how to get this working properly.  Some even suggest using PayPal's In-App payment method, which I looked at the code, is so freaking simple and I actually thought to myself I bet you more people have a paypal account with a checking account and credit card on file then a google checkout account with a credit card.

One thing I love that Apple did as a developer, is the same thing I hated as an end user.  It was that they make you put a credit card on file to get access to the app store, even if all you want are free apps.  So anyone on an iPhone at any time, has the capability to buy an app in just a few clicks.  Google, if it's your first app purchase, not so much.

But I digress, anyways I figured out a bit of a workaround for what I needed to do, it's not the cleanest or most efficent code, but it's the best I can do with the limited resources Google has put towards this feature and since I'm only doing 1 item that you can buy only 1 time, it worked.  It's not like a role playing game where you can just buy potions over and over again with real money.  sidenote, that's the example Google uses in their in-app purchasing demo.  Please email me if you have any issue with the in-app billing.

Be on the look out for Monopoly Trade Evaluator updates,I will include more player slots so that you can keep track of inventory and value for everyone throughout an entire game. Other planned improvements include the inclusion of "Get out of jail free" cards to a player's worth.  An option where instead of inputting your money total, you a prompted to just enter how many of each different bill you have.  Example: 1x$500, 2x$20, 4x$1.

Video Poker Assistant Released

Tagged: , ,

I know my previous post said Monday, but I found some time this morning to finish up everything I had to do and am proud to release my 4th application. Video Poker Assistant.

Video Poker Assistant is not a video poker game or simulator, there are plenty of those on the Android Market.  This on the other hand is a tool to help improve your video poker playing and help you win actual money at actual video poker machines!  Video Poker Assistant accomplishes this by offering 2 modes to help players, Evaluator and Practice.  You'll never have to second guess which cards to hold or redraw again!

In Evaluator, the player selects all 5 cards manually then the program will calculate all possible outcomes/payouts and then display the optimal hold/draw combination.  It is very useful to check what you should do for a specific hand.

In Practice, 5 cards are dealt at random and then the player is asked to select which they would hold/redraw.  Afterwards the program calculates the optimal play, as it does in the Evaluator, and then it's compared to the selected play.  If the selected play isn't the best play, it will display what moves should of been different.

In both modes, this program does a lot of calculations.  Please consider the fact that there are 2,598,960 possible poker hands and this program processes through all of them to see which of the 32 possible hold/draw combination gives you the most chances to win, which take a few seconds to calculate properly.  Within the "How To Use" section of the program is a detailed explanation of what calculations are done if you're curious.

I personally own a HTC Thunderbolt (1GHz Single Core, Gingerbread Android) and the calculations on my phone take at most 15 seconds.  Your mileage may vary depending on your hardware and software specs, bet you it flies on the latest Nexus phone.  However I am constantly looking for ways to improve my calculation code and trust me, this initial release code is about 3X faster then what it was a few weeks before release. 

Right now Video Poker Assistant has only been configured for "Jacks or Better" style games, where the lowest hand that wins is a pair of Jacks.  The default payouts that are set are the most common for those types of machines, however the payout table is 100% editable. Upcoming versions will include Jokers and Deuces Wild type games.  Please send your suggestions and I'll add them too.

As stated in my previous post, this will not be a free app.  Right now it is only $1 for the initial release, but it will go up to $4 before the year is over.

I've also recorded a video demoing Video Poker Assistant and have uploaded to youtube: http://youtu.be/oACXQuZm6q8 .  I'll probably do this for my other apps too figuring how easy it was!

That's it, I hope you enjoy and are able to improve your video poker playing and win some money during your next casino visit. Good Luck!!


Next App is coming out Monday!

Tagged: ,

My new program, which I've been quite secretive about is ready for the market! Barring some unforeseen actions, I'll be releasing my 4th and first non-free app into the market after Thanksgiving Weekend. Now that's so close I figure I can tell you some details.

As w/ the Monopoly Trade Evaluator, it's not a game, but rather a tool to aid players and as with my other 2 games, it's based on playing cards. The game in question for this program is Video Poker and the program will be known as Video Poker Assistant

By utilizing a series of equations, this program will aid players in improving their video poker gameplay and hopefully win them some real money next time they step into a casino. It does this with 2 different modes. Evaluator and Practice. In Evaluator, the player selects all 5 cards manually then the program will calculate all possible outcomes/payouts and then display the optimal hold/draw situation. It is very useful to check what you should do for a specific hand. In Practice, 5 cards are dealt at random and then the player is asked to select which they would hold/redraw. Afterwards the program calculates the optimal play, as it does in the Evaluator, and then it's compared to the selected play. It then will display the correct play and if it doesn't match, it will also display what moves should of been different.

In both modes, this program does a lot of calculations. Please consider the fact that there are 2,598,960 possible poker hands and this program processes through all of them to see which of the 32 possible hold/draw combination gives you the most chances to win, which take a few seconds to calculate properly. Within the "How To Use" section of the program is a detailed explanation of what calculations are done if you're curious.

 I'll be initially selling the program for only $1, then will go up to normal price, which will be between $3-$5, I haven't decided yet. So get your copy early on Monday if this sounds like something that'll help you. I'll post back Sunday night/early Monday.

Release Updates

Tagged: , , ,

Just a quick note that I updated Monopoly Trade Evaluator and High Low Red Black today. The update for HLRB was to v2.8 and was just a maintenance release. New Scoreloop, AdMob and Android SDK were all used, and fixed a certain bug with tablet displays. Nothing else changed. Did the same updates for MTE, which went up to 1.5, sans Scoreloop, as well as added plenty of new features. Mainly the ability to add Mortgaged properties and Houses/Hotels to a player's total. Also implemented some code to allow users to see both player's assets in one screen (previously a tablet only feature) and the ability to calculate 10% for that income tax spot on the Monopoly board, then suggest what you should do, pay the 10% or $200 flat rate. Still working on my unreleased application. I'm trying to implement a Demo/Paid model where the Demo has a limit on some features. I'll be using Android's built in In App purchasing for it and I'm still learning how it works.

Monopoly Trade Evaluator bug fix update

Tagged: , ,

Fixed a bug found in Monopoly Trade Evaluator and uploaded version 1.2. The bug was that when the text box went over the built in INT_MAX value it would cause a crash because the program wouldn't be able to add it to the total if it's over the integer limit, so now I've limited the amount you could input. Now the method of how I found this out is what bothers me so much about the android market. So I check the developer console site every so often which shows me reports of downloads, uninstalls, ratings, crash reports, etc... Anyway in one check yesterday I got 1 new rating on Monopoly Trade Evaluator of 1 star and 1 new crash report. I have a strong feeling, no definite way to find out, that both were from the same person. The crash report was because the person put "5668800860" as the money value for one of the players trade list....I know I have to prevent certain errors from occurring in any software development, but I really didn't expect someone to put a number over 2147483647 in the money text box. But why leave the 1 star rating? All because you found 1 bug in the application that I overlooked? I understand it could very well be 2 separate people, that still brings me back to the point of why someone would leave a 1 star rating...even if it did or didn't crash on them? My description was clear of what this app is and what it does and it does it well, if you want to rate it low, email me and tell me why and I'll fix it or if you realize this isn't the app you want, just uninstall, don't leave a bad rating w/o a constructive comment behind. You obviously had interest if you wanted to download it after reading the detailed description. /end rant. Sorry about that everyone, I just had to get it out.

Next App Status


So now that 2 of my 3 apps are updated to the latest SDKs and even tablet support. I decided to venture to a new idea I had a while ago, I'll eventually get to updating Acey Deucey but being my first app that code is a mess that I don't want to deal with at the moment. Anyways the new app, I don't want to give much away, I'm keeping this one close to the vest. But it's similar to the Monopoly Trade Evaluator in the sense that it's an assistant to an already established game, however it's much more complicated under the hood. My rough estimate right now, one run through of the program does at least 11 million equations in order to figure out the best possible outcome while playing this game. Being a stats minor in college, I'm loving this. However I've yet to test how this effect's battery life on these phones. That one run through on my HTC Thunderbolt takes about 15 seconds and you can't do anything else with the phone while it's computing. Quick side note, this will most likely be my first paid app

Tablet Support

Tagged: , , ,

Just a quick update that I've added tablet support to 2 of my 3 apps today. High Low Red Black (v2.6) and the Monopoly Trade Evaluator (v 1.1). Also made a few bug fixes for the trade evaluator, but if you're on a phone you won't notice a single difference with High Low Red Black after updating.

That's all, I'm going to go back to watching the Rays/Red Sox game. Let's go Rays!

Monopoly Trade Evaluator

Tagged: , ,

The other night playing Monopoly this idea came to me. What about an application that automatically adds up your property totals for trades and the infamous income tax spot....a few short weeks of prep work and coding I have a version good enough for a market release.

First off let me say Monopoly Trade Evaluator is a tool to help players trade properties in Monopoly. This is NOT the actual game you can play on your phone!

Monopoly a classic board game brought to us by the good people at Hasbro. Monopoly is copyright of Hasbro and this application was not developed, approved, licensed, affiliated with or endorsed by Hasbro in any way. Please make a note of that.

Monopoly Trade Evaluator let's a player input both sides of the proposed trade within a game of Monopoly then a total value of both sides is displayed.

Right now the program calculates strictly by face value, as an avid Monopoly player myself, I'm well aware there are other factors that affect a deal between players. So players should not use this value as an end all, please use it as a guide.

Due to the nature of this application, it can also be used during Monopoly to get your total worth as well. Which can be useful for when landing on the income tax spot or for when you play a timed game and the winner is the "richest" person, this program does the addition automatically!

Next version will include:
1) Mortgaged property values, sometimes a player will sell/trade their mortgaged deed, this needs to be implemented.
2) Adding houses/hotels to trade values
3) Adding other factors into trade values, see "About" section within application to read more.

The network permission is for AdMob...I'm sorry, it's a necessary evil.

More info: Adnroid Market Link

High Low Red Black v2.5

Tagged: ,

Took me a few days to update the site, but an update for High Low Red Black was put on the market during the week with a few additions on top of general code clean-up and SDK/Library updates.

Local Scoreboard in place now instead of the 1 saved game routine. Scores not submitted (due to lack of service/airplane mode/network issues) will now have their own place on the device and if the user chooses, can attempt to submit them at a later date...not the next time you start the app like it was.

Achievements, think like Xbox Achievements or PSN Trophies. Just little tasks within the game that if you accomplish them you get a bonus. Some basic examples include getting a 15 card streak correct, some others are a bit crafty like the one named after the game. In order to unlock that one the player will need to pick High, get it right, then Low, get it right, then Red and Black after and get all 4 choices correct.

and dedicated screen layouts for different sized devices. Am still attempting a tablet version, but the stimulator in the tablet puts the image upside down and I cant figure that out yet if its the SDK simulator or my code. I wish I could get a Samsung Galaxy Tab 10.1.

Hello World, Again.

Tagged: , , ,

Hello everyone, as seen from the lack of activity on this blog and my projects on the market. I took a bit of a break from coding. But for the last week I dove right back in and a High-Low-Red-Black update is coming within the next few days, changes listed below. I also have a new idea for another project, that won't be a game but it will be based on playing cards. I need to think of some other ideas before I become a type-casted developer.

I actually did have a few random ideas, but as I thought of them and thought to myself "wow this is awesome"...they've already been done. I'll share a few below:

-Starcraft 2 build order bot, would be able to load up build orders and then go down a timer and tell you exactly what to build and do. Found 2 Android projects of the same thing, one actually fairly new when I thought of it and both are not fully polished, so I may go back to this.

-Baseball/softball scoring app - the most tedious thing to do for anyone who scores their baseball or softball team is transferring the stats to the computer so everyone can see their stats like average and RBI totals. Figured why not make it digital that can calculate everything real-time. Found 2 other apps that do exactly thing...one backed by ESPN. I will not be going back to this idea.

-Couch to 5K training helper. couch to 5k is a 9 week program for beginner runners. Example of what the mobile app would do, the first session is a 5 minute walk then run for 60 seconds, walk to 90 seconds, run 60 , walk 90, etc until you do 8 runs. I figured a beep system or a playlist that changes tracks when you should change...but theres TONs of apps for this and I even use one of the paid ones and it's great.

-Car Dock app. None of the available car dock home screens meet my exact wishes for layout or functionality. I may make my own for personal use or maybe to distribute as well.

But anyways back to what I've actually done, High Low Red Black updates include:
-SDK update, including Android and Scoreloop
-Scoreloop update brings a more streamlined system for submitting offline scores, including an offline leaderboard
-also added "Awards" (think Xbox Achievements or Playstation Trophies), 10 certain conditions that need to be met to get them added to your Scoreloop profile.
-And the part you don't care about, Admob update to include Google Adsense ads as well.

So ETA on the update is Thursday. In other news I am no longer using my HTC Hero, it actually was stolen in January. So after a few weeks of using a blackberry, dumb phones and even days without a phone hooked up to my number. I am now on a HTC Thunderbolt. Loving it.