This is just a quick status update on Gas Up…

The basic application concept is nearing completion, and I’ve managed to get server data to the app and properly processed once there. I’ve still got a lot of server-app communication code to work out and implement, but everything is going pretty smoothly. The biggest headache I’ve had so far was getting a spinner (drop down menu) control to get data from a content provider (database access point more or less) and display it properly. With the exception of one line of code, my code was correct. The problem was that I was under the impression that the spinner needed me to provide a text view which it would use to write data; it turns out it already has one, and I had to specify it in just the right place… Needless to say, that wasted about two days of my development time…

Nonetheless, I’ll post a pair of screen shots here later.

Oh, and I’m having trouble finding people to test the application and be early adopters… Maybe it’s just that I’m not drawing much attention to this site (as in none at the moment), or perhaps it’s that I’m not using the proper marketing methods. I’d hate for this app to get uploaded to the Android Market with absolutely no data but that little amount I can put in myself… The comments and ratings will be brutal, but ultimately I don’t really care about those right now. Once the app is live, and people are hopefully entering data on a regular basis, then I’ll care.

Screen shots as promised. The first is a screen shot from my Nexus One. It’s showing an overlay icon somewhere over Mexico, but that’s beside the point. Th

e screen shot is merely to give an idea of what to expect… 🙂 With this screen shot, you see two of the three tabs that are present in the application; the third one, Donate, is currently disabled despite being complete. (There’s just no point in having the donations system enabled when the application has no data and no users.)

The application starts up on the Stations tab and theoretically will display gas stations within the viewing range of the map. Scroll the map around or zoom in and out, and the results will change. Eventually.

The second tab, Submit Price, is shown in this screen shot from the emulator. (I don’t have that screenshot app on my phone, yet, and I didn’t want to take a screen shot that would include my home address, so I used the emulator and the longitude & latitude of a gas station known to me.) This tab includes everything you need to submit a gas price back to the system. ALWAYS SUBMIT THE PRICE WHILE YOU ARE AT THE GAS STATION! Note the address listed for “Associated Address”. This is submitted to the server as the recorded location of the gas station being entered. Unless you want to share your address with everyone, submit at the gas station! (Admittedly, no one will know it’s your particular address, but I won’t be held responsible for angry and confused gas seekers showing up at your house in the middle of the night.)

Despite having had the Android SDK installed on my various computers for more than a year and a half, and purchasing a book on Android development almost as long ago, I haven’t really done anything with the platform. The big thing that’s stopped me from doing anything seriously has been my lack of GUI design skills: on one hand, I’ve had some decent tech demos that communicate with a web site, pull GPS information, and even encrypt data, but all of my demos have had the “Hello World, <App>” UI in common or at most used the Google Maps activity. All in all, nothing special.

Well, I’ve been working with someone on their idea for a social networking application, and I got an itch about two weeks ago to do something more than I had previously done with Android, and go down to business working on the user interface to get a simple app that showcased what I had in mind for app’s user interface. I did it, and it looked ok… It wasn’t great, and was very simplistic, but it got the basic idea across. Since that time, I’ve been thinking about doing something else on my own, hopefully something that could possibly earn me a few dollars here or there, since I’m not working a full time job right now and have spent the better part of a year out of money.

I’ve thought about working on some of my other app ideas, like my lottery number picker, and perhaps I’ll get around to working on them. But for now, I’m headed in another direction, which I hope will get a lot of people working with and for each other. As just about any one will tell you, almost everyone needs gas for their car, and people are always looking for the best gas prices. So why not make an app that simplifies that?

I’m doing precisely that: writing an app that allows people to enter gas prices at their local gas stations, and will display the lowest gas prices within a certain range based on the prices others have entered. Once the project gets a certain number of users, this should help everyone find the lowest gas prices in their area. Right now, I’m primarily focusing on the United States and perhaps Canada as the target audience, but this could potentially be opened to other regions as well. There’s no real limitation on it because I’m not going to be selling the application, though I have already added code that will allow interested parties donate money via PayPal. (Currently I have it disabled because the app will be utterly useless in the initial days.)

What I want and need from the public at large are people willing to 1) be beta testers as I develop the app, 2) to actively use it any input gas prices, and 3) give me ideas and suggestions on how to improve the app.

My focus on development is on privacy and simplicity. The application doesn’t collect any personally identifiable information at all, but it does collect the GPS or cell network location at the time that entries are made, so I suggest that entries are made before leaving the gas station rather than when you get home at night. That is, of course, unless you want people coming to your home in the middle of the light trying to buy gas. There are no memberships or accounts, no passwords, no phone type, name, number or identifiers are collected. Even when I enable the PayPal donation, if any information is collected, it will be by PayPal, and recorded in their system, not mine.

So, what can you do right now? Not a whole lot until I get Gas Up together. While waiting, however, you can send me a note to express your interest.

Though this might be better served on the Themis web site, I’m posting this here since it’s not quite official yet.

Over the last few months, Mark and I have been trying to get back into the swing of working on this now ancient project. While Mark is doing some of the more important development, working on a rendering engine, I’ve been just trying to get back into the swing of C/C++ development on BeOS/Haiku. To that end, I’ve been rewriting some of the cookie parsing code, and I’ve implemented a new preferences manager that will allow developers to quickly and easily create, edit, and save preferences from any part of Themis provided they include the appropriate header. This came about because we felt the current preference system was getting to be too big and clunky, though it served its purposes for all these years.

At the moment, I’ve implemented the simplest possible preference manager I could: it flattens and unflattens BMessages to and from (respectively) files in the user’s Themis settings directory, will allow the developer to delete the settings file or even rename it. Ultimately, I think it will be a good idea to make it output and read and parse user editable text files like in the .ini style, but for now this is adequate.

The reason I’m rewriting a part of the cookie parser is that I noticed when going to CNN’s web site in Themis, they tended to set an odd cookie that seemed to cause a crash periodically. Rather than try to insist that CNN fix the problem to comply with Internet standards, I decided it would probably be prudent to make the cookie parsing more robust. Oh, by the way, it seems that Themis is the only browser that I have access to that actually supports the little known and less used Set-Cookie2 header which allows multiple cookies to be set in one header line. Though honestly, I’m not even 100% sure if that header was ever accepted as a standard.

I finally gave in and decided to stop trying to code a kick-ass site from scratch for myself and my development interests, and instead using something off the shelf. By doing so, I should be able to keep in touch a lot better with those that are actually interested in what I do programmatically.

Any ways, this summer I’m keeping myself extremely stretched thin as I wait for the Fall 2010 semester to begin at Oakland University. I’m working with someone on a social network that I shall henceforth mention very little until it’s ready to launch, trying to get back into development on Themis, working on developing a dating web site from scratch, and probably a few other things that I’ve forgotten to mention.

Nonetheless, I’m open to working on other projects as well, especially paying ones. So be sure to let me know if you’ve got something you’d like my eyes on.