Two veteran mobile app developers compare Android 2.2 (aka Froyo) with older versions and highlight the areas where the platform has grown the most.
The Android platform has really matured in the past year or so. With the latest Android 2.2 SDK just released at Google I/O 2010, we thought it would be fitting to do a little review of how far the platform has come.
In typical tech-sector lingo, the Android development team has used a naming theme for all the Android SDK versions, naming each (alphabetically) after sweets: Cupcake (Android 1.5), Donut (1.6), Éclair (2.0), Flan (2.1), FroYo (2.2), and the upcoming Gingerbread (3.0). Despite being referred to as "minor," many of these releases have had major implications for developers and carrier/operators -- not to mention users.
The Android development team has been adding features to the platform at a fast and furious pace -- maybe too fast for some. In the past 18 months, they have produced eight separate Android releases, each of which was deemed important enough to have its own API Level number. Statistically, since Android 1.5, 19 new packages and 172 new classes have been added to the Android SDK. Along the way, even more changes (additions, removals, improvements, bug fixes, etc.) have been made to existing classes.
We're now on API Level 8, which corresponds to the Android 2.2 SDK. Aptly named FroYo, the Android 2.2 SDK is leaner, faster and comes with a variety of new and interesting features (flavors?). Currently, though, there are really only three SDK versions running on devices: Android 1.5, 1.6, and 2.1. It's pretty safe to assume that most Android 2.1 devices will receive an over-the-air firmware upgrade to 2.2 in the coming months.
Now let's look at some of the areas in which the Android platform has grown the most.
Explosion of Android Devices
It's hard to believe, but just a little more than a year ago the only Android phone available was the T-Mobile G1 (USA only). Now, more than 60 Android devices ship across 48 countries and on 59 carriers. And the devices are as diverse as their user bases -- the Android platform is now running on everything from sleek smartphones to monster tablets to companion applications that complement the anticipated/hyped electric car, the Chevy Volt. Soon, developers also will be able to develop applications using Google TV (a marriage between Google Chrome and Android). With 100,000 devices activated daily and a thriving app marketplace, the Android platform is growing very rapidly.
A Thriving Market: If You Built It, They Will Come
Not long ago, the Android user community was considered mostly early adopters. The Android platform adoption rate (measured in device activations) recently outpaced that of the Apple iPhone. There are now millions of users running Android devices worldwide, with 3 million new devices added monthly. Having aggressive adoption rates is excellent news for Android developers -- after all, they need people to buy their apps.
Nowadays, we can't leave our homes without encountering some random non-geeky layperson jamming away on his or her Android device (yes, we pay attention to such things). Whether it's a late-night hotel manager, the international business exec sitting in first class, the friendly chef at the local bakery, the Facebook-addicted babysitter or even one of our moms who lives in rural Vermont, Android users now come in all flavors. And developers can benefit from this because user diversity means a huge opportunity for niche applications.
The Android Market now hosts a pretty impressive catalog of Android applications. It wasn't very long ago when the Android Market didn't even support paid applications. Today, 50,000 applications now coexist and thrive on there, which means:
- Healthy competition
- Happy users
- Assurance of a stable and thriving future for the Android platform
New applications are constantly rising to the top and garnering tens of thousands of downloads and rave reviews. For a good case study, check out Chris Prett's Replica Island, a free game recently featured on the Android Market. If the success of Replica Island is any indication, it's certainly not too late to write some cool Android app and make a name for yourself.
The marketplace has also remained remarkably open and accessible, despite the walled-garden problems of past mobile platforms.
Flash Will Make a Splash
The addition of Flash 10.1 and AIR support in the Android 2.2 platform just caused the number of "applications" available to Android users to go from tens of thousands (native apps) to millions (all the Flash-based apps on the web). Flash support is a compelling feature likely to tempt many users to consider an Android device if they haven't before. Even those who aren't tech-savvy have complained to us about the lack of Flash support on mobile devices because they can't access their favorite web tools, whether they are the Nickelodeon website or the WeightWatchers e-tools for lifestyle management.
Adding Flash may also shake up the Android developer community a bit, as native apps will have to compete with a huge contingent of web apps. Still, the bottom line is, if it's good for users, it will be good for platform adoption and therefore good for developers.
The Personal Platform: Not Just Wallpapers and Ringtones
A lot of users probably took a look at the first Android gadget out there -- the T-Mobile G1 -- and judged the Android platform as a whole based on that device. Sure, it was a cool, but it lacked polish and personalization. The people who compared the G1 to the Apple iPhone particularly found it lacking and not ready for prime time.
Few can say the same about Android these days, however. Devices running Android 2.0 and above (especially FroYo) hold their own against all competitors and are even starting to steal some of the hype from specialty devices like the Apple iPad. The personalization and user customization features available in FroYo make every other mobile platform out there look "vanilla."
From the developer's point of view, personalization is an application's ability to make changes or provide services to users that allow them to have personal experiences on their devices. That is, one that integrates application content and personal choices in the user experience. Here are some Android customization features:
- Traditional ringtone and wallpaper customization, including application integration
- "Live" and interactive wallpapers
- Themes and styles
- Enhanced font support
- App Widgets and other plugin style application customization support
- Voice command and text-to-speech support
- Support for a variety of screen sizes and resolutions
- Specialized device configurations like "night," "car" and "desk" modes
Users Talking Less, Browsing and Texting More
Performance and responsiveness are key to the FroYo release, which is the fastest version of Android to date. You may have heard something about FroYo having the "world's fastest browser," but the operating system as a whole has received a major overhaul. Developers can also take advantage of upgraded components, such as more efficient parsers.
Phones are, by definition, messaging devices. However, they haven't always allowed applications to leverage various messaging technologies, from sending and receiving text messages internally within an application to a fully automated, push experience. Messaging, though, has been a core feature set of Android since long before the original 1.0 deployment. Unfortunately, when 1.0 came out, many of the hyped messaging features were missing or hidden. However, they've been creeping back into the platform with the past few Android releases. For example, the
SmsManager was reintroduced in Android 1.6 and Cloud-to-Device Messaging (C2DM), which can be used for push applications, is being phased in as part of the Android 2.2 release.
Enhanced User Experience
The user interface components of Android have been improved and polished over time. FroYo is the most polished version of Android yet -- and it's pretty sweet.
By streamlining the platform, Android has been able to pack in more power. For example, Froyo supports OpenGL ES 2.0 for the first time. Audio and video support was greatly enhanced for the FroYo release, and the camera and camcorder are better than ever.
Developers can also take advantage of the many ways users can interact with devices. It might seem strange now, but the first couple of releases of Android didn't even have the notion of an onscreen keyboard (also called a software keyboard). Android's input system has changed dramatically to be one of the most dynamic around, allowing a variety of input devices, custom input methods like gestures, and even voice input. In fact, voice support barely existed in Android 2.1, but it was greatly enhanced for the FroYo release.
Development Tools Stay Current
Having developed for all the major mobile platforms, we think it's safe to say that the Android development tools are the best we've seen in mobile.
During the past year, developers have seen major upgrades and enhancements to the Android platform tool chain as well as the Android SDK itself. Early Android tools were tied to a specific SDK. They have since been broken out and componentized, allowing developers to target all shipping Android SDK versions with a single installation. Recently, much of the focus on tool features has been in these areas:
- Testing and instrumentation
- Performance and benchmarking
- User interface streamlining
The Android platform's growth has been fast and furious -- in terms of device availability, platform adoption by users, and SDK features. This growth means bugs are fixed relatively quickly, missing features are addressed, and other improvements, such as performance enhancements, are implemented and delivered. However, this also means that we developers have to keep up with a rapidly changing and expanding platform, which can be hard considering the Android platform's pace!
Here's to hoping Gingerbread (Android's next release) will be the sweetest yet.
About the Authors
Lauren Darcey and Shane Conder have coauthored two books on Android development: an in-depth programming book entitled "Android Wireless Application Development" (ISBN-13: 978-0-321-62709-4) and "Sams Teach Yourself Android Application Development in 24 Hours" (ISBN-13: 978-0-321-67335-0). When not writing, they spend their time developing mobile software at their company and providing consulting services. They can be reached at firstname.lastname@example.org and via their blog at androidbook.blogspot.com.