Flash Player 10.1 Beta launch at Google IO

Surprise!  Today at Google I/O Vic Gundotra, Google VP Engineering announced Flash Player 10.1 and Adobe AIR 2.5 running on FroYo.  The launch today represents a milestone that we’ve been working towards for some time, and all of us at Adobe are hugely excited to see Flash Player 10.1 finally get into the hands of consumers.

The beta is now waiting on the Android Market for Nexus One and Motorola Droid users with Froyo to test out.  General availability is expected on June 17th 2010.

While today’s announcement is all about Android, our target mobile operating systems for Flash Player also include Windows Phone 7, webOS, Symbian, and BlackBerry. Adobe provides a porting kit and Linux-based reference implementation to Open Screen Project partners to allow them to port Flash Player 10.1 to other platforms. These ports are subject to Adobe certification and must pass our standards for compatibility, performance and usability in order for devices to be marketed as “Includes Adobe Flash Player.”

Optimise your Flash Content

Flash Player 10.1 on Android

In all, Flash Player 10.1 has been built from the ground up, and not just for mobile phones but for the desktops, tablets, netbooks and even televisions, consoles and set-top boxes.  We have been working extremely hard on the runtime of course, but on top of that many of you have been working with us to optimize your web content for Flash Player 10.1.

Here is a landing page that features a number of websites that highlight the variety of Flash Player user experiences available on a mobile device. These sites and most popular websites that use Flash can now be accessed on smartphones supporting Flash Player 10.1.

Since we demonstrated the Flash Player on Android at the Mobile World Congress there have been a number of decisions made, changes implemented and tweaks applied to Flash Player 10.1.  These changes focused on usability, integration, performance and power management – so let’s look at some of these in more detail.

Installation and updates

I have documented the process over here in another post.  Suffice to say, the process is simple and demonstrates our commitment with the Open Screen Project to ensuring the evolution of Flash Player on mobile and devices.

Multi-touch

Due to time constraints with shipping FroYo it hasn’t been possible to make all of the Android browser changes required to enable multi-touch in Flash Player.  Web enablement has always been the top priority and so this (extremely complex) integration will happen later.  AIR 2.5 on Android is multi-touch enabled and so it’s still possible to use your fingers, thumbs and toes as necessary on Android.

Accelerometer

One of the cool new feature of Flash Player 10.1 is the accelerometer API, making Flash Player the first browser technology to support access to this hardware.  In Device Central CS5 we have added some emulation support for the API, you can read more here.

Focused Mode (single tap)

The Android and other browsers support multi-touch for viewing web pages, so that you can pan and zoom around non-optimized sites with ease.  To ensure that touch events are received by Flash or the browser appropriately we have created focused mode.  It works very simply using a priority system, so if you tap the Flash content that you want to interact with Flash receives the touch events, if Flash doesn’t pick up the event then it’s passed to the browser.  Tapping on the HTML will revert this focus priority back to the browser.

Smartzoom (double tap)

When a user double taps a piece of Flash content it will zoom to fit the screen, while maintaining the correct aspect ratio.  The content is still viewed in the context of the HTML, rather than launching into full screen mode.  This ensures that content remains in embedded mode – which makes sense given that this is the predominant usage of Flash on the web.

FullScreen (AS-only)

Another change to our previous showing is that FullScreen mode is now controlled via actionscript, just as it is on the desktop.  So if you want your video player or game to playback using the full screen, then you’ll need to use this code: stage.displayState=StageDisplayState.FULL_SCREEN;

Smart Rendering

We have already seen some of the benefits of this effort on the desktop version of Flash Player 10.1.  Essentially it means that Flash content that’s not visible to the user will not be rendered and will receive limited CPU time.  SWFs that are off-screen and/or consuming required resources can also be put to sleep and resumed on demand.  You can control this behaviour by applying priority values to SWF files using the embed tag.

Video Hardware Decoding

One of the hardest features to get right has been video hardware decoding, and for the beta version this will not be enabled.

Sleep Mode

The player will be put to sleep along with the device to conserve power.  So if you fall asleep watching youtube then you won’t wake up to talking cats at 4am – tried and tested.  cats…

Out-of-Memory Management

For me, this is the kick-ass feature that should always have been arbitrating the use of the Flash Player.  If your content is not optimized correctly, has serious memory leaks and manages to use too much CPU power then it’ll go in the “sin bin” :-)   These SWFs will render with a “click-to-play” button that the user can control as necessary.

Device Events

As with Flash Lite before it, Flash Player 10.1 has to be a good citizen on a mobile phone.  So if you receive a call or change application then Flash Player will respond appropriately, which typically means shutting down or pausing depending on the platform.

Minimum Spec

As has been documented before, our minimum spec for Flash Player 10.1 is ARM11-Cortex A8/9 at 550mhz.  For Cortex-A8 processors we require NEON, which enables improved multi-media playback for a lower mhz rating.

If you don’t know what any of that means then I wouldn’t be too concerned.  These chipsets represent the bulk of what our OEM partners are shipping, or planning to ship moving forward – and this list will undoubtedly expand.

AIR 2.5 on Android

Also announced today is an expanded pre-release of AIR 2.5 for Android devices.  Many of us on the Evangelism team have been playing with this for several weeks now, and it’s seriously cool.

More info here

Web 2.0 Expo 2010 Highlights

In case you missed it, Adobe was at Web 2.0 Expo in San Francisco this past week discussing and demoing some of the latest Flash Platform technologies running across devices. We showed Flash Player 10.1 and AIR 2 (available in the first half of this year) running on the Google Nexus One, Motorola Droid and Palm Pre, as well as the Dell tablet. Seeing the latest builds of Flash Player and AIR in action you could see firsthand how developers can deliver the same great experiences users expect on their desktops, right on their devices.

Continue reading

PhysicalFoursquare – A Flash Player 10.1 Demo App Using the Foursquare API

As you’ve seen, we’re getting close to having a version of Flash Player 10.1 that will be available to the broader public. And a lot of the evangelists have been creating some cool demos of how Flash Player 10.1 behaves on the Nexus One.

I wanted to do something slightly different and build more of a functional application.

I come from a Flex background and so I haven’t spent a lot of time creating ActionScript only projects. And while Flex performs pretty well on Flash Player 10.1, doing an AS3 only project gives it a better shot at running, especially as the application gets more complex. So I went with ActionScript only and created an application that uses the Foursquare API as well as the Geonames database to find and let me check into physical features like mountains, streams, lakes, etc when I’m out hiking and want to still be able to check into Foursquare.

Thoughts on Building for Mobile Flash

As you’ve seen, a lot of Flash content will just work. And because of the AIR for Android packager, a lot of people will just end up building applications and not worry about creating in-browser Flash apps for mobile devices. But I wanted to try it. A few thoughts:

One, the Flex mobile framework can’t come soon enough. I have so much more respect for the old-school Flashers because rolling everything by hand is a pain. And I had it easy because I was dealing with a fixed resolution since I was specifically targeting the Nexus One.

Two, while I didn’t do much in the way of performance tuning, that’s going to be important. These are pretty beefy devices and we’ve done some great optimizations, but for complex Flash content, tuning your code will be central to a good experience.

Three, as Mike Chambers showed, hover content works, but I found it kind of annoying. The way it’s currently set up, the hover event fires after the down event fires. So using SimpleButton the way I normally use it didn’t quite work because the effect was off. I ended up just making the hover state the same as the down state.

Lastly, I was surprised how much just worked. I pulled a LOT of third party content into this application. Keith Peter’s Minimalcomps, the Foursquare AS3 API by Tim Walling, my own AS3 library for Geonames, the Google Maps API, TweenLite, Shannon Hicks OAuthAS3 library – and it all worked just fine. Part of what I wanted to test was how much I could throw at the device and I was pleasantly surprised by how well it all worked even on the beta bits of Flash Player 10.1. So when you target these devices, you’ll be able to use a very similar workflow which I think is important.

To see the application in action, you can check out the video above or test the application in your browser here. You’ll need to have a browser like Firefox 3.6 that supports geolocation and if you check in you’ll be checking in this poor guy. All of the code is available on GitHub and you’re free to do with it what you will. Unfortunately my OAuth implementation was half-assed, so the Foursquare checkin didn’t work, but it works in the browser.

Device Central CS5 – Accelerometer Emulation

Many devices now come with Accelerometer, in fact back in late 2007 it was “discovered” that the Nokia N95 had one that wasn’t exposed through an API.  Nokia were in fact using the chip to create better images from the camera by removing the dreaded shakes, and even today it’s one of the best devices for taking pictures and video.

Lately we’ve seen these chips used to rotate the UI or to provide interesting models for user interaction through gestures like shaking.  So we thought it timely to introduce the flash.sensors.Accelerometer API into Flash Player 10.1 and AIR.  With the new API you can create games and applications that make use of the API consistently across device platforms.

In Device Central CS5 we have also added a new feature to help with the testing of applications and content using this API.  The team tell me that this new feature is actually using Flash Player embedded in the panel!

The video below covers this new feature, including the APIs, testing and deployment with Device Central, as well as  a demo on the Google Nexus One.

Flash Player 10.1 Tablet (NVIDIA Tegra & ARM)

While I was at the Mobile World Congress earlier this year I recorded a quick video of sample tablet hardware running a beta version of Flash Player 10.1.  It has taken a “little” while to arrive on Adobe TV, but in the video I’ll show some popular websites covering video and gaming.

The hardware is a development board sporting the ARM based NVIDIA Tegra Next Generation chipset, which is a dual-core ARM-Cortex A9 device.  Although I didn’t show it here, at the conference we were also running AIR applications beautifully on the hardware.

Our Open Screen Project partners NVIDIA announced that some 30+ tablet computers are expected to ship in 2010 with this chipset.  One of the advantages of having NVIDIA and ARM as Open Screen Project partners is that we can all contribute collectively to Flash Player acceleration for these devices.  So as OEM begin to adopt TEGRA they can rest assured that the Flash engineering is already taken care of.

My favourite so far would have to be the NotionInk Adam, which is an Android based tablet created in India.  The screen apparently has transmissive, transflective, and reflective display modes that will serve the device well in different lighting conditions.

Couple of Flash Player 10.1 Nexus One Videos

Last week I did a very quick, Flip Cam-quality video of Flash Player 10.1 running the March Madness on Demand site on a Nexus One. There is some stuttering when I switch from portrait to landscape, but other than that, it plays pretty well. It’s hard to capture with the Flip, but I was pleasantly surprised at how well it worked.

Also, Harish, one of the Adobe Evangelists in India, ported an AIR application he built to a browser app with Flex 4 and shows it running on the Nexus One. It’s pretty slick to see how well a Flex 4 app work on that little device.

Video: AOL Media explains the benefits of Flash Player 10.1

Sun Sachs from AOL Media explains how Flash Player 10.1 coming to mobile devices is going to change the way they publish their 88+ brands across multiple devices.

For more videos from Mobile World Congress, check out the MWC page on Adobe TV.

Video: Brightcove about Flash Player 10.1 on mobile devices

At Mobile World Congress in Barcelona, I bumped in to Cameron Church from Brightcove. We talked about the Brightcove Mobile Experience and Cameron explains how Flash Player 10.1 expands Brightcove’s reach to smart phone users.

For more info about Brightcove, check out brightcove.com.

“What’s new in FP10.1 and AIR2″ slides and source files

Earlier this week I did a presentation on all things new in Flash Player 10.1 and AIR 2 at FITC in Amsterdam. While it’s impossible to cover everything in an hour, it should give you a good idea on some of the new features.

You can download the sources as well. I’ve included both the Flex [...]

BlackBerry community very excited about the Flash Platform

Earlier this week (can you believe I really have no idea what day it is today? :)) I joined Adobe’s David Wadhwani and RIM’s Chris Smith on stage at the BlackBerry Developer Day Keynote. Afterwards I asked a couple of BlackBerry community members and application developers about how they feel about the Flash Platform coming [...]