Currency Converter Version 0.4 Released

Currency Converter Version 0.4 Released

I just released version 0.4 of my currency converter to the market. This version now caches the exchange rates for when there is no connection available, allowing the application to be used without an Internet connection, as long as it was used with one at least once.

Introducing Currency Converter!

Introducing Currency Converter!
So a couple of days ago I hinted that I was working on a top-secret project. Well, that project is top-secret no more, as Currency Converter is now available for free in the Android market! Currency Converter is a basic application that I originally created in order to practice making Android applications, and to play around with user interface design, in an effort to create a professional-looking Android application. I am pleased to announce that this application ended up being much greater than I originally thought possible. Currency Converter is a extremely data-light application that uses less than 1.5 kilobytes of data every time it refreshes the currency exchange rates. That’s rather impressive, considering the fact that Currency Converter supports 94 different international currencies. The exchange rates are automatically loaded from the Internet in the form of a comma separated value file that contains the latest Google Finance currency rates by using the Google Spreadsheet API, and querying a specially formatted Google Spreadsheet document that I created specifically for this application. In order to minimize data usage, the spreadsheet only contains the current exchange rate of one US dollar to every other supported currency. Because the spreadsheet uses the Google Finance formula function, the spreadsheet is automatically updated with the latest rates. Regularly the Google Finance function is used to retrieve the latest stock quotes, but by inserting “CURRENCY:” into the function, we can use it to convert currency. For example, to convert one US dollar to Euros, we would use: ‘=GOOGLEFINANCE(“CURRENCY:USDEUR”)‘ as our function, where ‘USD’ is the ‘from’ currency’s symbol, and ‘EUR’ is the ‘to’ currency’s symbol. However, adding the full Google Spreadsheet API to the application would add bloat, and that wouldn’t be very good. After all, we only need to retrieve the data, we don’t need to do any server side manipulation or anything. Therefore, I used the next best thing. Google has a feature on their server that allows you to run a basic query on the feed of a publicly published and accessible spreadsheet document.  Because I love sharing useful things that I make, the spreadsheet document used by my currency converter is completely publicly accessible, and I have no plans on restricting access in the future. By using the query “SELECT A,B“, we can retrieve all the data in columns A and B of the spreadsheet. Click here to see an HTML representation of the data that query returns. So, we now have a very basic, stripped down version of the spreadsheet that can be accessed without being logged in, but it has a lot of extra data that we don’t need, and it would be annoying to parse out. Maybe it’s possible to optimize the server output even more? Of course it is! Google offers the ability to retrieve any spreadsheet document as a comma separated value file that’s extremely minimalistic and optimized with almost no excess data. In this case, we can simple set the PHP GET parameter called “tqx” to “out:csv“. This results in a much smaller and easier to parse file being returned by the server. Currency Converter is now available on the Android market for free. Check it out, and if you don’t like it, you can always uninstall it. Let me know what you think. To easily get to the download page in the Android market, simply scan the following QR code with a barcode scanning application:

My Latest Top-Secret Project

My Latest Top-Secret Project

I’ve been playing around a lot with different styles of Android user interface design lately, in order to practice developing for the platform. In my new top-secret project (coming soon!), I spent a lot of time really tweaking and customizing the user interface in order to make it look and feel great. Some new techniques I’ve been experimenting with include: custom background images (with XML layouts), custom spinner layouts, font style and color, alpha-transparency, and a couple of other neat tricks. In addition to that, I also worked on really optimizing the graphics used in the application to reduce file size. How does this all fit together? You’ll soon find out, when I release one of my best looking applications (visually) yet. In addition to just graphical user interface design, I have also been playing around a lot with offloading processing by utilizing server side scripting (sometimes referred to as “Cloud Computing“), and API calls, in this case, to a dynamically updating data feed. In my upcoming application, I learned a lot about sending queries to a server, and parsing the output that is returned in an optimized and efficient way in order to improve reliability over a wireless network. For instance:

  • In my new project, all the data I need is queried and then parsed on the server side into a comma separated value file that is less than 1.5KB of data!
  • Once the data is retrieved, it is parsed on the client side into arrays using string tokenizers and buffered readers so that it can be accessed quickly without a lot of extra processing.
  • No third party libraries that are not included in Android itself are used or needed in order to retrieve and parse any of the data. All of the parsing and retrieving is hand coded from scratch.
  • When a network connection is not available, my application takes advantage of a cached copy of data stored on the phone itself (remember how I said the entire set of data is less than 1.5kb?)

Haven’t guessed what I’m working on yet? That’s ok… stay tuned for more updates and some screenshots as I continue to work on this project. Keep in mind that I will also be working on improving my old applications, such as EliteBomb, at the same time, and it may take a while for me to finally release this. My new application will be free, and it’s mostly just a practice application in order to improve my skills at coding Android applications and possibly increase my user-base, but I will continue to support it as well as all of my other applications.

Successful Android 2.2 SMS Limit Removal!

Successful Android 2.2 SMS Limit Removal!

An EliteBomb user, Jacob Miller, and myself managed to get the SMS limit removed successfully in Android 2.2 on his Motorola Droid (Original). I’d like to personally thank Jacob for spending the time with me in the chat in order to get the limit removed on his phone. The process on the post that describes how to remove the SMS sending manually has been updated to reflect what we had to do in order to get it to work. If you have a rooted Android device running version 2.2 (Froyo), and you have not been able to automatically remove your SMS sending limitation automatically, I highly recommend trying the method on that post, as I now know that it works. In addition to Jacob’s Droid, I personally managed to get the limit removal working perfectly in an Android 2.2 virtual machine running in the Android emulator included in the Android software development kit. I now know exactly how to remove the limit manually on most devices, and I really hope to have an automated limit removal tool out soon. If you try that method, and experience issues, do not hesitate to contact me, so I could try to get the limit on your device removed. This marks a new milestone for SMS limit removal, as nobody else has any documentation on how to remove the SMS sending limit in Android 2.2 yet. Thanks to everyone who notified me of the issue, and all of you who purchased EliteBomb Plus, which encouraged me to work on getting the limit removal working. I couldn’t have done it without you guys! 🙂

EliteBomb Plus 2.6 Released

EliteBomb Plus 2.6 Released

EliteBomb Plus 2.6 is just another release that is just an attempt to fix the automatic Android 2.2 SMS limit removal. If you download this new release and have a rooted device, please, let me know if you get it working. Thanks! I will have a similar version of the free version of EliteBomb out soon! If it still doesn’t work, feel free to try to remove the limitation manually.

Behold, Rapid Fire Mode!

Behold, Rapid Fire Mode!

Some of you have been wondering why there have been several releases in a row. I have been working on fixing as many crashes as possible, and preparing to introduce the one feature that will set EliteBomb Plus worlds apart from EliteBomb, without removing anything currently in EliteBomb. Rapid Fire Mode sends SMS messages in rapid succession, without waiting for any previous messages to send, resulting in much faster message sending. This feature will be available in the Android market soon for all “Plus” users. Please note that rapid fire mode is very experimental, and unstable. It is not recommended with unlimited, or any “high” numbers of messages.

Introducing InfiniteSMS SMS Limit Remover

Introducing InfiniteSMS SMS Limit Remover
I get quite a few emails from my users offering suggestions, and one of those suggestions was to create a standalone application dedicated to removing the SMS sending limitations of the Android operating system, without all the clutter of a text bombing application such as EliteBomb. So, judging by the title of this post, you can probably infer that I did just that. It was a simple enough task, since I already had most of the code I needed already in EliteBomb, so all that I needed to do was create a simple logo, write up a (very) basic, yet intuitive interface, and write up some messages that will be displayed to the user. So, if for some reason, you’d prefer not to use EliteBomb to remove your SMS sending limitations, InfiniteSMS is now available to download from the Android market. Because the code of InfiniteSMS is largely based off of the EliteBomb’s SMS limitation removal code, if EliteBomb failed to remove the SMS sending limitations of your device, it isn’t very likely that InfiniteSMS will succeed, but you are always free to try. When I discover how to get the limitation removal to work on Android 2.2 devices, the limitation fix will be released first for EliteBomb Plus, but I will release it for the regular version of EliteBomb and InfiniteSMS shortly after. However, if you have Android 2.1 or earlier, both of these applications should work just fine. As always, removing the SMS limitation requires a rooted device.

Introducing EliteBomb Plus

Introducing EliteBomb Plus
In order to allow users to get my application without advertisements, and to increase the amount of revenue I’m earning at the same time, I have created a new version of EliteBomb with an awesome looking logo, and no advertisements. For now, those are the only major differences. I will be prioritizing updates for the premium version, and it will likely have the fix for removing the SMS limit on Froyo devices before the free version does. In addition to that, because there are no advertisements, this application has no data usage, and does not access the Internet. Other than that, this version is mostly just a donation, similar to what I did with FiOS WEP Calculator PRO. If you like EliteBomb and appreciate the large amount of work I put into it (18 hours+), I’d appreciate it if you purchase the premium version. I’m barely making any money off of advertisements right now, and it would be great to make a little bit of extra money. EliteBomb plus will be available on the market for $1.99. As always, EliteBomb Plus will be 100% DRM-free, just like all of my other applications. If you are a user of EliteBomb Plus, please consider purchasing it instead of getting it from a pirated source. The free version of EliteBomb does the same thing, but has advertisements, so I can actually make money off of my application. Even if I only get 100 downloads of the premium version, I could really use the extra money. Remember, the more money I make off of my applications, the more I am encouraged to devote more of my time and effort into developing and maintaining them. If, for some odd reason, you enjoy advertisements you can always continue to use the free version. If you are on an Android device right now, click the following promotional image to be taken to the market page for EliteBomb plus:

com.dylantaylor.elitebomb_premium$

Working on EliteBomb Froyo Limit Removal Fix

Working on EliteBomb Froyo Limit Removal Fix

So, Google made some changes in how the settings databases work in Android 2.2, which causes the SMS limit removal tool in EliteBomb to not work successfully on Froyo devices (running 2.2). The removal trick currently works on devices running 2.1 or earlier. I am working with some users who have Froyo devices in order to get the feature working on their devices, and I hope to have a fix out soon. Keep in mind that since I myself do not actually have an Android 2.2 device (unfortunately), there may be some trial and error involved. Rest assured that I will continue to work hard in order to get this hack working on as many devices as possible. In order to apply the new hack once it’s released, you may have to use the context menu (by pressing the Menu button), and select “Remove SMS Limits”. I apologize for any inconvenience and/or difficulties this has caused. Check back soon for more updates on the status of the fix.

EliteBomb Context Menu Added

EliteBomb Context Menu Added

I just finished adding a basic context menu to EliteBomb, which can be accessed by simply pressing the Menu button.  This feature is available as of version 1.8. It is now possible to easily clear the fields in the application without exiting it and re-opening it, and accepting the license agreement again. In addition to that, you can now simply press the menu button, and select “Reset Fields”. In addition to that, for those rooted users out there, if you feel that your device is rooted properly, but you don’t think the limits were successfully removed, you can now forcefully run the SMS limit removal tool again without uninstalling the application and re-installing it to clear the data, using the new option in the context menu, called “Remove SMS Limits”. Please note that this item will be disabled when viewed on a non-rooted device. Also, this is useful in case you never removed your SMS limit before, since you no longer have to enter a message and choose a recipient in order to remove your limits, you can just choose the context menu item. As always, I am constantly working on improving my applications, and I hope to have all of the crashes and bugs worked out soon.