Molehill 3D GPU accelerated APIs for Flash Player Available Now
We’ve just released on Labs the first public preview of the “Molehill” APIs for 3D hardware acceleration in Flash Player/Adobe AIR. In case you missed it, we first demoed this technology last year at Adobe MAX 2010. Molehill relies on DirectX9 and OpenGL (depending on the OS platform); it has a software fallback in case the GPU rendering is not available, for example, when the GPU driver is incompatible. This API is accessible to developers from ActionSript 3 and you’ll be able to do things like: programmable vertex and fragment shaders.

What does this all mean? Well, developers will be able to build games that run full screen in HD resolution at 60fps with 3D scenes, everything being GPU accelerated. Do you fancy some kick-*** 3D first person shooter or a car race :D? In terms of performance, using the existing features you’d be able to render thousands of triangles at 30 Hz. With Molehill you can do hundreds of thousands, full HD, at 60 Hz.
Here are some videos demoing a number of games built using this technology: MAX Racer game, Frima Studio Demo, Underground Scene, Flare3D, and Away3D fractal tree demo.
While this preview is for desktops only, we are working to bring this technology to mobile devices too. Until then, you can download the bits from here and read Thibault’s blog post for more details about its inner workings.
AIR 2.6 for Android 2.2, 2.3, and 3.0 is out
Our teams did a great job: in less than a year from the initial support for Android 2.2 (AIR 2.5 last autumn) they released, today, AIR 2.6 for Android devices running 2.2, 2.3, and Honeycomb (3.0).
Here are some of the new features:
- Automatic soft keyboard support – this feature enables support for the soft keyboard even for applications that weren’t designed from the ground up for mobile (the keyboard raises and lowers automatically)
- Asynchronous bitmap decoding - you can improve the bitmap loading/displaying by using this feature.
- USB debugging for Android – yeah baby, now I can debug while sitting in a plane:). As the name says, when you have your device connected through the USB cable you are able to deploy and debug the application without requiring a WiFi connection. You’ll find Android USB drivers for Windows in the AIR SDK.
If you have applications compiled for AIR 2.5, you don’t have to worry, they will run on AIR 2.6 without recompilation!
Flex 4 en 1 Jour = Flex 4 in a Day
Thanks to Antony Chauviré our mini-book on Flex 4 (Flex 4 in a Day) was translated to French. So, if you want to learn Flex 4 and, at the same time, you prefer croissants over donuts, red wine over beer, and cafe latté over American coffee or 5 o’clock tea, now you can do it in your own language :)
Thanks Antony!

PS. Merci beacoup, Monsieur Michaël Chaize :)
Support for screen navigation and application session caching for QNX PlayBook apps
If you’ve ever worked with Flex “Hero” mobile components you probably love the way Flex “Hero” handles the screen metaphor. It provides a neat way to encapsulate the UI and business logic for each screen in a class.
On a mobile device, you need to keep in mind that an application can be closed anytime by the operating system. This could be because the OS is trying to free some resources or maybe the battery just died. In either case when the user reopens the app, he expects to see the last screen he was working on as well as any data that was entered. Again, with Flex “Hero” mobile applications all you have to do is to set the sessionCachingEnabled to true and assign the information you want to be persisted to the data property of your views.
This is great; however if you develop applications for PlayBook using the QNX libraries (the native Tablet OS SDK for Adobe AIR) you can’t use Flex “Hero” and, as a result, you don’t have support for the screen metaphor. I wanted this kind of support for an application I plan to build for PlayBook.
Lucky for me, I didn’t have to start from scratch because my fellow evangelist, Piotr Walczyszyn, has already created a small library that does nice tweening between two screens and implements the methods for adding a screen or popping one. So, I took his library and I modified it a little bit. Why did I modify the library? First, I wanted to have session caching capabilities and to be able to push data from one screen to another in the same manner as a Flex “Hero” mobile application. And second, I wanted to make it easier to work with QNX UI components (the original library supported generic ActionScript mobile projects).
Working with PlayBook QNX UI components
In a previous post I talked about all sorts of lists available to developers when using the BlackBerry Tablet OS SDK for Adobe AIR. In this article I will focus on the remaining UI controls. I have an idea for a PlayBook application and before writing a single line of code I wanted to make sure that I understood all the UI components that are available as part of the BlackBerry SDK. By the way, in case you didn’t know, RIM offers a free PlayBook device to any developer who gets his application on BlackBerry App World. I thought I’d share with you the results of my research.
I won’t cover how to skin these components. This is a topic for another blog post. In the meantime you can read Ryan’s posts on skinning ( buttons/text fields and lists) and Renaun’s post.
Cool AIR app for managing ASDoc offline
Two days ago I stumbled upon a rather cool AIR application for managing ASDoc documentation offline and I thought it might help others too. Because sometimes I end up in a place without Wi-Fi, I needed a simple way to make ASDoc references, like the BlackBerry® Tablet OS SDK for Adobe® AIR® API Reference, available offline.
I was happy to find that one solution is an AIR application called DOC?. You can download it from here. You can add as many ASDoc sources you wish, the app will download and index them locally.

And then you can select the “book” you want and navigate to your heart’s content between the pages:

Of course it is not perfect (I wish I could use it for any type of documentation not only ASDoc) and occasionally you may hit a bug (it seems that a big documentat takes a lot of time to index). But for me, it is just perfect! Big kudos to Jeroen Beckers and Michiel Vancoillie, the creators of this nice little app. And, at the same time, this application illustrates perfectly the power of AIR and Flex. Well done Jeroen and Michiel.
Flash Player 10.2 is out!
Probably you remember last December’s public beta release of the Flash Player 10.2. Today, the final release is out! What’s new? Here is a list of the main new features:
- Stage Video
- Multiple display full screen support – you can have Flash Player full screen on one monitor and do some work on another one
- Custom native mouse support – a new API that enables you to use bitmaps as the source for native cursors – offloading this task from Flash Player to the OS
- Support for the GPU rendering technology in Microsoft’s upcoming Internet Explorer 9 browser.
- Enhance text readability through a new sub-pixel text rendering technology
The most important feature is Stage Video. This features accelerates enables the GPU to render the video directly on the display without the overhead incurred previously by reading back from the GPU and rendering with the CPU. This means that depending on your hardware configuration you should see big improvements when watching H.264 1080p, for example. Even on a Mac :). See my article on StageVideo for details on how to use it.
You can download Flash Player 10.2 from here (Windows/Macintosh/Linux including debug version).
Working with PlayBook QNX List Components
If you plan to create applications for PlayBook using the BlackBerry Tablet OS SDK for Adobe AIR then you’ll be happy to learn that the support for lists is quite extensive. If you look at the components from the qnx.ui.picker and qnx.ui.listClasses you will find nine UI components:
- List
- RoundList
- ScrollPane
- SectionList
- TileList
- SectionTileList
- DropDown
- PickerList
- Picker

In this post I will discuss each one of these components so you can get a sense of how to use them and when. I strongly believe that you need good ‘List’ components if you want to create great mobile applications. Lists represent one of the most important mean you have to deal with the small size of tablet/phone screens.





PlayBook & AIR
PHP & Flex