This story was written by Keith Dawson for UBM DeusM’s community Web site Develop in the Cloud, sponsored by AT&T. It is archived here for informational purposes only because the Develop in the Cloud site is no more. This material is Copyright 2012 by UBM DeusM.

Targeting Amazon Kindle Fire HD

There's a good argument that Android developers should swing their attention to Amazon's ecosystem. Here's how to get started.

With the release of the Kindle Fire HD, Amazon's Android ecosystem is looking increasingly attractive. Here are some pointers on getting your development effort cranked up there.

When the Kindle Fire made its debut almost a year ago, I and others predicted it would take a bite out of Apple's iPad sales, even though the initial Fire was a smaller and less ambitious device than the iPad. The sub-$200 price, plus Amazon's marketing muscle, practically guaranteed that; and so it proved to be, despite widespread reports that the device could be slow, unresponsive, and prone to freezing.

Amazon has claimed that in the ensuing year, the Kindle Fire garnered 22 percent of the worldwide Android market. Other sources consider this number credible and, given that the initial Kindle fire was sold only in the US, put its US market share around 40 percent of all Android tablets sold. (It is arguable that until Google's Nexus 7, there weren't many compelling products in that market space.)

With the new line of Kindle Fire devices coming out in time for the holidays -- and presumably with the early bugs and glitches addressed -- sales should really take off. It's time for Android developers to pay attention to crafting applications for Amazon's Android Market, if they have not done so to date.

James Kendrick, writing for ZDNet, urges folks to go all-in with Amazon, arguing that the Amazon Android Market's smaller size makes it easier to get noticed, and that developers are more likely to get Amazon's attention, and marketing help, with a high-quality app.

Whether you're ready to throw in your lot completely with Amazon, or just want to add the Kindle Fire to your development toolkit, you'll need to set up the environment. Techtopia has a thorough step-by-step post on doing so, for those who use Eclipse for Java development, on Windows, Mac, or Linux.

For nitty-gritty details of how Kindle Fire development compares to that for Google Android, let's turn to Mike James's 2-part writeup for the iProgrammer blog. James insists on calling Amazon's version of Android "Amazondroid," and I suppose that's fair enough since Amazon did do a clean fork and is not sharing its code back with Google, to the best of my knowledge.

James looks first at the Kindle book-reader devices that sit below the Fire in the product lineup, and notes that they run "a customized version of Linux (Kernel 2.6.22) with custom drivers for the special hardware in use." Outside development for these devices, via access to the Kindle Development Kit, is limited to a private beta and does not look to be very lucrative.

For the new models of the Kindle Fire, James notes that they all run the Ice Cream Sandwich (4.0.3) version of Android, and "the family forms a very uniform platform only varying by the availability of a few peripherals." He also confesses to surprise at how little modified the Fire version of Android is from Google's ecosystem.

A few extras in Amazon's SDK are worth noting. Amazon Maps uses Nokia's instead of Google's map data. James writes that this API is by invitation only. GameCircle is an optional API with which you can allow players of your game to earn achievements, appear on public leader-boards, etc. And Amazon In-App Purchasing is required if you provide for users buying a subscription or other digital content inside your app; Google's in-app purchasing doesn't work in the Fire environment. This API is especially attractive as you can allow your users to purchase hard goods from Amazon with one click.

Do you have experience developing in Amazon's ecosystem, or are you considering setting up there now? Let us know in the comments.