Android 2.2 (Froyo) provides developers with some much-anticipated features for a minor SDK release. Here are the top ten features developers cannot wait to get their hands on.
Android 2.2 (codename: Froyo) is a minor SDK release, but it still packs some punch, providing both developers and users with some much-anticipated features. After attending the Google I/O conference and witnessing the Froyo announcement, here are the top ten features (in no particular order) that we think developers cannot wait to get their hands on.
1. Flash 10.1 and AIR Support
There may be some disagreement about the viability of Flash on mobile, but it's coming to Android phones. Whether or not Flash is the future is really not the question; for now, Flash is pretty pervasive on the web, so cutting it out is in effect cutting out many of the dynamic web apps users already enjoy.
Beginning with the Froyo release, Android users will be able to download the open beta version of Flash 10.1 as well as AIR support (in the form of an Android application) from the Android Market. This decision substantially expands the number of web applications and sites accessible to Android users and widens the development community for Android substantially.
This may become a double-edged sword for Android developers, however. How will this change the content of the Android Market? With boatloads of Flash apps out there (Texas Hold 'Em, anyone?), why would anyone want to bother creating a native Android app version? Well, there certainly are valid reasons, but we think a lot of companies would need to be convinced when native apps require them to target multiple platforms to reach their customers. Maybe Flash apps will help weed out the weak and badly written native Android app competition, but will it strengthen the Android development community as a whole? We'll have to wait and see.
2. Push Messaging
Developers can now leverage another of Google's services, the Android Cloud to Device Messaging (C2DM) Framework. This framework provides a service for enabling limited push functionality to Android devices through Google services (which handle the queuing and secure delivery of lightweight messages to the device). While the framework is getting ironed out, developers can sign up at the Google Labs website. Google apps, such as the Android Market for the Web, will soon be using this feature to push Android applications purchased via the Web to the phone over the air. This technology should help resolve some of the crazy polling traffic caused by Android applications at the moment (resulting in reduced battery life, performance reductions, etc.).
3. New Enterprise Features
Android is finally positioning itself for some serious enterprise use. The Android 2.2 SDK includes new Device Administration APIs (
android.app.admin) for remote and secure device management. Here you'll find APIs for managing device security, including password policy enforcement and the ability to remotely lock and wipe the device. For example, if an employee lost his or her phone with its sensitive data and credentials, the phone could quickly be locked and wiped of that data.
Froyo also introduces more robust Microsoft Exchange support (see #9). We also heard some murmurs about Android Market-like deployment solutions for the enterprise, but these will likely come later (but not in Froyo).
4. Performance Improvements
Developers and users benefit from Froyo's vast and deep performance improvements. It seems some of Google's most bloodthirsty quality and performance geeks combed the platform for "jankiness" (a term heard often from Googlers that means uneven performance and responsiveness) and built in a lot more instrumentation and benchmarking behind the scenes. This much-needed performance overhaul resulted in a smoother, leaner platform that hums -- and a plan to keep it lean and speedy in the future.
5. Audio and Media API Improvements
A number of problems and logistical issues with the Android media APIs have been addressed with the Froyo release. For example, an Audio Focus API has been added for managing audio playing etiquette amongst competing applications. The SoundPool API was also updated to include a callback for when an item has completed loading, as well as the ability to pause and resume all streams so an application no longer needs to keep track of each nor do these actions on each individual stream. This improvements ease implementation and enhance efficiency.
6. Across-the-board SDK Enhancements
Numerous Android APIs were added as part of the 2.2 release. Graphics and game developers will welcome the support for OpenGL ES 2.0 and ETC1 texture-compression support. Services like speech recognition (
android.speech) received substantial upgrades and peripheral APIs such as those that support the Camera and Camcorder have been greatly improved. A new UI Mode Manager (
android.app.UIModeManager) service adjusts the device configuration for night mode, car mode, and desk mode (docking state).
As of Android 2.2, applications are not limited to installation paths on the main device, but can also be installed on external storage such as an SD card. There is also a new generic data backup service Android applications can use to allow users to transition seamlessly between Android devices.
In terms of sensible but frustrating API changes, the layout attribute
fill_parent has been renamed to
match_parent (no, it won't break your old apps -- yet). Even debugging got an enhancement with a blob-based "logcat" style queue of data in the form of DropBoxManager. The list goes on.
7. Android Market Updates
There are quite a few updates to the Android Market coming with the Froyo release. One of the most useful new features for publishers is built-in error reporting. If your application crashes on a user's phone, the user will have the option to send the error report back to the specific publisher through the Android Market. This enables a full-circle user-developer feedback loop, allowing publishers to address problems (and receive valuable crash diagnostic information, such as the device configuration and stack trace) and avoid ratings disasters.
And let's not forget that Android developers are also Android users. In addition to the expected performance improvements and "Chrome" added for the Froyo platform release, there are a number of compelling consumer features delivered in Froyo, such as:
8. Tethering and the Portable Hotspot
Froyo delivers USB tethering and the ability to turn your Android device into a portable Wi-Fi hotspot. This is a an awesome feature, but we wonder how many operators/carriers are going to hide and/or disable it, as some have done with similar features on competing platforms. If we had to guess, we'd say that this is one of those compelling features that might improve Android adoption (although at 100,000 device activations a day, Android isn't doing too badly) but also is most likely to frustrate these same people when they cannot get that feature on a shipping phone. We'll see.
9. Microsoft Exchange Support
Nobody likes juggling phones based on whether they're using it for work or personal reasons, and there's a pretty substantial class of users out there who are greatly limited in their choice of mobile devices based upon their corporate IT requirements -- notably, support for Microsoft Exchange. (Frankly, it seems crazy to us to call anything a "smartphone" if it doesn't support Microsoft Exchange, but that's just us.)
Android 2.2 includes lots of new Microsoft Exchange features, such as:
- Improved security features allowing administrators to enforce password policies
- For Exchange administrators, remote wiping of a device if it is lost or stolen
- Exchange calendar support now compatible with the Android Calendar app
- Auto-discovery for easy account setup and syncing
- Android Email support for auto-completion of recipient names and addresses using Microsoft Exchange Global Address Lists
10. "The World's Fastest Mobile Browser"
That's it! Those are the ten Android 2.2 features we can't wait to get our hands on. What are yours? The new SDK can be downloaded via the update mechanism and more information can be found at the Android 2.2 Platform page.
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 http://androidbook.blogspot.com.