At Google IO this morning Adobe unveiled its Flash 10.1 beta for Google’s Android mobile OS. With Evans Data now reporting over 3 million Flash developers, it’s a platform that’s gone a long way beyond its original designer audience. Flash 10.1 is the first mobile version of the full Flash player and Android will be the first platform with full Flash support. (the previously available Flash Lite could only be installed by handset manufacturers and only offered a subset of an older version of the Flash platform).
Flash Player 10.1 is a major update, with support for new interaction models and APIs. There’s support for multi-touch, for gestures, and for accelerometers. The same features will work on mobile devices and on touch desktop and notebook devices.
Most existing Flash content just works in the Android beta, though Adobe says that it will continue to refine content with its partners. There’ll also be design guidance for developers wanting to build or update mobile versions of their Flash applications. One big change is a reduction in memory usage, in many cases up to 50% less.
Performance is much more important on mobile devices than desktop PCs, as resources are extremely limited. The Android version of the Flash Player performs well, thanks to work with Qualcomm as well as with Google. Qualcomm isn’t the only silicon vendor with Flash optimisation, as getting hardware acceleration is key to delivering an effective mobile solution. One key feature for improving performance is what Adobe is calling “smart rendering”, where content outside the viewable screen area isn’t fully rendered. There’s also support for low power states, reducing frame rates, and for sleep modes. This has also required Adobe to update its existing streaming protocols.
This results in a test H.264 video stream, playing in Flash with no hardware acceleration, running for 3 hours over 3G on a Nexus One. Playing casual games should offer 4 hours battery life.
Adobe has worked with Google to deliver additional features in Android, including support for over-the-air updates and content-triggered installation. This has meant that instead of the original expectation that Flash would run on Android 2.1 it now requires Android 2.2 (and can take advantage of a faster OS for AIR support). In a comment directed more at Apple than the keynote audience, Google’s Vic Gundotra described the partnership as “It's great to work together to serve users, it’s much nicer than just saying no”.
This will be a public beta release, with software initially downloadable from the Android market. Adobe also separately announced that Flash Player 10.1 will be generally available in June, for Android and for desktop PCs (including a 64-bit release). While Adobe has a focus on Android at present, work is continuing on other platforms including Windows Phone 7, BlackBerry, Symbian, and WebOS.
Developers get access to new debugging tools that deliver crash reports from devices to the Android market, where they can see a complete stack trace of any crash. The Android Market gets a considerable upgrade, with support for automatic updates. The keynote also demonstrated a future update will allow OTA delivery of applications to devices from a web version of the store. The market will also include music, and SimplifyMedia’s streaming media plugin for existing desktop media players will turn your own media libraries into streamed music sources, wherever you are. Applications will also be able to be installed to an SD card – and run from it.
Enterprise users looking for an alternative to the classic Windows Mobile platform will find Android 2.2 very attractive, with support for two Exchange Active Sync connections (as well as sync with the Google cloud services). There’s also the ability to make any Android device a mobile-to-WiFi hotspot, connecting any WiFi enabled device to the internet (including Apple’s iPad). The new Exchange capabilities include account auto-discovery and calendar sync. There’s also (finally) a set of device policy management APIs that allow developers to write applications that can control security features of the device, including remote wipe, minimum password, and lockscreen timeout.
Another option is support for a new set of backup APIs, which add data backup to application backup, allowing an application's last data to be restored when installed on a new or a reset device. There’s also a new Cloud-to-device Messaging API, where an application server sends a message to a messaging server which sends it on to an android device. In a swipe at Apple, Google describes it as “Much more than a push notification service designed to make up for a lack of basic features like multitasking".
Developers can download the Android 2.2 SDK and Android NDK, Revision 4 now from the Android developer site. Froyo will be made available to OEMs and the open source community in the coming weeks.