THIS BLOG HAS MOVED!It can be found at the new website: http://fifteen15studios.com/blog/
Monday, December 31, 2012
220.127.116.11 fixes this, I accurately changed the cutoff for that function's usage from 4.0 to 4.1.
18.104.22.168 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 22.214.171.124 is live on Google's servers. Sorry for the mixup :-\
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)
Wednesday, December 26, 2012
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
Saturday, December 22, 2012
- 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.
- 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.)
- I added a Cancel button to the bottom of both the Credits and the Help screens.
- 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+)
- 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.)
- The scheduler screen is already cramped, and adding more buttons will only make it worse
- 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
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!
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
Thursday, December 20, 2012
Wednesday, December 19, 2012
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
Unfortunately, I was in the middle of working on this when I released 126.96.36.199, 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 188.8.131.52 DO NOT sort your schedules until you update to 184.108.40.206. 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
Here's the changelog:
- Fixed an issue with the "Preset Messages" button in scheduler
- Changed how/when feedback window is displayed
- Interstitial ad should be less delayed when undocking
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:
- 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 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.
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
Change log is small, especially for free users:
- Fixed an issue with the toggle button displaying incorrectly (sorry, old code that never got changed)
- Added ability to start and stop schedules on demand
Tuesday, December 11, 2012
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)
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
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"
"<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.
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?
- 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.)
- 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)
- More sorting options for the list of messages, schedules, and the do not respond list.
- New ways to add contacts to the do no respond list, including a text list (list of names) and a phone-number list.
- 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.)
- 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.)
- 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.)
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.
Friday, November 30, 2012
Here's the changes:
- Fixed bug with starting Dock Listener after app crash or update
- Fixed bug with editing message text on pre 4.0 devices
- Fixed bug with changing ringer preferneces while Auto Respond is not active
- Fixed bug with changing ringer preferneces on pre Android 4.0 devices
- Added ability to sort messages by title
- Added ability to set a specific message when device is docked - in Dock Settings
- Improved swiping between tabs
- Returned icon to green and blue (can still have purple icon for notification - in settings)
- Fixed some small bugs in the scheduler
- Fixed bug with rescheduling schedules after app crash or update
- Added ability to sort schedules by title (more sorting options to come)
- Added more descriptive text in Schedule creater/editer
- Added "Repeat" option for scheduler
I have a rather large update that is going to be pushed out tonight or tomorrow. Part of that update will return the icon back to its original colors, but the rest of it is bug fixes, new features, and better performance.
To see what's new, check out the changelog: http://bit.ly/Rmi6Wf
for 99 cents you can have the new scheduler (which is going to be even more enhanced with tomorrow's update) and you can support a great cause!
Download it here: https://play.google.com/store/apps/details?id=com.havens1515.autorespond
Also, today at noon my last Epilepsy Fact of the Day will be posting to Facebook, Twitter, and Google+. Then tonight at 6, the entire list of facts will be posted as a word document which is available for download. I encourage you all to go download that document and educate yourselves on the reality of epilepsy.
Wednesday, November 28, 2012
Well, I've found a new way to read in gestures, and it's MUCH more responsive than what I was using before. It took me a bit to understand it, and implement it correctly, but it works well now. Suddenly, swiping between tabs works like a dream!
I've also made some other small changes to some text in the scheduler. I added some more descriptive text, to make using it a little more intuitive.
At the beginning of December, I will be posting an update which returns the icon to the former green and blue icon, instead of the purple for Epilepsy Awareness month. There will be an option to use the purple icon for your notifications, if you have decided that you enjoy the purple icon. However, there is no way that I can have an option to change the app drawer icon. (I looked into it, there is no way to do it. It has to be hard-coded into the app.)
When I release this update, it will include these minor changes (the swiping and the text changes) as well, and whatever other changes I conjure up over the next few days.
As always, if you have suggestions or find any bugs, let me know!
Tuesday, November 27, 2012
The only difference is that it now handles responses over 160 characters, and it has a character counter under the text input on the main window to show you how many characters you have left. If you go over 160, it will display something like "142/2" showing that you are on your 2nd set of 160 characters, and that you have 142 characters left before going over another 160.
For most modern phones these messages will be received as 1 piece. But for users with older phones, or non-smart phones, they will be received as multiple messages, each containing 160 characters or less.
As usual, this update has been published, but may not be live on Google's severs for a an hour or more.
If anyone runs into another issue such as this, please let me know so that I can correct it.
He just got back to me, saying that he shortened his message and now it works fine. This leads me to believe that in its current state, Auto Respond may have issues sending long response messages. Usually the limit for each SMS message is 160 characters, so I'm assuming he went above this limit.
I will be looking into this issue, testing and finding the actual limit that causes the issue, and then finding a way to work around this limit. I may have to break the messages up into smaller blocks and send multiple messages, or there may be a way for me to send it that allows for a larger character limit. (I know that above 480 characters, sending as an MMS is usually recommended.)
Once I figure out what this limit is for sure, I may put a character counter under the message telling the user how many characters remain before entering unsafe territory.
Bottom line - I will be working on fixing this, and will hopefully release an update within a couple days to address this issue. I just wanted all of you to be aware that there IS a limit, and if your responses are not being sent correctly you may need to temporarily shorten your response message.
Monday, November 26, 2012
- Fixed some lingering bugs
- Updated "Help" and "Do Not Respond List Description" screens
- User can now swipe left and right to change between tabs on main screen (This is kinda laggy, so it may be improved upon later)
- removed some incomplete settings from the menu (They were deactivated so you couldn't use them anyways)
- removed "OK" and "Cancel" buttons from main page. Back button saves and exits.
- Added scheduler
- WAKE_LOCK permission needed for scheduler
- Moved ad locations
Saturday, November 24, 2012
Late last night and today I've been doing a lot of testing of the scheduler.
As expected, there were a lot of bugs in the initial version, but I fixed a TON of them last night, and some more this morning.
As far as I can tell, everything seems to be working flawlessly on Android 4.1.2. I haven't tested other OS versions yet, but over the next couple days I will start testing on 2.3.
As of now, I expect to release the new version on Monday or Tuesday.
Friday, November 23, 2012
It's done! The scheduler is done!
I spent almost all day today working on understanding how the alarms are scheduled, as well as how they are triggered, and how to deal with time zone offsets. It took me hours just to understand the flow of control with alarms. But after many hours, and a drawing of program flow, it seems to be working very well.
I've only tested a schedule that occurs every day, not yet testing whether the day of week selections or month selections work properly. I have built in checks for those things, but they aren't yet verified to be working properly. I will test both of those things throughout the week across multiple OS versions.
I have already set up 1 schedule that I will be using on a weekly basis, and I will find out Monday morning if that is triggered properly.
As stated in my last post, I expect to have this fully tested and released before the end of next week. With any luck, it'll be early to mid next week. :-)
Thursday, November 22, 2012
All of that being said, I got the checkbox on the schedules working. It took me almost an entire work day to do it, but I did it. Schedules can now be activated/deactivated from the checkbox on the list of schedules, OR from within the edit screen for each individual schedule.
While doing this, I also found and fixed some bugs in the editing/deleting process for the schedules (luckily I found them before releasing the scheduler as a feature.)
All that is left now is creating the alarm activity to trigger the start and end of the schedule, then acting on that alarm to actually enable/disable Auto Respond.
I don't like giving an actual ETA, but I'm hoping to have the scheduler done by the end of this weekend. I probably won't do any programming today, but I might get some done tomorrow, and I'll likely spend some time on it on Saturday and possibly Sunday as well.
That being said, if it's completed by the end of the weekend, I'll probably test it during the week, and hopefully release it near the end of the week (assuming I don't run into many bugs.)
As I've stated before, this will be a PAID ONLY feature. If you click on "New Schedule" in the free version, it will prompt you to purchase the paid version.
REMINDER: If you purchase the paid version before the end of the month, all proceeds go to the Epilepsy Foundation for Epilepsy Awareness Month! I haven't gotten many purchases this month, but I have gotten a few. I would be very grateful (and so would the Foundation) if some of you made a purchase before the end of the month.
If you do purchase after the end of the month, and would still like your purchase to be donated, email me and I will make the donation.
Side note: It would be nice to see some ratings and feedback in the Play Store too! ;-)
For those of you who celebrate Thanksgiving today, I wish you all a happy and SAFE holiday! Please be careful while travelling, and use caution when cooking for yourselves, your families, and/or your guests.
Tuesday, November 20, 2012
It may sound like a minor victory to you as a reader, but it took a LOT of work to get this working properly. (Mostly because I couldn't figure out why I wasn't able to click/long-click the schedule list. Once I figured out what was going on there, it wasn't too bad.)
Things that still need work:
- The checkbox on the list of schedules currently does nothing
- Eventually it will activate/deactivate individual schedules
- The schedules themselves still do nothing
- When the schedules are activated/deactivated I need to set an "alarm" which is acted upon
- When the "alarm" is triggered, I need to enable/disable auto respond and change the current message
Sunday, November 18, 2012
- Fixed an issue that may make it impossible to edit the title of a message in the "Preset Messages" list
- Fixed an issue with deleting preset messages
- Changed layout of "Preset Messages" list
Saturday, November 17, 2012
I still have to work on editing and deleting the schedules once they are created, and actually scheduling an action once the day/time of the start and end of the schedule occur, but I did actually make a lot of progress. I also made a lot of changes to what the schedule list looks like (not that you guys know what it looked like before, but I spent a LOT of time perfecting it.)
Here's what it looks like right now:
Those are all dummy schedules, setup to show a variety of different possible configurations for the schedule (and a variety of different use cases.)
The End Goal:
Each of those schedules has a message specific to the schedule, which is set at the creation of each individual schedule. Therefore, you can set the meeting message to say "I'm in a meeting, I'll be out at 9." and you can set the class message to say "Busy learning math, I'll be available around noon." As stated above, I will be working on the ability to edit these messages, and the rest of the detail of each schedule. Editing and deleting will be available upon long-pressing the schedule, just like how the list of preset messages works. (At least, that's the plan as of now.)
When the schedules trigger, they will set the current message and turn on Auto Respond. When the scheduled event ends, it will return Auto Respond to its previous on/off state, and return your message to whatever it was before the beginning of the scheduled event. (This behavior may end up becoming an option - whether you would prefer it to return to the previous state at the end of a scheduled event, or turn off at the end of the scheduled event regardless of the previous state.)
Unfortunately, none of that actually happens yet. What you see here is basically what is working, and nothing more. It displays, it doesn't actually work yet.
I will continue to work on getting this working whenever I have free time. I have decided that this WILL be a paid-only feature. If you want the scheduler ability, you will have to pay $.99 for the paid app.
Friday, November 16, 2012
- Fixed a bug which caused 4-point hands statistics to not save after being cleared
- Fixed a small layout misalignment (Small enough that most of you probably wouldn't notice, but I did)
- Possibly fixed an issue which caused the program to think an update is available if no internet connection is available. (I will test that at work today, to make sure it is working properly.)
get it here: bit.ly/GUIEuchre
If you find any more bugs, let me know. Other than that, I should be working on improving the AI of the computer players soon.
Thursday, November 15, 2012
Again, I am going to ask people to PLEASE report any bugs you may find. If you don't report them, I may not know that they exist. If you send me an email about a bug, at least then I know it exists and can look into fixing it ASAP. So far, all of the bugs I have fixed are things that I have found myself.
Also, if you have any feature requests, let me know. I can add them to my to-do list.
I know it has been a while since I've done anything new... It has been a busy month. I started doing some more coding this week, and I've found and fixed a few bugs. (Why does nobody tell me about these?? If you find bugs PLEASE send me an email so that I can fix it!)
Here's some stuff I've been working on:
1) A pretty big bug fix - I noticed that Auto Respond would sometimes toggle itself off. I was wondering why... what is causing this. It seemed kind of random, but I finally figured it out. It was something in the Dock Settings Menu. I figured out what was causing the problem, and it has been fixed. (It may not have been an issue if the dock options were not enabled. I'm also no 100% sure that this bug affected the free version.)
2) I fixed a small bug on the schedule tab, which cause 12pm to be shown as 0pm when using 12-hour clock.
2a) While on the subject of the scheduler, the changes made in the SDK have set me WAY back in the development of the scheduler. They depreciated some of the code I was using, and I need to figure out how to use the new methods.
3) I've made settings on 4.0+ devices take effect immediately. I'm not sure if the same is true for Pre-4.0 devices. (I know I tried it once, but it didn't work quite as well as I had hoped.)
4) Google just released a new SDK, so I'm going to look at the new options in the SDK and the "support" API to see if there is a way for me to unify the menu across Android versions again.
5) I don't think anything needs to be changed for the app to support Android 4.2, but I will be looking into that as well. (Especially once some 4.2 ROMs are released for the Galaxy Nexus, and I can test on an actual device.) I would actually like to look into the possibility of adding something into the "quick settings" area of 4.2. Not sure if apps have the ability to add toggles to that list, but it would be cool if I could make that a reality.
These changes are still a work in progress, and are not fully tested as of now. I will likely be fully testing them, across multiple Android versions, in a couple days. Once they are fully tested, and confirmed working properly, I will release an update.
As always, the app is available on the play store:
Both versions are still purple for epilepsy awareness month, and all purchases of the paid version still go to the Epilepsy Foundation.
I have some changes that will be made in my Euchre game as well. I've found a few small issues (listed in the known issues document on the download page) and I plan on fixing those later this week. Not too many people actively use that program, so it's a little lower on my to-do list. The issues that are present are not pressing issues either. They do not greatly effect the usability of the program, they're just small things that annoy me when I play.
I want to take some extra time to re-do the AI in the game as well. Since I programmed it, I find it a little too predictable. There are also times when I think the computer players call trump too often, or they take risks that are not necessary to take, and other times they are quite risky enough. I want to add some more random events into their logic, making the players a little less predictable, but also try to make them play smarter. Some of my logic is built on too specific triggers, and I want to work on that.
Having never taken a class or read anything about AI design, I am learning as I go. It's kinda tough to teach yourself a concept like AI design, but I think I'm doing pretty well with it. I would like to eventually be able to build in selectable play styles, or difficulty settings, but that's kinda tough to do in a game like euchre. I'd first need to learn different play styles, then perfect them, then program them.
if you want to check out the Euchre game (as it is now) you can get it here: bit.ly/GUIEuchre
Friday, November 2, 2012
I have decided to turn Auto Respond purple for the month. My icons and my Play Store banner have been turned purple instead of their normal blue and green.
On top of changing the color, ALL money that is made from the sale of the paid version of Auto Respond during November will be donated equally between the National Epilepsy foundation (http://www.epilepsyfoundation.org/) and my local branch of the Epilepsy Foundation. (http://www.epilepsyuny.org/) My local branch has done WAY too much for me, my family, and my friends to not include them specifically.
70% of all sales in the Play Store go to me, the rest goes to cell carriers. ALL of that 70% will go from my bank account, to the Epilepsy Foundation at the end of the month. I will not keep 1 cent of the sales that I make this month.
Unfortunately, I do not know if there is a way to get 100% of your purchase to charity, but my 70% can still make a difference!
If you would like to donate, separate from your purchase, you can do so here:
Donations from the "Donate" link in my app can also be sent to the Epilepsy Foundation. Just include a note when you donate that you would like that donation to go to the Epilepsy Foundation. (The money will initially go to me, but I WILL make sure it gets to the foundation at the end of the month!)
Tuesday, October 30, 2012
0.10.1 has been published to the market but, as usual, it will take an hour or so for Google's servers to push it out.
• The Android SDK changed to make it a lot harder to have the menu setup the way I did, so I had to put everything into categories
• Added a couple new options: notifications are totally optional now, with an additional option for it to be permanent, and there is now an option for vibrate as well as silent
• Added more info into the JB style notifications
• Fixed a few small bugs
• Added "Cancel" to the long-press menu for the list of messages
Full Changelog here: http://bit.ly/Rmi6Wf
The new version should be live in the Play Store as soon as the Google servers are updated (an hour or so usually.)
Wednesday, October 24, 2012
I also made separate options of "Show Notifications" and "Permanent Notification". If only "Show Notifications" is on, you will see a notification every time a response is sent and the notification will be able to be cleared. If both "Show" and "Permanent" are on, there will be a permanent notification, as it works now. If neither are on, the app will not display a notification at all.
I may throw them into a new sub-category of settings, and I will likely keep building on the current options. (Especially for Android 4.1+ users.) If you have any ideas, suggestions, etc. feel free to let them be heard!
These notification enhancements have not been released yet, but I will let you all know when they are!
Also, I've been working with ad displays in the free version. I may have overlooked something stupid, and there may not have been an issue in the first place. I am still working with Tap for Tap on some other lingering issues, but I'm not sure if there were any issue with ads displaying properly or not. If anyone has any feedback as to whether or not you are seeing ads in the free version, it would be appreciated. (If you're not now, I've confirmed that they will be displaying correctly in future versions.)
Tuesday, October 23, 2012
Notifications pre-JB should be working again. And for users who are actually using JB, you should have a little extra info in your notifications. (Your current response message and the number of responses sent. I'll build on it later.)
For those of you pre-JB (or at least pre-ICS) ads are still not working in the free version. Lucky you. I have been in constant contact with Tap for Tap trying to get numerous issues worked out in the past 24-hours, so hopefully (for me, not hopefully for you) you will be seeing ads soon.
I've been doing a lot of thinking, and I think that the scheduler may end up becoming a paid only feature. It's a lot of work, and I need to give people incentive to buy the paid app, especially since ads aren't even working right now.
New versions have been posted for both the free AND paid versions. It may take a while for the updates to get through Google's servers though.
Oh, and one last thing... the new options I mention in a previous post... they're in there ;-)
(Vibrate as well as silent, and the *still untested* option to ignore calls - use at your own risk!)
Monday, October 22, 2012
Unfortunately, I did some work on notifications today too (working toward getting Jelly Bean style notifications working) and that work has made notifications stop working in some Android versions (possibly all versions prior to 4.1)
I was in a rush to fix the FC, and pushed the update, not realizing that it broke notifications. (I tested it later on my Droid 2, and that's how I realized it broke notifications.) I am extremely tired, after dealing with Tap for Tap developer support most of the day, and some craziness happening at work, so I need to go to sleep. Sorry for the issues, I will try to fix notifications tomorrow and push an update ASAP.
BTW - Only the free version is affected by this FC and notification issue. The FC wasn't present in the paid version, therefore I did not push an update for it and I did not break notifications for it.
Friday, October 19, 2012
I noticed that other day that between 12am and 1am, the hour shows as -12, and it shows as pm instead of am. That has been fixed.
I also noticed, on my phone, that my ringer kept getting set to "ring", instead of "ring and vibrate" and I finally figured out that it's my own app that's causing it. If you have the "Silence Ringer" option selected, it wasn't always properly returning the ringer to it's previous value when disabling Auto Respond. I figured out why, and fixed that as well.
Another thing that bothered me was that when I selected the "Silence Ringer" option, it turned off vibrate as well. So I kept the silence ringer option (for those of you who want it truly silenced when active) and added a sub-option to set it to "Vibrate" instead of fully silent. This has been tested, and seems to be working fully, so it will be in my next release.
I'm also working on an option to "Ignore Calls". This will be enabled when "Auto Respond to voice calls" is active. If "Ignore Calls" is active, it will ignore any call that is sent a text response. If the call does not come from a mobile phone, comes from a number that's not in your contacts, or comes from someone on the "Do Not Respond" list, it will not be sent a response and therefore will not be ignored. For this reason, the ringer options are still available even when ignoring calls is enabled. (This function is not tested yet, so if it doesn't work properly, it may not make it into the final product.)
As I was thinking about the "Do Not Respond" list, I also thought about creating a number based list. Any phone number in this list would not be responded to. I haven't even begun to implement it, I just got the idea while working on other things.
I haven't forgotten about the scheduler. I have spent a lot of time working on it, and have been thinking about the best way to implement some of the necessary aspects of it. It is by far one of the most complex features I have worked on thus far for this app, so it may take more time than expected.
This is how the "Phone Settings" menu looks now (Assuming the "Ignore Calls" function works properly)
tl;dr - some small bug fixes, new vibrate setting, testing ignore calls setting, possible DNR number list in future, still working on scheduler.
Wednesday, October 17, 2012
Update: I've got a new one that includes a screen shot. Any preferences?
Tuesday, October 16, 2012
It has been fixed, and a new version has been published. It is NOT live in the Play Store as of this update, but it should be in an hour or so. (about 4:30 Eastern time, 1:30 Pacific)
I've said before that this is my first Android project, and it is also my first major Java project. I took a class in Java in college, but it was my first ever programming class so a lot of the information presented to me in the class didn't really sink in.
I read up yesterday on static variables and static methods, and I used that to get rid of A LOT of duplicate code in my app. Streamlining this code seems to have made navigation a little smoother from one screen to the next.
While doing this, I also changed a few things. My settings menu was starting to get cluttered, and is just going to get even more cluttered as time goes on, so I separated it into multiple menus. There is now "Do Not Respond List", "Dock Options", and "Phone Options", and a couple loose end options that remain on the main settings screen.
I also implemented an option in my SMS to GPlus app to have the permanent notification be optional. I added this into Auto Respond as an option in the settings menu. (Which is actually what led to all of the code re-arranging and consolidation.) This option is on by default, but can easily be turned off.
As I was doing this, I also realized that if Auto Respond is enabled and you reboot or turn your phone off, it may not be re-enabled on boot. That is no longer the case. Also, the dock listener may not have been active on boot in previous versions. Which means that when you dock your phone, Auto Respond wouldn't automatically turn on unless you had opened the Auto Respond app after the phone turned on. That service is now started on boot, if the dock options are enabled.
And lastly, TapForTap (the new ad network that I am using in the free version) just updated their SDK and changed the way their service works. I included the new SDK in the new version of Auto Respond Free. Part of this change is that the ads from TapForTap are now single ads, instead of putting 2 apps in 1 banner sized ad. You should, however, see a mix of ads from TapForTap and ads from admob.
I noticed when I initially implemented TapForTap that the ads didn't display on devices running anything prior to Android 4.0. I'm hoping that this is fixed with the new SDK but I haven't tested it on my Droid 2, which is the only device I own which has anything prior to 4.0. (and unfortunately, the ads don't seem to show AT ALL on emulated devices. Even with 4.0 or 4.1) If it's not working properly, I guess those of you running 2.2 or 2.3.x can enjoy ad free Auto Respond for a while until I get the ads fixed.
Full change log for version 0.9:
• Start services and show notification (if enabled) on reboot
• Re-arranged settings menu
• Made permanent notification optional
• Cleaned up A LOT of unnecessary code (Seems to have improved performance as well)
(Free Version Only)
• integrated updated TapForTap SDK
Both the free and paid versions 0.9 are live in the Google Play Store right now.
Sunday, October 14, 2012
Thanks to the great people at IFTTT, I can now send my tweets to my phone, then auto forward them to G+.
The app will look for a specific username, and specific hashtag(s) in texts received from IFTTT. If the text begins with "username: " and includes the hashtag in the SMS somewhere, it will cut off the leading username and forward the SMS to Google+.
In order to do all of this, the way that I plan to use it, you will need an IFTTT account, and you will need SMS status updates turn on within Google+. To enable SMS status updates on Google+, you need a phone number from the US or India. If you are not in either of those countries, there are ways around it using Google Voice and a proxy within the US or India (Google search it if you are interested.)
This app has been inspired by a personal need for such functionality. Initially, I am going to be developing the app solely for my use. I need something to be working properly by the beginning of November, so the first version will ONLY work with my username and the specific hashtag that I need to be forwarded to Google+.
If people show interest in this app (via comments or +1 on this blog entry, sending me e-mails, tweets, however you want to display interest) I will work on making a public version that is able to be personalized for your username and multiple personalized hashtag triggers. But step 1 is to get a working version for myself written and usable by Nov 1.
Let me know if you're interested!
Tuesday, October 9, 2012
- The menu is supposed to have a "Buy" link (which takes you to the market to purchase the full version) in the free version, and a "Donate" link (which takes you to paypal to donate to me) in the full version. In my last update, I accidentally made them both "Donate". This has been returned to normal.
- In both versions of the app the "Feedback" page, which shows with each update, linked to the market page for the full version of the app. This now correctly links to the free version if you are running the free version, and the paid version if you are running the paid version.
Monday, October 1, 2012
- Default message is now editable
- "About" screen is now "Help"
- Added feedback page
- Auto Respond toggle is now color coded
- Initial setup for scheduler (doesn't work yet)
- Made layouts look more consistent
Free Version Only:
- Moved ads
It's available now, so if you already have it, go get your update. If you don't already have it, go download it!
Thursday, September 27, 2012
OK onto the news: this schedule thing is tough. I knew it was going to be, and it has proven that my initial thoughts were correct. There's a lot of variables, a lot of information, and a lot of different ways to possibly organize all of that data. But I'm getting close. Also, it's something I've never really done before, so I'm learning as I go. I'm the kind of person though, that I don't release something until it's done right and I'm completely satisfied with it. My dad always said "If you're going to do something, do it right the first time."
The good part about that, is that when I finally release the next version, you can assume that there will be no issues, and it will work 100% as expected. The bad part is that it will take a bit longer, because I'm always looking into new and better ways to do things and constantly testing.
That being said, here's the new stuff I've got for you:
- All of the pieces of the screen that I showed you last time are working now
- I've created a once-per-update screen that asks users to rate my app or report issues
- This is very important to me and other developers. It helps get our apps seen, and helps us as developers improve our apps.
- If you have any suggestions, issues, anything else, please let me know via email before giving my app a bad rating.
- I've changed/improved some of the existing layouts.
- I've learned some new techniques as I go, and have put them to use to make things more consistent throughout the app.
- save the information somewhere so that I can display your existing schedules
- create the schedule itself
- Allow the schedules to be edited, deleted, and enabled/disable once they are created
Friday, September 21, 2012
I fixed the issues listed in the previous post: The time/date now updates every minute, and it no longer switches tabs on orientation change. I still haven't looked into how to switch tabs with a swipe, but that's more of a feature than an issue. (I am planning on adding that before releasing the next version though. As long as it doesn't prove to be too much of a pain.)
I've designed a basic setup for the schedule creator. It doesn't do anything yet, but the layout is there. This is probably what the "final" version will look like. I say "final" in quotes because I have more plans for it, but those plans will likely not happen until future versions. This is what the initial version will likely look like though.
I've also made some other small changes/enhancements throughout different parts of the app. Today I went through and did away with a lot of duplicate layouts, and optimized some small code bits as well. Since this is my first Android app, I'm still learning the best way to do some things. The more I program, the more I realize that some of my initial code was not the best that it could be, so I've re-looked at some of that old code and optimized it. Hopefully that will result in a smaller .apk file, and possibly a smoother running app.
In case you haven't noticed, I'm constantly changing the look and the ROM on my phone, so the navigation bar (among other things) is always changing in my screenshots. I point this out because I have a permanent menu button in the nav bar in this shot. That will not be there if you are running stock. (Or if you are running a device with hardware keys instead of software keys.)
Sunday, September 16, 2012
I've changed the layout of the main app screen. It is now a tabbed screen. The first tab is the Auto Respond tab, which includes the layout that you are used to seeing when you open the app, and the second tab is the scheduler. When I start work on a timer, there will be a third tab for that.
A few small issues that I have noticed, that I have not even attempted to tackle yet:
1) The date and time on the scheduler screen do not update dynamically. That means that if it is 1:00 right now, it will still display 1:00 when it turns to 1:01. I will work on fixing this, it is not priority #1 though.
2) When you change orientation of the device, you return to the first tab. Again, this is something I will work on later.
3) It doesn't switch tabs on swipe, only when the tab is clicked (I'll have to research how to do this)
Here is a preview look at what the screen will look like:
Obviously, once you hit that "New Schedule" button, it will take you to a new screen to create a new schedule. The goal is to then create a list of schedules underneath that "New Schedule" button, and have that list long-clickable so that they can also be edited and deleted. (Now that I think about it, I should probably make them toggle-able as well.)
I have not yet completed any of that, what you see in the screenshot is as far as I am right now.
Another goal is to make the schedules able to be based on time, day of the week, day of the month, and even month. So you can setup an auto response that is active from 10:00-12:00 every Tuesday in February and March. Or you can setup an auto response to be active from 9:00-1:00 every Monday. And you will be able to attach a specific message to this scheduled response. This message will be able to be entered at the time of creation of the schedule, you'll be able to select a preset message, or you can enter your currently active Auto Respond message.
Again, these are just goals, and I may not be able to do all of these things (especially in the first iteration of the feature.)
The screenshot above is from my Galaxy Nexus, but I have tested this on my Droid 2 as well, and it looks nice on both devices.
Wednesday, September 12, 2012
One of the things I have wanted to do for a while (since I was about 10) is create a digital catalog of my collection. I've tried doing it with the Microsoft Office suite, and none of the programs seem to do quite what I want to do. The closest was Access, but Access is a mess and not at all user friendly, so I gave up on that.
I decided I wanted to make my own program to organize my collection. I have created a UI for it, I have talked to another collector and thought about all the things we would need to include for each item, I have created a way to auto-fill the drop-down boxes from an .ini file, I have started work on a method to display a picture of the coin/bill selected and the location of the mint mark on the item, and I have a lot of ideas of how I want things to look and work.
My main road block right now is storing the data. I'm not quite sure how I want to organize the data, how I want to store it, or save it (and restore it.) I think I need to talk to someone who knows a little more about data structures, databases, and/or data storage techniques.
Here's a quick peak at what the program looks like:
If you think you could help me with the data structure aspect of it, or know of someone who could help me with it, let me know. It would be much appreciated.
Friday, September 7, 2012
The default message is not just something that is clickable in the message list. It is also used when the auto respond message on the main screen is emptied. Therefore, if you want to set a new default message, you have two easy ways of getting to that message as well. (Hopefully 3 when I get widgets working)
This feature has not been released yet. I want to make a few more changes/addition before releasing a new version.
- Schedule for responses (useful during a daily/weekly meeting)
- This is one that I would find useful myself, as I have a meeting every Monday morning
- Timer to automatically turn off auto respond after certain time period, or at specific time (useful while watching a movie)
- Jelly Bean style notifications (I have some ideas for things to put in the pull-down)
- Ability to change the "default" message
- Message-specific settings, as well as global settings
- I need to think a little on the best way to do this, but it has been an idea for a while now
- Backup and restore of settings and messages
- I've been thinking about the best way to save this stuff, I have a couple of ideas to try
- Widgets to easily enable auto respond with a specific preset message
- I tried this once and failed, but I can try again
- Tabbed Settings screen
- I tried this as well, but I am willing to continue trying
Leave a comment with the feature you want the most. If you have any suggestions that aren't on this list, feel free to add them in the comments as well!
Wednesday, September 5, 2012
I also fixed some other small issues in the new version, including a FC in Froyo, and an issue with the way ads displayed in the free version.
Check out the "What's New" tab when it is published for all the details:
Tuesday, September 4, 2012
1) Contact Picker - This is a very precise method to select an individual contact to not send auto replies to
2) Text List - Add names such as "John" or "John Smith" and Auto Respond will not send replies to any name that matches the text in the list.
The contact picker option is what took so long to create. Getting information from the contact picker is a bit of a process, then processing that data was another process. All of that is done now.
There is just some small tidying up that is left on the "to-do list". Part of that is checking for duplicates in the Contact Picker list, and then comparing the incoming number to the contacts in the Contact Picker list to decide whether or not a response should be sent. These are fairly simple tasks when compared to what I've done so far.
Things that do work:
A list can be created from the contact picker
The list contains contacts' photo, name, and number
Items in the list can be edited or deleted
A text list can be created
Names in the text list are not responded to
Update should be released within a couple days if all goes well. :-)
Friday, August 31, 2012
So I decided to try to implement a contact selector instead. This idea should block based on contact number, which is a number unique to each contact in your address book, instead of by name. I haven't implemented the actual contact selector yet, but looking at some sample code, it doesn't look to be too outrageously difficult. It may take some time though.
Here is a preview of what the "Do Not Respond" list will look like. If the contact has a picture associated with it, it will display that picture instead of the generic contact picture.
I may keep the blocking by name in as well, but I'll have to think about how to implement both of them at once. (I'm sure it won't be too hard, I just have to take the time to do it.)
Thursday, August 30, 2012
It may be an hour or so until it is actually updated in the Play Store, but the update has been uploaded and published. Now it's up to Google's servers to do the rest.
Wednesday, August 29, 2012
Tuesday, August 28, 2012
I think I'm going to work on the auto respond to voice calls feature. I'll return to widgets later, when I'm not so frustrated by them.
Monday, August 27, 2012
1) When I try to change the text on the widget, the app force closes.
I'm trying to make a widget that has a specific message connected to it, so that you can easily turn on an auto response with a preset message from your home screen. I'd like the widget to contain the title of the selected message, so that the user knows what message is being set when the widget is clicked. When I try to set this text, I get an FC.
2) No matter what I do, I can't seem to make anything happen when I click the widget.
I've looked at sample code, tried many things, but no matter what I try, nothing happens when I click the widget. I don't really know what I'm doing wrong, because according to all the code I've seen, my code should be working.
I have a couple ideas for different widgets once I understand how to do all of this. The next one that comes to mind is a widget that shows your current auto response message, a quick turn on/off of Auto Respond, and a quick way to change your auto respond message to either a custom value, or a preset value. This widget would be a 1x4 widget.
The latest version is pretty stable. There are many options, great statistics keeping, auto updating. and few known issues. The issues that exist have been fixed, I just need to upload the latest version.
As always, if you find any additional issues, please let me know. Contact information can be found in the "Help" menu within the program.
Sunday, August 26, 2012
You can get it here
and as always, thanks to my buddy Grant at Nerd Robot (www.nerdrobot.com) for the icon.