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.

Ok, since I have financial needs that aren’t currently being met and I want and need experience, I’m making myself available as a freelance screenwriter. I’m not limiting myself to any particular genre, topic, or anything else and I’m willing to either do scripts solo or collaborate. If interested, please contact me via my An Evil Genius web site.

Although I’m a couple weeks behind on this, I thought I’d note that I fixed the cookie parsing in the HTTP add-on in Themis, and cookie handling is probably working better than ever at the moment. This isn’t to say I’m done with it; I need to go back in and fix a few curious issues with non-standard dates, empty cookie values, and restricting the maximum length of both a cookie name and value, but I can say that it’s significantly better than it was. I’m also considering moving the cookie system into a plug-in of its own; which it originally was.

The reason is that while cookies are only sent over HTTP connections, Javascript can initiate HTTP connections and manipulate cookies as well. This can be somewhat dangerous, and PHP along with other web scripting languages have [relatively] recently started adding a new optional flag to mark cookies as HTTP only to their headers. While I’ve added support for this to the cookie system in Themis, it’s somewhat meaningless at the moment: there’s an old Javascript implementation in the source tree, but it’s completely unused at the moment and isn’t attached in any way to the Themis DOM system. However, once we have a renderer, and Mark is working on that currently, then we will start to need a Javascript interpreter, and that in turn will lead back to proper cookie handling.

In addition, I’m now faced with adding configuration options for the cookie system, and it would be easier to manipulate those settings in the preferences window if the cookie system was in its own separate plug-in. This isn’t going to happen tomorrow, so don’t worry about it right now, but this is going to be a change in the future.

On other subjects, thinking about Javascript has got me wondering if Themis should use the binaries that are currently in the repository, try to get updated versions compiled, try to use a different existing Javascript implementation, or write our own. I had hoped to use V8 from Google’s Chrome, but it requires GCC 4 which isn’t available on BeOS though it is available on Haiku, but I haven’t managed to get it compiled due to a series of oversights within the Haiku community. I’m not going to put blame on any one person or organization, but I will say that getting scons working seems to be impossible on Haiku, so I can’t even test V8 at this point. Also, since the Themis project is about learning browser design, I’m leaning heavily on the “write our own” side of things now, though it would probably take years to get a version that’s as complete as today’s Javascript demands, and then I’d be playing catch up forever. Still, that’s on my mind…

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.

I just want to give a quick status update on Gas Up Beta 5, so here we go:

As of about 5 minutes ago, double tapping on a location on the map will switch to the “Submit Price” tab, and attempt to look up the address of the tapped location. This is not fool proof, and it’s not guaranteed to get an address ever, let alone on the first try, simply because of network congestion, server latency, or even if Google simply doesn’t have an address for the tapped location. But, when it does work, it gives you the ability to submit gas prices at locations other than where you currently are. For best results, zoom in as closely as possible before double tapping.

The code to prevent double accidental duplicate price submissions caused by network lag is mostly done in the application. I still have a few loose ends to tie up in the app, and to handle on the server side of things, but so far so good.

I’m now considering downloading all current gas prices for the selected fuel type at once rather than doing it based on the viewable area in the map at designated intervals. Although I’m not too concerned about network traffic on the server side of things, the repeated querying, several times a minute, from all running clients can slow down overall performance for everyone, not to mention it could affect your bill if you don’t have an unlimited data package. What I will probably do is switch it to download all the price submissions once every 15 minutes for the selected fuel type, and if the app hasn’t checked in the last 15 minutes on start-up or when the fuel type is changed, to download updates immediately.

Also under consideration, though not deeply yet, is the possibility of adding some kind of excitement to the app. I don’t know how many of you have even heard of it, but there’s a social mapping/gps app called Waze. It makes using the app at least somewhat fun by giving subscribed users points for exploring previously unexplored or not recently explored streets, and it maintains a leaderboard on a state by state and national basis. Perhaps something similar can be added to Gas Up with a little effort, but that would mean that I’d have to add account information, which in turn means that when a gas price is submitted, I’ll be associating that account with a location. Not to mention storing that location and user information. I’m a bit reluctant to do that, but I would appreciate getting some feedback from my user community on the issue. (Assuming there is a user community for Gas Up… 😉 )

November 30, 2010 8:27 pm

Just wanted to make an addendum. As of a few minutes ago, double tapping ton the location of a gas station already in the database will automatically load that gas station’s name, address, and coordinates (latitude/longitude) in addition to switching to the Submit tab. I’ll be applying the same thing for when you switch to the Submit tab normally as well. If the gas station isn’t in the database, you’ll still need to enter the information as before.

Also, I’m in the process of changing how the data is transferred to your device. When building or rebuilding the database, it [Beta 5] will now download all gas stations currently in the database, though I’ll probably change that to be all within the country that you’re currently located in. Yes, I’m considering opening this up to more countries now, but initially I’ll probably only expand the beta to Canada.

As a further note, I just updated the server side code to handle some of the new changes, and everything still seems to be working. Please let me know if something isn’t…

Although no one has asked,  some of you may be wondering where beta 5 of Gas Up is. Well the simple answer is that I’m not done with the changes yet, but the more accurate answer is that I’ve been too busy to work on it since I announced that I was working on it.

As you may or may not know, I’m currently enrolled in college and trying to change my career path. While I was enrolled last year as well, I didn’t begin development on Gas Up until the middle of this year’s summer semester, which I took off. Add to that the fact that my former employer asked me to do some work right after that “back to work” post, then maybe you have a good idea of how busy I’ve been over the last few months.

I’ve also begun to question the lifespan of the app as well. Despite the fact that the developer’s site states that there are over 400 installations at the moment, price submissions have dropped off to almost nothing. Without price submissions, Gas Up is useless.  I can only blame myself for it, because of the length of time between updates but I’m wondering if there’s still any interest.

Well, I will commit to completing beta 5, but I’ll reevaluate the situation several months after that release.  Give me your feedback either way!

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.