Sunday, March 28, 2010

Tips for Getting Android Apps Fixed

If you're an Android user, you've no doubt encountered the famous "force close" screen. For those that aren't familiar with this, it's caused by an unhandled exception in an Android program, causing it to "crash". This pops up a dialog with one option: Force Close.

Unfortunately, "Force Close"'s on the Android platform are inevitable.

From a developer's perspective, there's nothing more annoying than a 1-start rating, with the comment "Force close". It tells us nothing about what happened, and only serves to lower our credibility as developers rather than helping us build better apps.

So, to help us out, here are a few tips for getting your app fixed.

1) Send us an email

Make sure to include the following information: Phone Model (ie:Motorola Droid), Version Number (if applicable), and a brief description of what happened when the program force closed. This can go a long way in helping us figure out what happened.

2) Use the Log Collector app to send us a copy of the stack trace

The "Log Collector" is an open source program available through the Android market, and running this after a crash is probably the most helpful thing you can do. By sending us a copy of the stack trace, you're sending us a snapshot of the events that lead up to the crash, as well as detailed data about the crash itself.

To use the Log Collector effectively, make sure you run our app first, then run the log collector immediately after the "force close". This ensures that we get the data for our app, and not someone else's. Then, just fill in our email address, and that's it.

3) Download and run the Advanced Task Manager (ATM) application

The ability to run multiple processes at once is both a blessing and a curse in Android. To make sure that the problem really is with our app and not another backgrounded one, download and run the Advanced Task Manager (ATM)

ATM is available through the Android market for free, and allows you to close multiple tasks. I recommend killing only the tasks that you personally opened, just to make sure you don't kill off anything important. Kill all unnecessary apps except for the one you want to debug. Then, run the app again to make sure it still force closes. If it does, see number 2.

Thanks to everyone for all of your support. We look forward to improving our own apps, and hope that by promoting these steps we can improve the entire Android market experience.

Monday, March 15, 2010

Andi Wear


I'd like to introduce you all to Andi. Andi is officially the logo for the Android platform, but more importantly, is our little buddy. Andi is our name for the character, and we're trying to get it to catch on.

We like it because it appeals to all in a gender-neutral way. While an Android is specifically a male robot, Andi is androgynous. You'll hear us refer to him/her with either sex, totally randomly.

Check out the cafepress store (http://www.cafepress.com/AndiWear) to support Andi's cause.

4 Reasons We Develop for Android

So, for the past 2 months, Jeff and I have shifted gears a little. We've transitioned away from doing only Gumstix development, and moved toward Android Application development.

I'm happy to report that our first product, the Shopping List, is becoming a success. The free version just jumped to over 5,000 downloads (within the first month), and the paid version is over 100.

So, why did we decide to move to Android?

First, according to many sources, Android is poised to take control of the Smart Phone market. Noticing the many benefits to handset manufacturers in switching to Open Source Android, and noticing the few pitfalls, we're inclined to believe it.

Second, Android apps are super simple to develop. We hashed out the first version of the ShoppingList in less than 10 hours, and that included learning the SDK. It uses Eclipse and a built-in virtual machine that makes testing a snap. As a bonus, you can connect your phone to your computer and automatically run your software in the phone.

Third, the Android platform runs on Gumstix (see www.gizmoforyou.com). Since many of the Android handsets use similar processors to those used on the Gumstix (in particular, the Nexus One uses the TI OMAP3430), support will be provided by the manufacturers and built into the kernel. Major bonus.

Finally, being on Android means we can make the software we want and release it to a wide audience, without worrying about spending time and effort on a program that may never get approved. Android apps can be downloaded from anywhere, and the market is available as a convenience rather than a burden. This creates a true freedom not found in other similar platforms.

What do you think? Are you hip with Android?