Top 10 Android 2.2 Features Developers Can't Wait to Use
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.