Thanks to newly found free time, the latest Android SDK updates, and the desire to finally finish this app, a little info-utility that I started working on about a year ago is now nearly complete. It’s almost certainly not going to make me any money, but I wanted to do it nonetheless since it’s useful to me. When I have more of it done, possibly on the day I decide to release it, I’ll actually let you know what it is… 😉

THEN I’ll be spending a lot more time on Themis…

I’ve spent most of the last weekend working on Sylence, and I’ve made a significant amount of progress. After doing some reading, I see no reason to use the Android 3.0/4.0 fragments tech in Sylence, and while I’m debating the idea of developing an application widget, I have definitely made some positive changes.

First and foremost, the biggest change so far is that in the dialog to create a new silence alarm, the date and time pickers aren’t initially visible. You will see the current date and time, and a date and time 45 minutes later. Tap the date, and you will be presented with the date picker. Similarly, when you tap the time, you will be presented with the time picker. I think this looks and works better than the old system, though it may be a little less obvious.

Also, the horizontal scrolling is gone in that dialog; the day of the week options for recurring alarms are now stacked vertically when recurring is selected, so when editing an alarm, you can immediately see which days are selected and which are not.

The next major change, although completely invisible, is the way that Sylence does the important work of checking to see if the phone should be silenced or not. Until now, a service has been running full time, sleeping for roughly one minute then waking up and doing a check before going back to sleep. As of the new version, the app will use Android’s AlarmManager to do this, which may save more power than the old way. (Note that the old way didn’t use very much power, but this way should use even less.) The caveat, however, is that in order to do its work properly and timely, the AlarmManager needs to obtain a partial wake lock to wake up the processor long enough to do its work; otherwise, the alarms won’t be triggered until the device is woken up by another program or by user actions. In order to obtain a partial wake lock, I had to add another new permission, WAKE_LOCK, to the list of permissions used by Sylence. Without it, I’d either have to go back to the old method or Sylence would only operate on its schedule while the phone was in use.

Another down side is that I’m adding more advertising to Sylence. I’m considering adding a “Pro” version back into the Android Market without the advertising, but I haven’t decided at this time.

I still haven’t gotten much in the way of feedback on Sylence at all, so I’m just doing things as I see fit, No ratings in the Market, no comments, no bug reports, no feedback. If you don’t like how Sylence is progressing, let me know. It’s the only way I can improve it, and right now is the best time to do that. There are still some changes I want to make before I release this new version, but if you want something in it, now’s the time to let me know!

Update 12/29/2011 2:59 am: Sylence 1.5 has been uploaded to the Android Market with new screenshots.

I just released a slightly newer version of Beta 5 that fixes 2 bugs: the most important issue resolved is that posting prices over 3G/Edge wasn’t working for some strange reason, though I didn’t change that code between releases at all. So I switched to a different method of communicating with the server and it seems to be working well again now. The other issue resolved is one that I had hoped would be in the initial Beta 5 release: you may now double tap on a location in the map to enter a gas price at that location. I’m still not 100% sure why this wasn’t working on Android 2.x but was on 1.6, though it may have to do with code obfuscation that is now being done. Whatever the cause, it’s fixed now.

Over the last week, despite my other obligations, I’ve been a bit busy with my published Android applications. Among other things, I fixed a few annoying bugs in Sylence culminating in a series of releases last week, and today I published the long awaited update to Gas Up.
I am disappointed in this release, beta 5, of Gas Up however.  A feature I spent a fair amount of time figuring out seems to be working on only one of my three Android devices. That feature is the ability to double tap on the map and enter a gas price/station at that location. It works properly on my G1 running Android 1.6, but is missing from my Huawei Ascend (Android 2.1) and Nexus One (Android 2.3.3). I’m not going to dig around and fix this issue at this point; instead I’m going to do a complete rewrite of Gas Up because I have learned a significant amount about Android since I started development on Gas Up nearly a year ago. I’m sure it will be quite some time before I complete the next iteration, but I’m even more sure it will be better than ever.

As of now, Sylence is available in the Android Market in the United States, Canada, and the United Kingdom for $1.00 U.S.. There are still somethings that need to be worked on, but I wanted to get a functional version out and about tonight. Go buy it and enjoy!

As of Tuesday afternoon, Sylence is feature complete though I sill have a bug or two to squash, and other details to implement. The gist of the application is that it allows you to set “silence alarms” so that your phone’s ringer will automatically be turned off at scheduled or recurring times.

I’ve decided to sell the app for $1.00 (US) in the Android Market, but I don’t yet have a target date for that. The word is “soon” though. I’m considering doing an ad supported version but I guess it depends on the demand.

As of today, this semester is over for me and I am already working hard again. While I haven’t touched Gas Up today, I have started on another project I’ve been meaning to do for a while now. This new project is called Sylence and is fairly simple and straight-forward: it is a scheduler for silencing your phone. For more than a year, I had been using FoxyRing to silence my phone as needed, taking advantage of the widget that would let me silence my phone for up to 5 hours at a time, but I found that I would occasionally forget to use it before I entered a class. So, I did the logical thing, and wrote the author(s) to ask them to add a scheduling feature. Let’s just say I got a negative response, and I’m still not sure why.

So, for months I mulled over the idea of writing my own, but didn’t do anything about it. Tonight, after watching the FoxyRing service crash yet again for no apparent reason, I uninstalled the app, and vowed to do something about it. Since I just finished my finals today, I got started on the app. At this point, I don’t know if I’ll make it free or attach a low price (I’m figuring around $1.00), but I’ll be putting it in the Android Market as soon as I deem it done, or at least done enough to use. Eventually I think I’ll add a widget similar to what FoxyRing offered, but right now I’m not sure how far I’ll push this new little app.

On the Gas Up front, I will be doing some heavy coding on it in the next week, and I’m going to try to get Beta 5 out and about by the end of next week.

Earlier this evening, out of the blue, I get an email from AppsLib.com indicating that my registration for the site was successful. A few minutes later, I got an email stating that Gas Up had been uploaded for review, potentially making it a “Vetted” app for the ArchOS tablets.

The problem is, I didn’t register with AppsLib.com, nor did I upload a copy of Gas Up to them for review and testing. This wouldn’t be a problem if Bad Luck Software were a real company, with employees, but considering that all of BLS consists of me, my imagination, and my often tired [if not broken] fingers, this is a bit of a problem.

What I think has happened is that they have some how managed to skim applications en-masse  from the Android Market, and automatically started the registration process and approval process on hundreds if not thousands of apps found there. Now, considering that I haven’t yet completed beta 5 of Gas Up, which will offer some stability improvements among other things, I wouldn’t bet it passing any serious testing such that ArchOS/AppsLib may be planning. So why would I submit it for such testing?

What’s even funnier, is that as I wrote that last paragraph, I got another email stating that Gas Up runs properly on Archos Tablets. In fact “Suzane” said “Your application is very funny and well done!” While I like to think my sense of humor is pretty good, and that the stories I write have some amount of twisted humor, personally I don’t find anything funny about Gas Up.

Well, getting around to the point of this little entry, I’ve now sent them two emails requesting that Gas Up be removed from AppsLib.com because I didn’t authorize it to be distributed through any means other than Android Market. Perhaps if they had contacted me first, requesting permission to add it to their application marketplace, or for me to join them and do the upload myself, I might have considered allowing it. Yes, Gas Up and I could benefit from additional distribution avenues, and it might even be important if Gas Up were a paid application. But I’m committed to keeping Gas Up free for as long as I develop and own the rights to it. (I will acknowledge that the more people use it, the higher the chances are that I’ll get donations, but I’m trying to make a point here…) Just grabbing my app from the Market or from an installed device, uploading it, and then sending me emails like this is something I asked for amounts to piracy and fraud. And it ticks me off that a company trying to be legitimate would go about something this simple the wrong way.

I’m not impressed by this, and though I had thought to buy an Archos tablet at some point, I’m now going to steer clear of them.

8/17 12:33 am Update: At approximately 5 am, Monday August 16th, I received an email stating that Gas Up would be removed from AppsLib.com, and as of now at least it is indeed gone. After a weekend of thinking about this, I really wish they had taken a different approach to getting my app on their systems; if I had been approached first, I’m sure they wouldn’t have gotten my ire, and I wouldn’t have had to worry and wonder about the steps necessary to get it forcibly removed from their systems if they failed to cooperate.

Sometime overnight, Gas Up hit the minor milestone of 1,000 downloads and currently stands at 1,020 according to the developer’s side of the Android Market website. While this is a relatively insignificant number compared to the number of Android devices, it’s a significant number to me.

My thanks to all of you that have tried Gas Up, and my sincere gratitude to those that still have it installed, use it regularly, and/or have submitted feedback and bug reports!

For the last few weeks, I’ve taken a mini-vacation from working on Gas Up. I’ve been monitoring the price submissions, looking at the comments in the Market, and communicating with a few of you, but I haven’t actually been coding very much. Part of it has been that this summer has been brutally hot here in Michigan, so I haven’t wanted to be near my nearly overheating computer. Part of it has been sheer laziness. Either way, not much has been done since the release of beta 4.

What has been done, however, is that I’ve started laying the ground work for implementing a price submission queue, so that the application will only attempt to upload your submitted gas prices when there is an established internet connection. I’ve gotten reports from some Droid users that they can’t seem to submit gas prices, and I suspect that it’s due to internet connectivity, but I have no way of knowing to be sure. I asked Verizon if they could loan me a phone for a few weeks to try to work this issue out, and I got the expected “no” response. (Although to be fair, they did mention options I had no idea they had available, such as month to month plans.) Being broke and unemployed, I won’t be able to do a detailed debugging for Droid phones unless someone is willing and able to part with one for a short time. If you’re in a position to do that, please contact me through the application’s Send Feedback menu item, or one of the forms on the site.

Although it may still be too early, I’m enabling the PayPal donations tab and functionality. I’m enabling it for the obvious reason (I could use some extra income), and so that when I release the official “1.00 final” version (whenever that may be), people won’t be surprised and claiming that I ruined a great app by introducing this option. Here’s the scoop, so please pay close attention and spread the word as necessary: Even though I’m enabling donation support, it doesn’t change Gas Up’s functionality in any way. You won’t miss out on features if you don’t make a donation, and you won’t get any special bonus (other than my appreciation) if you do. The application will not change in any real way. In fact, the application’s size won’t change significantly because the library and functionality has been there all along, just disabled. I’ve explained all this, and hopefully more, on my Donations page, but feel free to ask any questions or concerns you may have and I’ll address them there.

A final change that I had begun working on is how the gas station icon overlays work. In all the releases so far, I’m using three separate overlays to display the gas stations based on the price ranges. The lowest, highest, and mid-range gas prices each have their own overlay on the map. That’s worked fairly well, but I think that it’s caused a bit of a performance penalty. I think that by using a single overlay, and setting the icons individually would yield better performance, and in my experiments it does seem to behave a bit better, but at the moment there’s a price: the icons automatically generate shadows on the map, but the problem with the new method is that the shadows aren’t in the proper positions, and I haven’t found a way to get them lined up properly. So, I’m going to temporarily abandon this streamlined approach, and come back to it at a later date. It’s a silly reason to abandon the slightly improved performance, but cosmetics issues are often a bigger issue to people than performance.