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

Monday, December 31, 2012

Auto Respond 1.2.7.1 - ICS crash fix

Sorry guys, there was a function that I thought was introduced in 4.0, and apparently it was introduced in 4.1.... long story short, if you're running Android 4.0.x then Auto Respond 1.2.7 may crash on opening. (Android 2.x should be fine, 4.1.x and 4.2.x should also be fine)

1.2.7.1 fixes this, I accurately changed the cutoff for that function's usage from 4.0 to 4.1.

1.2.7.1 was JUST published, so it may be a while before it is live. If you haven't updated to 1.2.7 yet, you may want to wait until 1.2.7.1 is live on Google's servers. Sorry for the mixup :-\

Auto Respond 1.2.7

Auto Respond 1.2.7 has been published, and should be available right now on the Play Store. The only difference is the tutorial.

Let me know what you think about the tutorial, and if there is anything that needs to be changed/fixed. (I saw a few small issues, but the things I noticed were small aesthetic issues, not performance issues)

Auto Respond Tutorial

The last couple days I have been working on a tutorial for Auto Respond. This tutorial will display the first time Auto Respond is opened, then will not show again. It is an overlay on top of the main screen.

There is also a new option in the settings menu to force the tutorial to show again. But even when that is turned on the tutorial will show once, then it will not show again unless you again enter the settings and turn on that option.

I have tested the tutorial on Android 4.2 and 2.3, and it seems to work well on both.  The only thing I have not done yet is built it into the free version, which includes ads. I may have to find a way to wait until after the tutorial ends to load the ads. This may be easy, I just haven't tried yet.

Here is a screenshot of the first part of the tutorial:


As you can see here, the tutorial disables the entire interface, except the OK button at the bottom, and highlights the specific piece that it is referring to. This shows the user EXACTLY how and where to interact with the app, and how the app works.

I hope to release this update later today. The sooner the better, because it will help new users understand how to use the app.

Wednesday, December 26, 2012

Auto Respond 1.2.6 and beyond

I just published Auto Respond 1.2.6.

Not a whole lot of changes in this version, but I think they are important changes:
  • Finished standardizing the look and feel throughout the app
    • Settings screens now have "OK" and/or "Cancel" buttons in them
Also, I went out and got myself a Nexus 10 on Christmas eve (for those of you who are wondering,  I found it at Walmart. Same prices as on the Play Store.)

I know it's not really an app for tablets, but I have confirmed that Auto Respond DOES open properly, turns on properly, etc. on a tablet. I know there are apps out there that allow you to send and receive SMS messages on a tablet (such as DeskSMS) but I have not yet tested it with such apps. I'm not sure if the app actually PERFORMS properly on a tablet with such apps, but I have confirmed that it at least opens and it looks OK on a tablet. (No FC's or glaring bugs that I found. The new settings look caused some FC's on the tablet, but I fixed them.)

I do plan on making sure that it is compatible with apps such as DeskSMS at some point, and giving it a tablet UI, but I'm not sure exactly when that will happen. (I'm sure not too many people will be using this app with a tablet, so it's not on the top of my to-do list... unless some of you let me know that you will actually use that functionality.)

As I've said before - this is my first Android App, so I'm kind of learning as I go. With the tablet implementation it will be another learning experience.



I did get a request over the weekend, so I will be thinking about how to implement that. The request is the ability to send a specific response to specific contacts, or contacts that follow a certain pattern. (In the case of the individual request, anything that contains @theRequestedDomain.com) I have received similar requests in the past, so this is something I am going to make a priority.

I'm not exactly sure how to implement this, or how to properly test it, but I have some ideas to get me started.



As usual, I just published this release. It may be an hour or 2 before it's live on Google's servers. And if you find any bugs or feature requests, let me know.

Lastly, I hope everyone had a safe and enjoyable holiday, no matter what you celebrate. I hope you all got the gifts you were hoping for, and I wish you all the best in the upcoming new year!

Saturday, December 22, 2012

More Polishing

I just spent a few minutes polishing up my layouts.

  1. layouts which have a list view in them (such as the "Preset Messages" screen) previously have no separator between the list view and the button(s) at the bottom of the screen (On Android 4.0+, no separator is needed on 2.x). This was because the way that I had it set up, that separator would end up on top of one of the list items if the list was long enough. I found a way to fix that, so now ALL buttons on the bottom of the screen have separators.
  2. I found an easy way to add Cancel and OK buttons to my settings screens. Unfortunately, this is not a simple add the buttons to the view and I'm done. I need to now go through all of the settings screens and make the cancel button return the settings to their previous values. This is not hard, it is just time consuming. (And considering I don't have a whole lot of time to program this weekend, it won't be done immediately... likely early to mid next week.)
  3. I added a Cancel button to the bottom of both the Credits and the Help screens.
  4. I added a separator above the buttons on the purchase dialog, when clicking on "New Schedule" in the free version of the app. (Again on Android 4.0+)
  5. The "Do Not Respond" contact picker screen looks exactly like the "Preset Messages" screen. The Sort button is not enabled right now, as I have not worked on sorting the list of contacts yet. I'll probably work on that early next week as well. (Unfortunately, sorting is not my strong point. But now that I have schedules sorting properly, I should be able to reuse the same code, with some minor changes, for the contact list.)
I think that's about it. I'm pretty sure that all of the changes I've made so far are purely aesthetic, so I won't be releasing an update today. When I finish the functionality of the buttons at the bottom of the settings screens, I will release the update which includes all of the above mentioned enhancements. 

Once this update is released, navigation throughout the app will be VERY consistent. At the bottom of each screen will be a Cancel and/or OK button, which will take you back to a previous screen, and any actions above those buttons will take you forward to a new screen.

The only screen which will not have such buttons is the main screen, with the tabbed view. This is for 2 reasons:
  1. The scheduler screen is already cramped, and adding more buttons will only make it worse
  2. This means that the user has to hit the Back or Home button on their phone to exit the app.This is consistent with the Android design guidelines, and I think is more intuitive for the user.

Friday, December 21, 2012

Do Not Respond Window (And happy holidays)

I realized the other day that there was yet another neglected window when I did my redesign... the "Do Not Respond" window.

Part of the reason why I forgot it is because it's buried in the settings, and I cannot apply quite the same design to the settings window (or at least not easily... maybe I'll look into that as a possibility.)

So I just spent a few minutes reworking that window as well. It was a quick and painless transition, but it isn't really enough of a change to need a new release (especially since I just put out an update this morning) so I'm going to sit on it for a while, and it will be included in my next release.

Since I just mentioned it (and literally just thought of it as I was writing it) I will look into the possibility of adding a cancel and OK button to the bottom of the settings screens, to keep that constant with the rest of the app, but I'm not sure if that's easily done. I may have to literally rewrite ALL of the code for those screens in order to make that possible, instead of just rewriting the layout and a small bit of logical code. If that's the case, it will not be done. But if there is a way for me to easily add buttons to a settings screen, I'm sure I'll find it.

Until next update, let me know if there are any feature requests or lingering bugs. Otherwise, you probably won't hear from me for a week or so. I have family in town this weekend, and will likely be spending the next few days with them instead of my computer.

Happy holidays everyone! I hope you all get all of the presents that you asked for and, as always, stay safe!

Auto Respond 1.2.5

I just published an update to Auto Respond. Not much in the way of changes, but I may have potentially finally killed a big bug.

People have been emailing me, saying that sometimes my app doesn't send a response. Some people have sent crash reports when it has happened, all of the crash reports pointed to a "null pointer exception", but I couldn't figure out where exactly it was happening. (Even with all of the information provided in the error reports.)

Today I was going through my code, block by block, and commenting it thoroughly, in case there comes a time when I put this away for a while and return to it months later. While I was doing this, I finally realized where this error is possibly being generated. (And possibly fixed some other errors in the process.)

That being said, here's the change log:


  • More work towards supporting multiple languages
  • Some small bug fixes
    • Hopefully a fix for the people who have had occasional issues with it not sending a response (I've been looking to squish this bug for a while now!)
    • Small logic changes to fix things that you probably didn't notice
I usually do this occasionally with all of my programs... go through them line by line, or block by block, and see what I have overlooked. Usually I do find something small that can be changed or improved somehow. This time I potentially found, and fixed, a big bug.

If you DO run into an issue where the app doesn't seem to be sending responses correctly (or any other bugs for that matter,) please let me know via email, Google+, Twitter, whatever.


As usual, I JUST published this update, so it may be a couple hours before it's live on the Play Store.

Thursday, December 20, 2012

New Ad

I'm trying to get my app noticed, and am going to use AdMob to do it. I've created a banner ad, and would like your feedback.

If you saw this ad, would it catch your attention? Would you be inclined to click on it?


Wednesday, December 19, 2012

Google Analytics

Yesterday I started playing around with Google Analytics, and figuring out how to build it into Auto Respond.

The versions that are out now do not include Google Analytics in any manner, but I am looking into possibly building it into future versions. That would mean that the paid app would once again need internet permission in order to send the data back to Google, but this would be the ONLY information sent and there would be no personal information transmitted.

For those who aren't aware, Google Analytics helps developers understand how users are interacting with their products. It will tell me how many times specific screens are viewed, how many active users I have, and potentially which buttons and other elements are interacted with most often.

This information can help me understand how you, as users, interact with my app. It can tell me which things you use often, which things you never really use, whether you tend to click buttons more than list views, and possibly even what settings are used most often.

I'm not sure of the exact information I can get, as I have just started playing with it, but rest assured that I will NOT be able to see that John Smith opened the app x times, or click this button, or has these settings set. I simply get a report for ALL of my users and cannot tell the difference between interactions from one user to the other. (I do not need, or care about, statistics on a per user basis in order to get useful information.)

I can then use this information to improve the parts of the app that are used most often. If people tend to use the scheduler a lot, I can spend some extra time with new features to give you more of what you want. Or if people use the preset messages a lot, maybe I can add more information to the list view, or create new sorting options, etc.

Or, on the other hand, if people tend to not click on my list views, I can make it more obvious to the user that clicking on the object will cause some action.

Overall I'm very excited to see what I can do with this tool! And once it's set up I think it can greatly help me improve interactions in my app. The ONLY downfall is that the paid version will require permission to access the internet, which I think is a small price to pay for an improved app.



Let me know your thoughts, and if you have any experience with Google Analytics, feel free to let me know how it worked out for you!


TL;DR - Google Analytics will potentially help me understand how my users use my app, and help me improve the user experience.

Tuesday, December 18, 2012

Auto Respond 1.2.4.3

I just released a new Auto Respond, this is only for paid users. The only difference is a new sorting option for schedules.

Unfortunately, I was in the middle of working on this when I released 1.2.4.2, and included the incomplete code in that version, so I decided to finish this ASAP as to minimize problems. There will be even more sorting options in the future.

If you are using the paid version of 1.2.4.2 DO NOT sort your schedules until you update to 1.2.4.3. If you do sort them prior to updating you'll likely end up with duplicate schedules, or missing schedules, and you'll end up needing to delete them all and recreate them.

The new version was just published, and should be publicly available in an hour or 2.

Monday, December 17, 2012

Auto Respond 1.2.4

I just pushed an update to Auto Respond.

Here's the changelog:


1.2.4.1:

(Paid)

  • Fixed an issue with the "Preset Messages" button in scheduler

1.2.4:

  • Changed how/when feedback window is displayed

(Free)

  • Interstitial ad should be less delayed when undocking
I realized after releasing 1.2.4 that the issue with the "Preset Messages" button in the paid version was still not fixed. So I looked at it again, fixed it for real, and released another update.

So if you are using the paid version, you should be looking for 1.2.4.1
if you're using the free version, 1.2.4 is the latest.

These probably aren't yet through Google's servers yet, but they have been published and should be available shortly.

Auto Respond - Paid Features vs. Free Features

For those who are wondering how I'm distinguishing paid features from free features, I've come to the decision that anything that allows you to bypass seeing the ads will be a paid feature.

The whole point of a free version is to attempt to generate revenue from users clicking ads,  and to give the user a free "trial" of the app. But if you never see the ads, there is no chance of generating revenue. (I use "trial" for lack of a better word. But the free app is obviously fully functional, and without an expiration date. The paid app just has more features.)

This means that the following features will be paid only if/when they are completed:
  • Widgets
  • Timer
  • 4.2+ lock screen widgets
  • 4.2+ Quick Settings toggle (As stated before, not sure if this is even possible, but if it is, it will be paid only)
  • Any other new features that I come up with that bypass opening the app's main screen
I will continue to improve the free version as well (as I have all along - I do have some improvement ideas that will apply to both) but the above features will not be available in the free app.

Although the ability to turn on Auto Respond via docking the phone DOES give the user the ability to bypass the ads, I'm going to leave it available for 2 reasons:
  • I don't want to charge for a feature that once existed for free
    • other developers have done that in apps that I've used in the past and it soured me as a user, so I don't want to do that to my users
  • It can be seen as a safety feature, so I want that to be available to all of my users.
    • Turning the app on when in a car dock can be seen as lessening distractions while driving, so I see it as a safety feature. I feel that everyone should have access to safety features for no extra charge.
To get the best of both worlds (allow users to use the dock feature, but also have them see an ad) I have added what is called an "interstitial" ad when you undock your phone. This will pop-up a full-page ad when you undock. It will only show up if Auto Respond is being turned off while undocking. This means that if you are not using the dock function, it will not randomly pop-up ads on you while removing your phone from a dock. (Of course, this ad only appears in the free app, not the paid app.)

This ad has been in the app for a couple versions now, so if you are using the dock feature, you should be seeing an ad when undocking.

I hope you agree with this decision, as it's the best solution I could find that satisfies you as a user and me as a developer. If you have comments or questions, don't be afraid to express them.

Wednesday, December 12, 2012

Auto Respond 1.2.3

I just pushed another update (lots of updates these last couple days!)

Change log is small, especially for free users:
  • Fixed an issue with the toggle button displaying incorrectly (sorry, old code that never got changed)
(Paid Only)
  • Added ability to start and stop schedules on demand
Here's the new schedule screen:


This functionality came to me yesterday. My Monday meeting was moved, because my boss was out of the office for the day, so the meeting was Tuesday instead. It would have been nice to be able to click that button to start and stop the schedule at abnormal times. I started working on this last night, when I got home from work, and finished it up early this morning.

This layout was a pain to figure out a good way to display all of the information as well as the buttons, but I think this is good way to do it. Each individual row is a bit taller because of the buttons, but I feel that it was a necessary side effect. (Plus it gave me a new way to organize the text more effectively.) 

As usual, if you have input on how it can be improved feel free to talk to me. I'm always open to feedback.

This update was just recently published, so it may be a while before it's live on Google's servers.

Tuesday, December 11, 2012

Auto Respond 1.2.2

I finished the new look, including the "Preset Messages" window. Version 1.2.1 included the new look, but had some issues with deleting/editing messages so I pushed 1.2.2 to fix those issues.

Here's that screen now:



1.2.2 should be live in the play store right now (I pushed it a while ago, and it appears to have gone through Google's servers at this point.)

The Play Store listing for the free version may not immediately include the new screenshot of this screen, I apparently forgot to add that to the Play Store entry for the free version on my original push. But that screenshot will be up-to-date in a couple hours, and the app itself is up-to-date now. 

So even if you've already updated a few times today, go check the Play Store to see if there is another update (I've pushed at least 3 different versions today.) If you haven't updated yet today, there's definitely a new look waiting for you.

Auto Respond 1.2

I just released a new update to Auto Respond with a HUGE overhaul to the look and feel of the app, especially for people using Android 4.0+.

Here's the change log:


  • Made some initial changes to help support multiple languages (days, months, and times should all support multiple languages now)
  • Lots of changes to look and feel of the app
    • Fully implemented Holo theme for Android 4.0+
    • Standardized windows throughout the app, as well as according to Android standards
    • Location of "OK" and "Cancel" buttons now follow Android guidelines (If you're using Android 4.0+, that means they have switched sides, if you're using Android 2.x, they're the same as before)
  • Added more information to the email sent when clicking "needs improvement" on the feedback screen

Paid Only - (wasn't an issue in free version)

  • Fixed some small issues with time display, if using 24-hour clock (some times were still showing in 12-hour style)
I hope you guys LOVE this new look! I know I do! (And I spent a ton of time perfecting it last night!) Here's a preview - the main screen on Android 4.2:


The big differences here are that the "Preset Messages" button is now the width of the screen, and it is Holo themed. Plus, the former toggle checkbox is now also a Holo themed button, with a colored icon indicating its current state. When enabled this icon will be the green icon, or if you are using the purple icon it will be purple when enabled.
In android 2.x these will appear as gray buttons, but the icon is still present on the toggle button.

As usual, it will be a couple hours before this is live on Google's servers. And if you find any issues, let me know

EDIT: I am noticing that the "Preset Messages" window is the only one that seems to not follow the standards set by the rest of the app, so I'm going to work on that. That particular window will be a little hard than others, because of the way I currently have it working, but I should be able to get it done tonight.

I plan on putting "New Message" and "Sort" buttons at the top, taking the sort option out of the overflow menu like in the scheduler window, and putting a "Cancel" button at the bottom. This will ensure that navigation between screens is consistent throughout the app.

Thursday, December 6, 2012

Auto Respond 1.1.2

Of course, after publishing this morning that there are no known bugs in my app I get 2 crash reports. (Not complaining about the crash reports... thanks for those... just noting my bad timing on that announcement.)

I'm not 100% sure if the crashes are fully fixed, as I can't seem to recreate it myself, but it should display an error message instead of crashing now. If you were experiencing crashes, you may see one of the following toast notifications:

"<app name> - Error getting contact info"
or
"<app name> - Error sending response"

Where <app name> will be either "Auto Respond" or "Auto Respond Free", depending on which version you are using. If you see either of these messages, it means that your response did not send correctly.

The changes to the Credits screen were included in this update, as well as the update to the non-repeating schedules for paid users.

I just posted 1.1.2 a little bit ago, so it may not be in the Play Store for another hour or so.

Next Version of Auto Respond - News and Poll

I've kinda taken a self-imposed break from programming for a while. I do this every once in a while, usually after I complete something big (in this case, the scheduler.)

I do this just as a small personal break. I'm not a programmer by trade, it's something I do in my free time, so occasionally I take a break from programming to do other things.

I do have a small update that I can put out. A small improvement on how non-repeating schedules work for paid users, and a small tweak to the Credits screen for everyone. (Don't get too excited!) Not sure when I'm going to put that out. I may wait until I have accomplished a bit more, or I may just release it as a small update. (It may be a small change, but for paid users it is a VERY useful change if you use non-repeating schedules.)

The version that is out now is VERY polished, and has no bugs that I'm aware of, so I may just let it be for a while. I know that as a user it can be very frustrating dealing with bugs, no matter how small they are.

Let me know what you think. Should I release the new version with the small changes, or should I wait until I have something more substantial?

Also, what should I work on next?

  1. I worked on a widget for a while, and I think I know where I went wrong with it, so I may continue work on that. (This will be a paid only feature.)
  2. A timer, which would be similar to the scheduler. It would pop-up when manually turning on Auto Respond, and ask if you want to set a timer for it to turn off. (Or if you have a better idea for how to trigger it, let me know.) (This will likely be a paid only feature)
  3. More sorting options for the list of messages, schedules, and the do not respond list.
  4. New ways to add contacts to the do no respond list, including a text list (list of names) and a phone-number list.
  5. I know that not many people have 4.2 yet (I just installed it on my Galaxy Nexus a couple days ago) and I don't know if this is even possible, but I'd like to look into seeing if I can add a toggle to the new quick settings area in 4.2. If it IS possible, it may require root. But I'll look into if it's possible and, if so, how to go about it. (This would be a paid only feature if it's possible.)
  6. Other - submit an idea of something you would like to see added, fixed, or otherwise changed. (As far as I know there are no bugs that need to be fixed, but if there is please let me know.)
    1. This can include changes to the layout, the look and feel of the app, the interface, a new feature... anything that you think needs work. I welcome constructive criticism, so don't be afraid to speak up if something bothers you. It may be something I never thought about. (or something that I already want to improve, but I don't know the best way to go about it.)
I likely won't work on any of this until next week sometime (Or possibly a tiny bit this weekend) so don't expect any of this too soon. But I would like to know what you guys want to see in the next version.

UPDATE: I just got a crash report from a user, and think I've fixed the issue. It was a very rare case that would cause the bug, but it is now fixed. I will be pushing this update soon.