FlashForward KeyNote at MacWorld

I took notes during the FlashForward keynote at MacWorld today but couldn't post them since I didn't have WiFi in the room. It was a nice keynote and we got some cool sneak peeks at Flash CS3 and Apollo and a fun presentation on Flash on the Wii by Justin. Here are my notes:

I'm sitting in at the FlashForward keynote at MacWorld. Lynda just gave the opening speech and introduced Mike Downey.

Mike: We will be shipping the full production studio for the Mac, including Premiere, Encore and Sound Booth. (This was announced last week.) On Friday, we announced that we have finished and shipped Flex Builder for the Mac. About a month ago we released Photoshop CS3 in beta on Adobe Labs.

Flash Player Adoption update. Flash Player 9 is projected to reach over 70% penetration in its first six months. In comparison, Flash Player 8 took 9 months to reach over 80% and Flash Player 7 took twelve months to break 70% penetration. Basically, the adoption rate of the Flash Player is accelerating with each player release and continues to do so with Flash Player 9.

What's new in the Flash Player 9? Mike focusses on the new virtual machine with ActionScript 3 support and its performance improvements. AS3 is an ECMAScript implementation that uses the W3C DOM Level 3 event model, E4X (ECMAScript for XML), Regular Expressions and runtime error checking.

Mike is showing some example sites that showcase Flash Player 9. He starts with Kuler, Adobe's own online color utility.

In Flash Player 9.1, Adobe added a fullscreen feature. Mike shows the full screen demos linked to from the Labs Wiki. He demos the full-screen panorama made with Papervision 3D, which of course, you can find on OSFlash.

Flash Video has an unbelievable momentum which has mostly picked up following the release of Flash Player 8. Taking Flash Player 7 as the starting point, use of Flash video has grown 800x in the past three years, with the steepest rise taking place in 2006.

Mobile is another area that Flash has a presence in, especially in Japan. In September 2006, FlashLite was deployed on over 150 million handsets. In the US, in partnership with Qualcomm and Verizon, Adobe can distribute the FlashLite player to handsets over the air.

Flash can Wii

Now Justin Everett-Church takes the stage and he's going to talk about the Nintendo Wii. He is showing the Opera browser for the Wii, which, of course, comes with Flash Player 7. He is showing a mashup he did with Yahoo maps. He mentions the resolution of the browser (800x500) can make it difficult to read things and that he is actually doubling the size of his UI to make it more legible on the screen. Good tip.

Now he's showing YouTube and playing back some YouTube video.

Next, he is showing a 3D pool game from TeaGames to show the performance of the player. Looks good.

Now he's showing a game he created a while back called Insane in the Membrance. He loaded a SWF directly. It's not an 800x500 SWF but since it is vector, it scales. The game runs really well. This mirrors my own experience with the Flash Player on the Wii, which is that the player performance is very good.

Mike's returned to the stage now. He's mentioning that the Flash Player is also available on other game consoles. Mike Chambers is now taking the stage to show Flex and Apollo. To recap, Apollo is a cross-operating system runtime that allows developers to leverage their existing web development skills (Flash, Flex, HTML, Ajax) to build and deploy desktop RIAs.

He's demoing Ascension, an Apollo-based MP3 player that integrates with the desktop. For example, he's importing the iTunes Music Library from his Mac and using that as a data source for Ascension. He hasn't showed it yet but the coolest thing with Apollo is how easy it is to make cross-platform applications. For example, using Flex Builder, it is as simple as choosing your platforms and compiling. That's it. There is no platform-specific code whatsoever (those of you who have used Zinc, for example, will understand how much easier this will make their lives.)

Ascension also displays HTML pages to show the lyrics for songs. Apollo can do this. In fact, you can create Apollo applications using HTML as a top-level element. Basically, as has been mentioned to death elsewhere, Apollo allows you to use HTML, Flash and PDF in a transparently cross-platform development workflow. Flash and include HTML and Flash, HTML can include Flash and PDF. In short, it's mucho cool!

Now he's showing Flex Builder 2.0.1 on the Mac. The version he's showing has built-in support for Apollo which is not available in the released version. A version with Apollo support will apparently be released in a couple of months.

He shows how easy it is to compile a Flex application into an Apollo application. His sample application has an HTML control that is fully interactive and yet you can apply any Flash-based transformation, effects, etc. to the HTML control.

Now he is showing a mapping application called Maptacular that uses Google Maps, built by Christian Cantrell. It has an HTML control that loads in google maps. He overlays Flex on top the HTML control -- a tree control that is populated by the VCards on his system. He then drags a VCard to the map and it displays its location. Apollo is going to make a whole new type of mashup possible. A dashup, if you will, that combines data from your desktop with web services and the sorts of rich interfaces and interactions made possible with Flash.

Finally, he is showing a tool that is being built by eBay that makes it very easy to create eBay listings. For example, it uses your webcam to create images for your listing, etc.

You can find more information about Apollo at www.adobe.com/go/apollo.

Adobe plans to have a public beta available on Labs in a couple of months so it's getting close. They plan to have a 1.0 release mid to second-half of this year.

Flash CS3 Sneak Peek

Mike Downey is back on stage. OH NO IT'S THE UGLY NEW ICON! (His slide has the new icon for the next release of Flash.)

New UI

He is showing the new UI for Flash CS3. It's beautiful (apart from the icon and the splash screen.) And consistent. The toolbar icons match Photoshop and Illustrator, for example. He relates how they went out to talk to Adobe customers about how to integrate Flash with the existing Adobe tools. One thing many people have not liked about Flash was the Pen Tool. "Drawing with Flash's pen tool is like drawing with your feet" -- a customer quote! So they changed it. Flash CS3 has the same Pen Tool as Illustrator.

Now he is talking about the unique way that Flash treats shapes. This hasn't changed (since it's actually great for animators.) However, they have introduced primitive support to Flash CS3. There are now new tools such as the Rectangle and Oval primitives. (So you can, for example, add rounded corners to a rectangle very easily.)

About the workspace: They've focussed on making the content be the focus of the UI. For example, it's very easy to collapse the timeline and the PI. The toolbar is now a single column (and that saves some screen real-estate itself). You can expand and collapse the Palettes (when collapsed, it comes a single column toolbar where clicking on the buttons displays the Palette for that panel.)

There is also a new workspace drop-down that gives you quick access to your various panel layouts.

Automatic animation to code conversion

Now he is showing the new automatic animation to code feature developed by Robert Penner. Basically, this feature allows you to create a timeline-based animation (with guide layers, etc.), right-click the timline and select Copy Motion as ActionScript 3 and have Flash convert it to time-based ActionScript code that plays back exactly the same way as your timeline animation. The actual animation is written out as XML (using the native E4X support in Flash Player 9). So you can easily modify the settings of an animation without touching the animation engine itself. The only thing it doesn't work with is shape tweens. If nothing else, this feature alone will make it worth the upgrade.

New Photoshop (and Illustrator) importers

Finally, he is showing the new Photoshop importer (they also have the same feature for Illustrator). The new importer tool gives you access to all of the layers in the Photoshop document, including layer folders and layer comps. It recognizes layers with blend modes, text layers, etc. and allows you do to different things depending on the type of the layer. You also have options to Convert layers to Flash Layers, you can selectively choose which layers (or folders) you want to import and you can choose what type of content you want to convert a layer into.

For example, with a Bitmap layer in Photoshop, you can either import it as a flattened bitmap or as a bitmap image with editable layer styles. You can give it an instance name and set its registration point and set compression settings. You can also choose to set the stage size in Flash to match the canvas size in Photoshop and have the importer place the imported layers at their original coordinates.

The compression engine in Flash is now the same quality as the one in Photoshop.

Grant Skinner on the new V3 components in Flash CS3

He mentions that Flash finally understands how to maximize itself correctly.

V3 Components are built for Flash. They are 25%-40% smaller. 10kb smaller base than the Version 2 components (~15kb). Performance: Lower CPU, higher capacity. Customizability: Skinning (visual and programmatic) is made easier, extending the components is much simpler.

He is now doing a simple performance demo with a List component on stage. He is populating it with a million records. He just selected 200,000 records without delay and is scrolling through without any lag. They've also solved the problem that the earlier components had where external content (eg. images) would flicker when scrolled. Now they don't.

Now he's talking about how it is much easier in the Version 3 components to customize the components using skinning. I'm so happy that we finally have a Flash component set that gets skinning right. To skin a component, you just double click the component and you get a skinning dialog box. Select a skin and you can edit it on stage. The skins use Scale-9 so that corners are maintained and skins scale intelligently.

The style manager now also has massively improved performance and you can do runtime style changes on any number of components without lag. You can also use instances in styles so you can use external media, for example, as icons, etc.

He is now showing how they used skinning to create the color sliders in Kuler.

You also get the performance improvements in ActionScript 3. AS3 gives you development productivity using E4X, RegEx, display list, event model, debugging. He is showing a demonstration of E4X with an example of the Yahoo Maps code where a method with over 20 lines of code in ActionScript 2 is reduced to one line of code with E4X. Performance in AS3 is 10x-100x faster. As a demonstration of the performance, Grant is showing a demo by John Grden, with AS2 and AS3 versions. In AS2, it lags with a single model of a ship. In AS3, there are 10 ships flying by. Finally, there are API additions in AS3 such as BinarySocket, ByteArray, computeSpectrum, etc. He is now showing a computeSpectrum demo with some music and a flaming Blaze demo.

Lynda is now taking the stage again and ending off the keynote.