My Opinions On the Leaked Epic 4G Froyo ROM

My Opinions On the Leaked Epic 4G Froyo ROM

There are many changes that Samsung made to the leaked Android 2.2 (Froyo) ROM (link: [ROM] Froyo DJ29 leak, deodexed, zipaligned and pre-rooted v4.2 [11/12]) that I really dislike, and I hope that they change before the official release comes out. This is a list of the things that I noticed so far that significantly degrade the user experience, as well as changes that I absolutely love, and a few suggestions:

  • Samsung replaced the stock messaging application with their own custom one that isn’t nearly as good or as nice looking. This is actually my number one concern about the new firmware
    • They really need to stop trying to imitate the iPhone’slook and feel. If we wanted an iPhone, we would’ve bought one
      • Not only that, but they are also doing a terrible job at mimicking it. In fact, Samsung’s new messaging app feels worse than the one on the iPhone
    • The image viewer in the new messaging application is completely broken. It has no ability to zoom in, it shows a progression timer when displaying a still image, images are zoomed out by default, etc.
    • The best option is to just scrap their messaging app and go back to the stock messaging app, which works flawlessly, and has a very native and natural look and feel
  • The new way the applications are arranged in the app drawer is annoyingly unintuitive. Making the user manually rearrange them is not the right way to sell more devices. They were fine before when they were automatically arranged in alphabetical order, but it’s really annoying having to manually reposition the icons. There doesn’t even seem to be an automatic arrangement option.
    • Manual arrangement is fine, as long as the user can choose to have the icons arrange automatically.
    • The new application removal icons are also fine, but really, they should also exist on the pre-installed crapware, since nobody wants NASCAR and Sprint Football Live preloaded anyways.
  • The Internet browser feels incredibly slow and unresponsive now, especially with scrolling. I’m not sure what modifications Samsung made to the browser, but really it would be best to leave it stock, since the stock browser is known to have excellent performance compared to the one in Eclair.
    • Also, the new “Internet” icon looks terrible compared to the look and feel of the rest of the operating system. I really prefer the old one.
  • The new “News and Weather” application is great. It really is. I love how it automatically locates you via GPS and displays relevant weather information, and the tab scrolling at the top of the screen is wonderful.
  • The new colorful icons in the Settings menu feel very non-native to the platform, but I kind of like them. With less glossiness (I despise glossy icons) and saturation, I could actually become accustomed to them.
  • I really like the new voice recorder application they include in the new ROM. It’s very simple and easy to use, yet it looks great!
  • The Video Player application is also really good, but I experienced some issues with stopping a video that really ruin the user experience. When the back button is pressed, the video should be stopped, and I should be taken back to the list of videos on my device. There should be no need to press an additional on-screen button to stop playing the video. Also, video playback is laggy, and skipping to parts of the video reveals significant delays.
  • The Memo application is pretty good, but it should allow you to backup memos that you create, either on the device’s SD card, or to the cloud.
  • Getting a GPS position is still flawed. It takes way too long to get a lock on my position, especially considering how other, lower-end phones such as the Samsung Transform are able to get a quicker GPS location that a high-end device like the Samsung Epic 4G.
  • The new AllShare logo looks much better than the old one, but it looks a bit too glossy for my tastes.
  • It would be a great addition if Samsung would pre-install the latest version of Google’s Voice Search application, which comes with Voice Actions. Sure, users could install that themselves, but it integrates really well with the operating system, and works much better than the version that comes installed. Also, most users won’t know to install the version of Voice Search in the market.
  • I love the new Silent toggle in the notification bar, but really, it should let you put it in Silent, Vibrate, or Normal (Non-Silent) mode.

I will update this list if I notice anything else that should be changed with the new firmware, but really, I’m overall impressed with the new firmware, and I will continue to use it on a day-to-day basis.


Pssst… Planned Improvements for "Find The Mouse"

Pssst… Planned Improvements for “Find The Mouse”

I realize that “Find The Mouse” isn’t that much fun yet. I’m working on implementing a feature to keep track of scoring. For each round successfully completed, you will get one point plus one point for every click left. The game will also keep track of how many games were won in a row. Keep in mind that this game was never originally designed to be very fun, it was meant to be an example to teach (very) basic Android programming. These upcoming features are simply the result me giving into peer pressure and trying to make the game more enjoyable. Keep in mind that this is an open source project and anyone is welcome to contribute code if they would like to see it in the game. The feature is done as far as coding, I just have to work on the new layout.

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.

I’m Now Accepting Donations For Clippy

I’m Now Accepting Donations For Clippy

I just finished setting up a Pledgie campaign in order to raise money to support the development of Clippy, my clipboard manager for Android. If you use Clippy, and find useful, please consider making a small donation. Clippy is currently a 100% free application, no strings attached, and in order to keep it that way, I need a way to make a little bit of money. Clippy is currently a one-man project, and I do all the work I do on it during my spare time. I have invested many hours into developing Clippy, and I’m hoping that some of that work will start to pay off soon.  The more money that is donated to the Clippy project, the more time I’m able to invest in developing and supporting Clippy. Also, as an added incentive to encourage donations, if I receive over $20,000 $10,000 in donations, I will release the entire source code for Clippy under version 3 of the GNU General Public License, and all of the resources, including the original vector graphic files, under the Creative Commons Attribution 3.0 Unported License.  In addition to that, I’ll set up a repository on github to encourage open development, and allow others to contribute code. I got the inspiration for this idea from an independent gaming package called the “Humble Indie Bundle“, where you could pay what you want for a package of 5 games. Basically, they offered to make their games open source if they could raise $1 Million. Needless to say, they succeeded. So, in the spirit of the Humble Indie Bundle, I’m offering to make my application open source if I can raise $10,000, which is practically pocket change compared to the goal they set, yet still a very substantial amount to me. If you don’t feel like signing up for Pledgie, you can make a donation using traditional PayPal, but I’d have to manually enter your donation into Pledgie for it to count towards the $10,000 goal.

Click here to lend your support to: Clippy Clipboard Manager and make a donation at !

Clippy Public Beta 0.1.6 Released

Clippy Public Beta 0.1.6 Released

After a long night of coding, I finally released the final version of Clippy Public Beta 0.1.6. If you haven’t seen the list of improvements made in this new version, check out my previous post. This new version is more stable than the previous version. Between the previous version and the version I just uploaded to the Android Market, I fixed many important bugs, introduced working find functionality, added more settings, and, overall, made Clippy more full of win and awesome than I ever thought possible. The new version is in the market, so for those of you who have a previous version, you will soon receive a new update notification. I’m really tired, since I was up all night working on coding Clippy, so I’m going to keep this post short. Let me know if you find any bugs or if you have any suggestions for future releases by posting a comment on my blog, or sending me an email. Enjoy! 🙂