I have been building mobile apps for over a year now and I’ve recently started building for Android as well as for Apple iOS. Android provides some interesting challenges since there are three major markets to sell your app: Google Play, Amazon.com and Barnes & Noble’s Nook Color/Tablet app store.
In addition to three markets with different rules, you have a host of devices you have to target. It makes programming for these devices an interesting exercise for sure.
Before any app developer releases apps or games to the wild they should test their apps on a device. No one could possibly own all the billion’s of different Android devices to test on. Given that the Android market’s are not known for generating a lot of sales income, most of have to be picky on which devices to get and test on.
For me, I was considering a refurbished Nook Color for $135. But this device has some hoops to jump through to get test apps on it. I considered some of the cheap 7″ Android tablets which can be found for under $80, but you never know if the processor is fast enough to provide a good test platform. Since I use Corona SDK, an armv7 processor is required. Used smartphones can either be too expensive or hard to find at a price cheap enough for a test device. Then there is the Kindle Fire, a $199 7″ tablet.
As one of the more expensive test platforms, I had really had a hard time pulling the trigger on this. I want to get an iPad and I felt that any 7″ tablet was going to reduce my need for the iPad. But when Amazon put refurbished Kindle Fire’s on sale this week for $139, it was time to hop on it. Priced at the same price point as the Nook refurbs and cheaper than I could get a used on on Craigslist, this seemed to be a no-brainer decision. I opted for 2 day delivery and was surprised when it arrived the next day. Excited to mess with it, I popped it open right away and dove in.
The box came with the Fire in a plastic sleeve and a power charger. No USB cable. No manuals. No fluff. I searched around to find the power button, which is located on the bottom of the device beside the USB charger point and the headphone jack. It powered up about the same speed it takes my iPhone 4 to power up and it was about 85% charged.
There are a billion reviews about this device on the Internet, so I’m going to try and say focused on using at a development platform for Corona SDK except for one thing.
I now understand why Apple says there will be no 7″ tablet. This is an awkward size. It’s just a little too big to hold like a phone in one hand, but its too small to be used 2 handed. Also when using it one handed, I tend to hit the power button too often. It’s a lot heaver that I thought it would be too.
On to using it as an app development platform for Android apps, in particular with Corona SDK.
You need to be able to install apps from your webserver unless you want to tether. The Fire by default is set to only allow you to install from Amazon. In the settings, there is an on-off switch you can toggle that will allow you to download from any source.
I already had an Android .apk file loaded to my webserver, so I bopped the Fire’s browser to the URL where the .apk file lived, it downloaded the file and then let me install it with ease. I was quite happy with the process. Right until I launched the App. It started up but immediately gave me an message that I needed to build specifically for Amazon/Kindle Fire. This appears to be a Corona SDK generated message.
The Fire has restricted hardware and by default Android apps are built with access to the telephone, which for Fire apps isn’t available, so Ansca is probably trying to protect us, but this shows the limits for using the Fire with its restricted hardware from being a good generic Android test platform.
Since I only have one app out, that requires hardware the Fire doesn’t offer, this really isn’t that big of an issue, I just have to build versions specifically for the Fire. I produced .apk’s for several of my apps and have installed them.
Here’s the lowdown…
Omniblaster, my first app: This runs like a dog on the Fire. The player’s ship moves based on the accelerometer. The ship moves smoothly on iOS devices, but on the fire, there were very noticeable pauses as you tilt the device to move.
Turkeys Revenge which is live in the Amazon store played pretty well. Not real complaints but one, which I’ll get to in a minute.
An un-released photo gallery app: Had all kinds of problems. This is a storyboard based app, so I’m fighting the “fixed” delays. There were noticeable pauses during scene transitions. When I used my zoom function to load a larger version of the photo into a scroll view, I couldn’t close the screen with a double tap. This same code worked flawlessly on my iPhone 4 and in the Corona simulator.
Regardless of which app, custom fonts just flat out don’t work. I can’t with 100% certainty say I know how to do custom fonts with Android, but from my testers, the fonts appear to work on Android phones. I wrote a simple test App that just prints out the name of the available fonts, which should show any TrueType fonts in the resource bundle along with installed fonts and my custom fonts just simply are not in the list. This is a huge turn off for the Kindle Fire as a test environment, though it’s important to know about the problem since how I know about this Fire behavior.
In conclusion, as a consumer of the device, if I was just interested in watching video or some casual web surfing or reading books and I’m an “Amazon” person, the Fire would be worth the $199. It is not a great replacement for a general tablet and it’s not that great as a Corona SDK test environment since there are clearly differences between what a general Android device will see and what the Fire will see. If you were one of the lucky ones to snag a refub then it’s probably a fair price to pay to see what your apps are going to be like to the Amazon customers.