Flash Platform Rundown – End of November, 2013

Updates to Flash Player 12 and AIR 4 betas
Adobe has updated the beta runtimes to include some really cool new features on top of the ones which have already been announced. These include an improved packager for iOS, ANE resource improvements in Android, textfield enhancements for desktop, and a new Context3D convenience array. More details on each of these features is included below. Flash is alive and well!
Flash Runtimes Update

iOS – Improved Packaging Engine
We’re very excited about this new feature. The new packaging engine we’re working on can improve iOS packaging time up to 10 times over the current packager! However this feature is still early in development and we’d like to get your feedback. To enable this feature, please use “-useLegacyAOT no” in the ADT command, before the signing options.

Android – Support for native resources access by R* mechanism in native extension
Currently, to use the native Android resources in the Android Native Extension one has to use getResourceID() API while typically to access the resource IDs developers use the R.* mechanism. AIR 4.0 onwards, apps developers will be able to access the resources by R.* mechanism. All the dependencies need to be specified in platform.xml as following and all the dependencies and resources to be packaged in the ANE.

Supplementary Characters Enhancement Support for TextField – EXTENDED BETA
This is a desktop enhancement for supporting surrogate pairs in the TextField control. Now, characters out of the Basic Multilingual Plane(BMP) with Unicode code points between U+10000 and U+10FFFF will work correctly in the TextField control. It greatly enlarges the code point range we support and includes characters like emotion symbols (emoticons) and complex CCJK characters. This feature is being introduced in the AIR 4 beta but will go live in a subsequent release. Due to the sensitive nature of text display, we would like an extended test period to ensure no bugs are introduced.

Stage3D Creation of Context3D with Profile Array
We’ve added a new interface to Stage3D.requestContext3DMatchingProfiles(profiles:Vector. ) which will create a Context3D with highest level suitable profile that is in profile array, based on the current hardware. A developer can check the newly added property ‘profile’ to obtain the current profile that was chosen by the Flash Runtime.

Ben Forta comments about the runtimes
Adobe’s Ben Forta has been posting updates to his blog whenever a new version of the runtimes is released. This has been seen by many as a good sign in terms of how Adobe views the platform (as opposed to the more prevalent “Adobe wants to kill Flash” nonsense). He recently posted about the AIR 4 betas and I thought it couldn’t hurt to ask about Adobe’s support of the runtimes and how the community might help convince Adobe to provide greater support. I feel kind of bad pestering him – as he must get tired of questions like this… so I really appreciate that he took the time to do so in response to my inquiry. I’m happy to see his comments on the subject are fairly calming (for those of us on the white-knuckled-edge of such things). It’s all about balance:

Now that attitudes are shifting back into balance, we’ll be better able to tell the story we want to tell, and that’s exactly why you’ve seen these recent announcements.

Thanks, Ben!

Feathers 1.2.0
A brand-new release of Feathers is out! Josh Tynjala writes: This release includes a few new components, including Alert, Drawers, and LayoutGroup. It also includes new base classes for item renderers that extend LayoutGroup. In my opinion, this is the best and most stable release of Feathers to date with performance enhancements and more, and I encourage everyone to upgrade. I made mention of LayoutGroup specifically in my Lynda.com course, Building a Mobile App with Feathers and Starling, and how it would be better suited to automatic layout that ScrollContainer (assuming one does not need scrolling!)

Feathers Cookbook
Alongside the new Feathers release is a neat Feathers Cookbook site. It includes simple and targeted tutorials about Feathers designed to demonstrate how to use or extend the components to implement specific common behaviors. This is a great format for sharing. Nice work!

Adobe’s Secure Real-Time Media Flow Protocol
As pointed out by Stefan Richter:

Adobe has published a memo detailing the Secure Real-Time Media Flow Protocol (RTMFP) specification to the Internet Engineering Task Force (IETF). an endpoint-to-endpoint communication protocol designed to securely transport parallel flows of real-time video, audio, and data messages, as well as bulk data, over IP networks. RTMFP has features that make it effective for peer-to-peer (P2P) as well as client-server communications, even when Network Address Translators (NATs) are used. Long time users of this technology may remember it in relation to project Cirrus.

Flixel Community 2.56 is out!
Fernando Bevilacqua writes about Flixel Community edition (Community fork of the popular Flixel game engine): Our main goal with this release was to maintain Flixel Community 2.56 as reverse-compatible as possible with the current version of AdamAtomic/Flixel (which is 2.55). We performed several tests to ensure a smooth transition and we hope you won’t need more than a few (or none at all!) tweaks to start using Flixel Community. Flixel is a great game engine for Flash and AIR and to see new life arise from the community like this is welcoming.