We've Moved

THIS BLOG HAS 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

Friday, July 26, 2013

Pirates Avast!

Apparently Auto Respond has become popular enough for people to start pirating it. I know this partly because they're pirating an old, buggy version.

The version that is being pirated was released back in late February, and was replaced less than 2 weeks later with a much more stable version. Even though that version is 5 months old now, it's still topping the charts on my list of what version people are using on Google Analytics. Yet, there are 0 copies of it still out there according to my developer console. There's only 1 explanation for that... pirates!

Some of these pirates even have enough balls to click the "needs improvement" link in the app (which sends me an email with information about the app version they are running, the Android version they are running, and their phone make and model) and then tell me that my app is crashing, or has other problems. My response to that from now on (to users running this version) will be "buy my app instead of stealing it and you won't have any issues!"

All of that being said, I've gone on a hunt to find the source of this illegally distributed file. So far my hunt has been fruitless, but if you find my pro app out there in the deep dark corners of the interwebs being offered for free PLEASE LET ME KNOW! It might just be called "Auto Respond" and not "Auto Respond Pro" as it is now, but if it doesn't specifically state "Auto Respond Free" it's the pro app.

I don't make a lot of money from my apps, and I don't think I'm asking an unreasonable amount for the app (in fact, until recently it was as low as I could possibly go... $.99) so please help me find and stop this.

Tuesday, July 23, 2013

Background

I was just thinking about things... and I came to realize a few things.

To start, I want to give you a background on me.

In the Beginning

I first used a computer when I was about 8 years old. My mom brought home a computer from work, which was DOS based. She taught me some basic commands, and suddenly I was able to navigate my way around DOS... sort of.

Then she brought home a pile of floppy disks and said something like "someone at work gave me these disks and said they have games on them. Plug them in and see what's on there." So I did... and to my disappointment, most of the disks were password protected. But that didn't stop me. I spent some time guessing passwords. They were educated guesses, but guesses. Don't ask me what my exact process was... I was 8, and I don't remember those details. Eventually I figured out one of the passwords, and was able to play the games on that disk. So I tried the password on all the other protected disks, and it worked on roughly half of them.

That day I fell in love with computers. I knew that I wanted to do something with computers "when I grew up". As time progressed I got more and more into video games, both console and PC, and wanted to be a programmer. Specifically, a game programmer (like so many other kids in my generation.)

High School

There wasn't much in the way of Computer Science classes in my high school... we had a Visual Basic class and a C++ class, but most of the time they never happened because not enough people signed up for them. One of those years though, I took the C++ class. Unfortunately, it did nothing for me because my teacher was "learning as we were" and I spent most of my time copying code from "the smart kid".

Community College

So I went to community college and started as a CS major. I took "Introduction to Object Oriented Programming using Java" - the first programming class in the major - and I hated it. Again, a big part was my teacher. She could barely speak English, she actually spent 1 entire class writing Visual Basic code on the board, just to erase it and tell us "Oh, forget all of that, that was the wrong programming language." I failed that class and retook the class the next semester with a different teacher. That second semester, I also took Calculus 2. I still hated Java, and I got a 22 on my first calc 2 test... so I switched majors to Computer Technology - a hardware major. (The highest level math required for CT was calc 1, so I didn't have to pass that calc 2 class for the new major.)

College

I stuck with that major until the end of MCC, and transferred to RIT. The major there was Computer Engineering Technology - still a hardware major, but we did out fair share of software too. At RIT I finally started to grasp the concept of Object Oriented Programming, because I finally had a good teacher. It was C++ that finally got me to understand, but I was only doing command line (DOS) programs. I took some of those programs above and beyond, as I finally understood what I was doing (one project eventually turned into my tic-tac-toe game for android.)

After doing tic-tac-toe, I decided to really challenge myself and make a Euchre game. For those who don't know the game of Euchre, it's a card game with a TON of logic involved. The game was 1 human player and 3 computer players (Euchre is most often played as a 4-player game, although variations exist for anywhere from 3 to 7 players.) I got Euchre working as a playable game, and started adding more options to it - like some of the regional rules or "house rules" that exist in variations of the game.

Beyond College

After college, I decided to make Euchre into a Windows program instead of a DOS program. Doing my first GUI was interesting. There was definitely a learning curve, especially considering I was learning from the internet and sample code. I decided to use C# instead of C++ because it seemed to have a lot more options for GUI programming. This meant that some of my code needed to be changed slightly for the new language. Since C# is based on C++, most of the changes were minor. The hard part was converting the command line output to a GUI. I played with a few other programs for a while, nothing else really got too far.

Android

Then I got into Android. I got my first Android phone in 2010, and got REALLY into the modding community - rooting, ROMs - and basically everything Android. I paid for Tasker, and eventually made some profiles in there for responding to text messages while my phone was in a car dock. (I was taking an hour and a half drive to Buffalo once a week for work, so it helped for that trip.) Then Tasker released App Factory, which allowed you to use "scenes", which were basically GUI elements, together with profiles to create an actual app and an apk file which other people could install on their phones. This is where the first ever version of Auto Respond came from.

After realizing the visual limitations of the "scenes" created in Tasker, I decided to learn to write actual code and recreate this "app" that I created in Tasker with my own code. About a year later, Auto Respond is what it is now. Plus I've created tic-tac-toe, started to convert Euchre to Android, started on a countdown widget app, and have begun work on a super-secret project - which is going to be HUGE when it's finally released. (I've told a few of my close friends and family about this project, and they all LOVE the idea.)

Conclusion

So today I was thinking about this journey... from computer enthusiast, to wanna-be game designer, to failure of a programmer, to writing basic command line programs, to learning on my own, to semi-successful Android developer, and hopefully in the future to successful entrepreneur and app developer.

And through all of this, I've been working as an IT professional for 10 years... and I'm glad. I wouldn't want to code all day every day. I enjoy it too much. A lot of people out there say that you should never turn a hobby into a job, because you'll end up not enjoying it as much - I agree with them.

I LOVE programming, but I would hate it if I did it 40 hours a week. Plus, if I did programming as a job, I wouldn't want to come home and program my own stuff later. I want to program what I decide to program, not what someone tells me to program. And that's exactly what I do right now.

Now, I know what some of you might be thinking... "Well if this idea of yours does become big, then won't you be programming for a living?" ...Yes and no. Yes, I will most likely be doing a lot of programming to keep this whole thing going. But I will still be doing what I want to do, not what someone else wants me to do. I've always dreamed of being my own boss, and I hope that one day that dream will come true.

Sunday, July 7, 2013

Auto Respond 1.3.5.1

Like most people that I talk to, I do a lot of thinking while in the shower and driving. (Obviously, not both at once...) and this morning, before getting into the shower, I was thinking about some code in the latest update.

My mind went through this kind of process... " I put this there, and that there, and.... wait a second... that means that if the user edits the schedule, without opening the custom response list, the list could potentially be overwritten with blank data."

So I tried it. I opened a test schedule that I had setup, edited the list to contain a name, hit "OK" to save the schedule, then edited the schedule again, without opening the custom response settings, clicked "OK" again, and when I edited the schedule for the third and final time, my list was gone.

A few cuts and pastes of code later... the issue is fixed. And all because my mind often wanders off into my code.

So if you have setup a Do Not Respond list or a Custom Response list inside of a schedule, update the app to the latest version first, then check your lists to see if they are still there. If they're not there, recreate them and they should be safe from here on out. (As long as you update first.)

Sorry for the bug, but I figure I caught it early enough that it probably didn't effect too many people.

(As per usual, it may be an hour or so before the update is live in the Play Store.)

Saturday, July 6, 2013

Auto Respond 1.3.5

It has been published. Auto Respond 1.3.5 is being pushed to the Play Store right now. Not as a beta, as a release version.

Here's the full change log:

(Pro)

  • Fixed a crash when changing promote message
  • Added custom response list to schedules
  • Added do not respond list to individual schedules
  • Trim leading and trailing spaces before joining messages in custom responses
  • Change Screen title from "New Schedule" to "Edit Schedule" when editing a schedule

(Common)

  • Fixed a bug toggling promotion message in Android 4.0+
  • Fixed rare crash due to notification system
  • Fixed potential crash when responding to phone calls
  • Fixed multiple issues in the dock menu
  • Added Data backup/restore to Google Account
  • Change Screen title from "New Message" to "Edit Message" when editing a message
  • Removed some unused code


Yeah, that's a lot. Lots of bugs fixed, a few additions for both free and pro users, some small aesthetic changes... a little bit of everything.

The update should be available in a couple hours via the Play Store.

Thursday, July 4, 2013

New Auto Respond Beta

I've published the new Auto Respond Beta to the Play Store.

Change Log:

1.3.5 b1:
(Pro)

  • Fixed a crash when changing promote message
  • Added custom response list to schedules
  • Trim leading and trailing spaces before joining messages in custom responses

(Common)

  • Fixed a bug toggling promotion message in Android 4.0+
  • Fixed potential crash when responding to phone calls
  • Fixed multiple issues in the dock menu
  • Added Data backup/restore to Google Account
  • Removed some unused code

1.3.5 b0:
(Pro)

  • Added do not respond list to individual schedules

(Common)

  • Change Screen title from "New Schedule" to "Edit Schedule" when editing a schedule
  • Change Screen title from "New Message" to "Edit Message" when editing a message

It may be an hour or 2 before it shows up in the Play Store, and in order to use the beta you'll need to join my G+ community. If you aren't in it already, you can join the community here: 

Then go here to sign up for the beta releases of Auto Respond: https://play.google.com/apps/testing/com.havens1515.autorespond

The latest beta is just labeled 1.3.5, not 1.3.5 b1. That's because if no bugs are found, this version will be promoted to a release version. I've done a fair amount of testing, so there should be no glaring bugs.

Auto Respond Free will be released after testing with Pro is done. (The changes for Free have already been made.)

Monday, July 1, 2013

Auto Respond Progress

I'm finding out that doing things properly isn't always easy...

I've got the "Do not respond" (DNR) lists per schedule working, so I'm working on "Custom Response" lists. As with the initial building of this feature, it's not easy. But I also just realized something else that I neglected to do with the DNR list... I have to erase all of these settings when you delete a schedule! Otherwise, they may be wrongfully applied to a newly created schedule. I'm fairly sure nobody has actually downloaded my beta yet, so nobody should be affected by this little misstep.

On the other hand, Google has made app data backup and restore REALLY easy... as long as you use SharedPreferences... which I do!

So I've implemented app data backup/restore in both versions of Auto Respond. No, there is not a release version yet with these changes. I haven't even actually released a beta version with these changes... I'm hoping to do that in a couple days when the custom responses per schedule are finished.

Also, I've found and fixed A LOT of bugs. Many of which were hidden in the Dock menu, some in the Promote menu, and a rare crash bug when responding to phone calls.

Bottom line - with any luck there will be an updated Auto Respond in a few days, with some new features for pro users, backup for everyone, and fixes for everyone!