We've Moved


It can be found at the new website: http://fifteen15studios.com/blog/

Personal Blog

Want to know more about the man behind the programs? Check out my personal blog: http://havens1515.blogspot.com

Thursday, February 28, 2013

Auto Respond

One more bug fix. This time something that I noticed before, but I wasn't sure what caused it. At the time I thought it may have been because I was using an emulator, not a real device. Turns out I was wrong.

Here's how to replicate the issue: If you add a contact to the "Do Not Respond" list, or the "Custom Response" list, and that contact doesn't have a phone number listed, the program will crash.

Just like the last crash, I saw this crash on Google Analytics and looked into it. It took me a bit to figure out what exactly was causing it, but I got it fixed up. If you try to add such a contact in the new version it will not crash, but it will display a toast notification alerting you that the contact needs to have a name and a mobile phone number listed.

The error was caused if NO phone number was listed, but I made the warning appear even if there was a number listed and that number was not a mobile number. This is because  the app checks to see if it's a mobile number before replying. (This check is actually only done for the phone call response. If you are receiving a text message, the app assumes the number can receive a response message.)

So if you try to add a contact to either of these lists and get that error, make sure that the contact has a mobile phone number and that it is listed as a mobile phone number in the address book. If it's listed as anything other than a mobile phone number, it will display this warning and will not add the contact to the list.

Wednesday, February 27, 2013

Auto Respond - More Bug Fixes

Crash Fixes

More crash fixes in Auto Respond... this time, only in the free version. (Sorry again guys! At least that's good news for those of you who have paid for the app.)

I obviously don't use the free version for my personal use - since the paid version has more options. I try to test everything possible in both version of the app before releasing a new version, but sometimes I miss things.

As it turns out, entering into "Notification Options" or "Other Options" on a 4.0+ device would cause the app to crash.

I only noticed this because I checked Google Analytics for crashes and exceptions, which listed a few crashes in the free app. This once again leads me to beg you guys to please send crash reports when they happen!

When the app crashes, you get a prompt that ways "Report" and "Close". PLEASE click "Report", even if you leave the text box empty. It would be preferred if you would put a small note in there, including what Android version you are using, and/or what device you are using (Android version is more useful) and maybe a small description of what you were doing when the crash occurred.

Without this report, I was only given a few pieces of information:

  1. What app it happened in
  2. What file it happened in
  3. The error code
With the error reports, even if you do not put in any additional information, I get one more piece of information which is VERY useful: the exact line number which caused the error.

Other Bug Fixes

While I was searching frantically for this error, I happened upon another bug. This one applies to both free and paid users.

It was a small bug with how the "Silence Ringer" option works. Nothing too big, but it fixed a couple of issues for users on Android 2.x, and another issue for all users. 

Bottom Line

A couple more bugs squashed, and the new version has been published. As always, it may be a couple of hours before the update is live in Google's servers, but make sure to look for it later tonight!

Tuesday, February 26, 2013

Settings menu update

I just realized that the Android support library was updated in November to include support for PreferenceFragment. (I knew it was updated, but I just now realized that it included that class.) Now, I know that means nothing to most of you... but to me, it means that I can stop creating separate menus for Android 2.x and 4.x!

This means a few things:

  1. The file size for the app is likely going to get smaller, because I can get rid of a lot of redundant code.
  2. I can stop using depreciated code, and start using the supported replacement code.
  3. There's less of a chance that I will change/add something in one place, and forget to adjust it in another place.
  4. I am going to have to figure out how to use it properly, and where I need to make the changes, which may take some time
  5. There will likely be another update soon which will probably improve performance, reduce the size of the app, and hopefully make it easier for me to release future updates more quickly.
Again, this may not seem like a big deal to you guys... but it's a big deal for me!

EDIT: I think I may be wrong on this... it looks like the support library includes Fragment, but not PreferenceFragment. :-(

Monday, February 25, 2013

Auto Respond

I've pushed a new update to both the free and paid versions of Auto Respond. I've received a couple of crash reports, and have fixed those issues.

Sorry for the problems, but THANK YOU for the crash reports. Without those reports, I have no idea that there is a problem. Or if I am aware of a problem, I have no idea where it is generated. The crash report tells me the error code, and exactly what line of code generated the error. I can then look the code in question and see why that line may be generating an error.

Again, this is only a bug fix release, but it is important for you to update. The update has been published, but will probably not be pushed through Google's servers for a couple hours.

Thursday, February 21, 2013

Tic Tac Toe 1.2

I just published a new version of Tic Tac Toe:

  • Added ability to change the color of the X and O
  • Added ability to select which player plays first
These options are in a new settings screen, which can be found by pressing the menu button.

As usual, this update was just published and may not be available until Google's servers refresh.

Here are some screenshots of the additions:

Tic Tac Toe - psychedelic!

As I mentioned the other day, I'm going to work on making some options for Tic Tac Toe. The past couple days I've been working on changing the color of the X and O.

Changing the color to predetermined values was easy. I had that done within a couple hours. Allowing the user to pick their own color... that was a little more difficult. I had to do some searching for a color selector, because for some reason there isn't on available in the Android SDK.

The first one I found was WAY too small, hard to manipulate, and just not working well. If you touched and dragged, it wouldn't actually drag. It was small even on a phone... when seeing it on a tablet, it was even more ridiculous how small it looked.

So I did some more searching and found an open sourced project with a much better implementation. It's much larger, making it easier to see and manipulate, it scales well on a tablet, and dragging your finger after touching actually drags the marker. The only thing I could ask for that isn't included is an RGB value of the color.

Here's the code, in case you're interested: http://color-picker-view.googlecode.com/svn/trunk/

Right now your options are: ROYGBIV (Red, Orange, Yellow, Green, Blue, Indigo, Violet) and using the color selector to create your own. I am thinking about adding an RGB value editor of my own... allowing the user to input a value for Red, Green and Blue, displaying the resulting color, and allowing them to accept or deny the color they have created. This should not be too terribly hard, I just haven't done it yet.

Here's how it looks now: (screen shots from my Nexus 10)

The top screen is the selection screen, which includes my preset options and a button for creating your own, and the second screen is the color selector. (I'm just noticing now that one window says "Choose a Color" and the other says "Pick a Color"... I'll change that.)

As you can see, the color selector is a nice size that is easy to manipulate. The scale on the right side is to choose a color range, and the big box that comprises the majority of the dialog is where you select the specific color. Just above "Cancel" and "OK" are the old color, and the new color.

As usual the final design may change slightly, but it's far enough along that I figured I'd share.

Here's a game in progress with some different colors selected:

Monday, February 18, 2013

Tic Tac Toe Ideas - user input wanted! Please leave some comments!


I want to add some sounds to the end of the game in Tac Tac Toe. Like applause, or a fanfare, or something like that if you win, and maybe an "awww" type of sound if you lose, and I have no idea what to put if you tie.

I looked briefly for some free sound bytes, but I didn't find much yet. Do you have a suggestion of sites where I can get some good sounds for free? (and by free, I mean legally free... not stealing sounds that are licensed by someone else.) Anyone willing to create some good sounds for me?

If I get enough good ones I can put a few different sounds for each scenario, so that it isn't the same sound every time you win or lose. I can have it randomly choose a sound when it's time to play the sound.


Also, I'm thinking about giving the user the option to change colors of the X and O, and maybe creating some other themed items for players to use other than the traditional X and O. Any ideas for themes? I know there are existing games on the Play Store with puppies, and a couple other things, so I wouldn't really want to copy any of those ideas. Again, I would need images that are free to use, or images created by myself or that you (my users) have created and would be willing to allow me to use for free.

I could also do themes based on holidays... those would mostly be easy to do. Hearts and such for v-day, pumpkins and creepy things for Halloween, Santa and trees for Christmas, Turkeys and pies for Thanksgiving, flags and fireworks for Independence Day... the list goes on.

Game Play

I know there's not a lot to change about game play in Tic Tac Toe, but I could make an option for what player plays first - player 1, player 2, or random like it is now. Making it so that player 2 is always first would increase the difficulty a bit, and vice versa.

I've also seen games with larger game boards - is that something that would interest people? I'm not sure about the strategy for the larger boards, so it may be a while before I have a competent computer player, but I am always up for a programming challenge. Until then, I could make it just 2-player for the larger boards.


Any other ideas? I'm always open to suggestions. If you have anything, leave it in the comments or drop a line to my inbox.

Auto Respond

Sorry guys, someone sent in a crash report (thanks for that!)

In the free version, a crash is possible when entering one of the menus. This is because I didn't merge one of the changes from the paid version.

It should be fixed in, but if you do experience a crash, the crash report system in Android is VERY useful when trying to fix them. If you could though, (and this goes for ALL apps, not just mine) please write in what Android version you are running when sending those reports. It's not always 100% necessary, but it definitely helps when trying to figure out the problem.

Also, the menu in Android 2.x was also setup slightly different than it is in 4.x. I've updated the menu in 2.x to look the same as the 4.x menu.

The update has been published, and should be trickling through Google's servers shortly. Look for it in the next hour or so.

Saturday, February 16, 2013

Auto Respond 1.2.9

Auto Respond 1.2.9 has been published and is now live in the Play Store!

I tested it on Android 2.3 this morning using my roommate's phone, and it's a good thing I did because I found, and fixed, a bug that wasn't occurring on my phone.

Here's the full change log:


  • Custom responses to individual contacts
  • Fixed an issue with changing orientation on various screens
  • Fixed a rare issue with "Do Not Respond" list
  • Fixed a potential issue with auto starting the dock service after reboot
  • Fixed an issue where changing the message while Auto Respond was active would not update the message in the notification
  • empty space will be trimmed from the beginning/end of the response message before sending.
  • Made check boxes into on/off switches for users on Android 4.0+

Friday, February 15, 2013

New Auto Respond version coming soon!

As I've been saying for weeks now, I've been hard at work on Auto Respond. Today I hit a milestone: custom responses are working!

Here's how it works:

When you first go into the "Custom Response List" menu, you get 2 options: "View List", and "Reply only to these contacts"

"Reply only..." is a toggle option, which makes it so that the app will only send replies if the call/text comes from a contact on this list. If you toggle this on with no people in the list, it will warn you that the app will not respond to anyone until you add someone to the list.

When you click on "View List" it takes you to a screen that looks just like the "Do Not Respond" list. When you click "Add" from that screen, it takes you to a new screen with the following:
  1. "Contact Picker" - just like when you press add in "do not respond" list
  2. "Use Custom Message?" - toggle
    1. "Custom Message" - text field
    2. "Message Position" - list
      1. "Custom message only"
      2. "Add custom message before default message"
      3. "Add custom message after default message"
(For the record, I think "default message" may sound confusing to users... if you have a recommendation for better terminology, I'd be glad to hear it!)

Some caveats:
  1. This new feature has not been tested on all Android versions yet. Only on my Galaxy Nexus running Android 4.2.1. This means that it's not quite ready to be released yet... not until I do some testing on Android 2.x devices.
  2. This list currenty cannot be sorted. I likely will not add this until later, as the "Do Not Respond" list cannot be sorted either. these two lists would sort in a very similar way, so when I do sorting for one, I will likely port it over to the other.
  3. This will be a pro only feature
    1. this is mainly because it was so much work. If people appreciate the work that I put into this feature, I feel that it's fair to ask a minimal price to use it.
As usual, I am still perfecting this as well. It works, but that does not mean it is 100% everything I want it to be. It is REALLY close though.

Here is the entire change log for this version as of now:

  • Custom responses to individual contacts
  • Fixed a potential issue with auto starting the dock service after reboot
  • Fixed an issue where changing the message while Auto Respond was active would not update the message in the notification
  • empty space will be trimmed from the beginning/end of the response message before sending.
  • Made check boxes into on/off switches for users on Android 4.0+

Monday, February 11, 2013

Airpush: no thanks!

Today I got an email from Airpush, advising me that I can use their ad network to monetize my apps. My response: NO WAY!

For those of you who don't know what Airpush is, you may have seen it and not realized it. It's an ad network which displays ads in your notification panel. It's the most intrusive and annoying way EVER to display ads. I have actually stopped using a few apps because they had Airpush ads.

The biggest problem: most of the time you don't even know what app is displaying the ad! You see this ad in your notifications and think "Oh man, what malware did I download unknowingly?"

As a piece of advice to anyone who has run into this situation: download "Lookout Ad Network Detector". https://play.google.com/store/apps/details?id=com.lookout.addetector

It's a free app on the Play store, and it will tell you what advertising technique is used by each app on your phone. It does not constantly scan for apps that use intrusive ad techniques, but you can run a manual scan at any time and figure out what apps are using something like Airpush. And once you find the offending app, you can uninstall the detector if you wish.

In case you haven't realized from the rest of this rant, I will NEVER put ads like this in my apps. Any practices that have driven me away from apps in the past will surely drive users away from my apps as well, and I don't want that. I want to make some money off of my free apps, but there are a lot of user friendly ways to do it. Airpush is not in that list.

Wednesday, February 6, 2013

Updates - coming slowly but surely

I know it has been a while since I have updated Auto Respond. This isn't because I'm not working on it, or I have nothing left to add... it's because some of the stuff I've added is more work than I realized.

First - I think I mentioned before that changing 4.0+ to on/off switches from check boxes was actually a LOT of work that I did not count on. Now that I've figured out how they work, it's not as bad anymore. But there's still some work, and a lot of testing, to be done.

Next - The changing icon. I mentioned that I have found a way to change the icon of the entire app. Well, turns out that's not entirely true. It changes the icon of an individual activity (such as the main screen) and in order to change it for the whole app, I would need a bunch of activity-aliases. It can be done, but it's not quite necessary right now. There are more important things to do. And as I stated before, there are still problems with it. It changes the icon in the app drawer, but this change is not immediate. So if the "old" icon is still there and you click on it, it will say "App not installed" and it will take a few seconds for it to switch to the "new" icon. Until I figure out how to make that change immediate, this feature will remain unchanged.

Also - I mentioned some work on ignoring calls... unfortunately that still is not working properly either. So unless I get that fixed soon, it's not going to be added. Sorry if anyone was looking forward to this functionality. I'm trying :-/

And lastly - something many of you have been waiting for: responses for individual contacts! I've started working on it and, as I expected, I ran into some road blocks. I told you guys before that it was a mess to get the functionality of this whole thing worked out in my head. Well, it turns out that I SILL don't have it all worked out. As I started coding I realized "hey, where is <insert option here> going to go?" or "wait, if I do that, then I need to put <insert something else> there as well." So I'm rearranging the whole thing so that it fits together nicely, and is easy to understand and navigate.

I was originally going to make this work a lot like the "Do Not Respond" list. But as it turns out there is a lot more I want to do with this than the Do Not Respond list, and it's going to require a few extra sub-menus. I've almost got all of the menus written and working. I've also written the code to check and react to this list when sending responses. I'm not sure if it works properly yet (I haven't tested it) but the code is written.

The good news - it's in progress. And I've actually made a significant amount of progress on it in a very small amount of time. The bad news - it's not quite done yet. And when it is done, it still needs to be tested.

I would give you some screenshots but things may still change, and the shots that I would be able to offer aren't very impressive anyway.