Kindle Fire is a new addition to the Kindle family with a vibrant color touch display that offers instant access to the Amazon Appstore, along with Amazon’s massive selection of digital content and free storage in the Amazon Cloud. A fast and powerful dual-core processor powers the 14.6-ounce device that’s light enough to hold with one hand—all for only $199.
Kindle Fire puts Amazon’s incredible selection of digital content at customers’ fingertips:
Stunning Color Touchscreen: Content comes alive on a 7” vibrant color touchscreen that delivers 16 million colors in high resolution and an extra-wide viewing angle.
Fast Dual-Core Processor: Kindle Fire features a state-of-the-art dual-core processor for fast, powerful performance. Stream music while browsing the web or read books while downloading videos.
Easy to Hold in One Hand: Designed to travel with you wherever you go. Light enough to hold in just one hand, Kindle Fire is perfect for browsing, playing, reading and shopping on-the-go.
Beautifully Simple and Easy To Use: Designed from the ground up, Kindle Fire's simple, intuitive interface lets customers spin effortlessly through your recent titles and websites straight from the home screen.
Free Cloud Storage: Kindle Fire gives you free storage for all Amazon digital content in the Amazon Cloud. Apps, books, movies, and music are available instantly to stream or download for free, at a touch of a finger.
Ultra-fast web browsing – Amazon Silk: Amazon Silk is a revolutionary, cloud-accelerated browser that uses a "split browser" architecture to leverage the computing speed and power of the Amazon Web Services cloud. Learn why it’s so fast.
Only $199: The all-new Kindle Fire is only $199. Customers in the U.S. can pre-order Kindle Fire starting today at www.amazon.com/kindlefire, and it ships Nov. 15, 2011.
Read more in the press release.
Since Android’s first release in September 2008, the number of Android users and supported devices has steadily increased. A recent comScore report shows that there are now nearly 16 million users in the US owning Android smartphones, surpassing the total number of iPhone owners. Late last year, Canalys reported that Android claims a quarter of the smartphone market segment share. Their recent report says that Android’s growth in 2011 will be twice the rate of their major competitors, including Apple’s iOS-based devices. There is a growing market segment here that presents a great opportunity to developers including those in the Android space, and those who have only developed for iPhone and iPad. For iOS developers, porting apps to Android presents a rare opportunity to tap into this market segment and a fast growing user base.
If you are considering taking advantage of this opportunity, here are key topics to be aware of when porting your apps from iOS to Android.
Differences between iOS and Android programming
Apps for iOS are written in Objective-C, an object-oriented descendent of the C programming language. Android apps are written in Java, a very popular programming language invented by Sun in 1994, traditionally used for building server-side applications over the past 15 years.
In addition to the differences in language, syntax and semantics, there is also a key runtime difference that affects how your code is written. Java has automatic garbage collection, which means that you do not have to explicitly free objects after they are used. Objective-C requires developers to manage memory explicitly.
Integrated Development Environment (IDE) options and SDK platform support
You have more options when it comes to selecting an IDE and platform when writing code for Android. While building Java-based apps, you can write and compile your code on all major operating systems, including Linux, Windows, and Mac OS X. Furthermore, the Android SDK integrates with most major IDEs, such as Eclipse and Intellij, which means you can run an Android emulator and test your application on either of these IDEs and operating systems. The iOS SDK, which includes XCode IDE, runs only on Apple-based operating systems.
Apple is the only provider of iOS devices, while many vendors offer devices supporting Android
As we discussed in a previous post, Android has many vendors, which means Android devices have varying capabilities and features. iOS devices are only manufactured by Apple and are currently limited to iPhone, iPad and iPod touch. For developers who are accustomed to building apps for a small set of devices, building apps for Android presents a completely new challenge.
Ultimately, iOS developers with a good understanding of these fundamental differences will be able to assimilate well in developing apps for Android. In fact, the developer who was previously constrained by the platform limitations of iOS devices may now find the flexibility of having IDE options, SDK platform support and the nuances of the Java language to be refreshing and energizing.
At last week’s CES, it was hard to ignore the fact that many technology pundits are considering 2011 as the year of the tablet. And although Apple should be thanked for resurrecting interest in tablets in 2010, 2011 will see a record breaking surge in the number of vendors bringing new tablets to market. Sean Dubravac, Chief Economist and Director of Research, Consumer Electronics Association, predicted, “While many firms are touting product launches within the tablet sphere for the fourth quarter of 2010, the real action will occur a few weeks after the end of the quarter at CES.” The next few weeks will be telling for the future of the tablet and so far it’s looking quite bright.
The good news for you, the Android developer, is that many of these tablets will be sporting Android OS and, with the recent announcement of the Amazon Appstore Developer Portal, you have a convenient way of offering your apps to both tablet and smartphone users. We’re not mandating that you optimize your apps for tablets as well as smartphones, but it’s definitely something you should consider.
The expected surge in the number of tablets on the market and the number of Android devices a single user will own brings forth new opportunities and challenges. The opportunities are clear—more devices mean more users, more hardware features and more APIs to take advantage of. These new tablets will continue to feature larger screens and supported resolution levels, ample amounts of disk space and extremely fast processer speeds that are not far behind that of a typical laptop. An important thing to remember as a developer is that customers may be using your app across tablets and smartphones – no longer just one or the other.
A quick comparison of the best selling smartphones and tablets on Amazon.com shows that tablets boast 50-100% more screen real-estate and 50% more disk space. Furthermore, many of the tablets demonstrated at CES also feature dual-core CPUs. These differences make it more important than ever for developers to be aware of the device capabilities and limitations. With Amazon.com’s convenient 1-Click purchase and digital locker features, customers will be able to buy your apps and run it on any of their Android devices. Unfortunately, the growth in devices will present one of the biggest challenges for you—you want to continue to build and extend your killer apps and offer it to the tens of millions of Amazon.com customers, but you also want to keep your customers happy by setting expectations on how and where the apps can be run.
The Android SDK requires that each application contain a file called AndroidManifest.xml within the apk. This is where you can let the system know what your app needs at a minimum to run and what resources and services it will use. For instance, if you are building a word processor app that is designed to only run on a tablet, you will want to set the android:largeScreens attribute to “true” on the <supports-screens> property, while explicitly setting the small and normal screen flags to false. If you don’t declare this requirement for your app, then the Android system will assume it works on all screen sizes.
On the other hand, if you are building a game that looks great on any phone or tablet, then you can declare this in the xml file by including the following settings:
One thing to be aware of, however, is that once you declare support for all screen sizes, you will want to check the DisplayMetrics settings at runtime to make important display decisions in your code. This information can be used to make performance optimizations, such as displaying low to medium resolution images on small devices and high resolution images on large screens—a great way to avoid creating multiple versions of your app.
Apps that depend on hardware resources, such as GPS, Wi-Fi or Bluetooth capabilities, can define these requirements by appropriately setting the <uses-features> option.
Furthermore, with last month’s announcement of the Gingerbread release, there are now 6 flavors of Android OS in use. If the trend over the past two years continues, you can expect one more major release (3.0, Honeycomb) and another minor release to be announced before 2012. With major features being added in every new platform version, such as improved copy-and-paste and faster text input processing in Gingerbread, you will want to take advantage of these capabilities and also ensure your apps only run under their supported environment. The manifest provides a way to enforce dependencies on specific SDK features by using the <uses-sdk> flag.
Customer satisfaction is a key driver behind Amazon.com’s success. As you develop and offer your application to Amazon.com’s customers, following these Android development best practices guidelines is a great start towards achieving similar success.