Category Archives: AIR

TelemetryEASY – Advanced Telemetry Utility for Adobe Scout

The new Flash Builder 4.7 has a nice compile option which can be enabled in pure ActionScript projects to enable detailed telemetry for measurement and profile via Adobe Scout. What about Flex projects? What about projects created with Flash Professional? Wouldn’t you want to use these with Scout as well? Adobe does have a solution for this in the form of a small Python script which can be run against a precompiled Flex or Flash Pro swf in order to enable Scout profiling… it’s a bit of a pain to use though… you have to install Python and be fairly comfortable with the command line in order to get it to work.

This is where TelemetryEASY comes into play. This is an AIR application for Windows which has bundled within it both the Python script used to modify swf data as well as a standalone version of Python 2.7 to execute the script. This is all accomplished through a drag and drop mechanism – couldn’t be simpler.

Once a swf has been dropped onto the application – it’ll run the Python script against it and enable advanced telemetry for Scout. Password support is not enabled yet – and neither is LZMA-encoded swf processing.

To verify, just run Scout and open the processed swf file. You’ll see that advanced telemetry is enabled and will be able to employ this neat new profiling tool to its fullest potential!

EDIT: A few have asked my about why the app is Windows only. There are two reasons: 1) Because I don’t have access to an Apple machine to generate a native installer for that platform. 2) Because the standalone Python package is Windows only. The entire idea behind the app is so a user does not need to install and configure Python and that they additionally will not need to touch the command line. This app (like the Python script itself) is a temporary help. Adobe and other tool makers will enable all of this out-of-the-box, eventually.

Mac users who desire a utility for adding advanced telemetry to their SWFs – meet Renaun Erickson’s SWF Scout Enabler!

Here is a video demonstrating the entire process:


Grab the package below if you want to try it out. Again – you do not need Python installed on your machine to use this, but you do need Windows. It comes with a native installer and a sample FLA and SWF you can test with:

Download TelemetryEASY 0.9.1

Release Log:

  • 0.9.1 – Bug fixes + friendly messaging [December 10th, 2012]
  • 0.9.0 – Initial Release [December 7th, 2012]

Flash Builder 4.7 and Adobe Scout 1.0 Released

Two new major Flash Platform releases have occurred: a new version of the Flash Builder development tool and a brand new product: Adobe Scout! This is part of the larger Adobe Game Developer Tools initiative – part of the Creative Cloud.

Flash Builder 4.7
After two beta releases on Adobe Labs, Flash Builder 4.7 has now been released!
This release introduces new development features and enhancements to Flash Builder and provides support for the new Apache Flex SDK and the new ActionScript Compiler 2.0.

So what are the new features in this version of Flash Builder?

  • Flash Builder is now a 64-bit application
  • Support for the Apache Flex 4.8 SDK
  • Support for the Adobe Scout 1.0 product
  • New ASC 2.0 compiler support for ActionScript Projects
  • Support for creating and managing ActionScript Workers
  • Configuring multiple build targets for multi-screen projects
  • Support for customizing ADT and ADL parameters
  • Support for creating ActionScript Library Projects
  • Real time error highlighting using the ASC 2.0 compiler
  • Enhanced Developer Productivity Features including new Quick Assists
  • Advanced support for iOS deploy/test/debug/sim

Note that Design View, as previously indicated, no longer exists in Flash Builder 4.7. If Design View is desired, you will probably want to use Flash Builder 4.6. Note that both versions can be installed in parallel!

Adobe Scout 1.0
Some of you may be confused about the name… “what is Scout?”… well, Scout is the 1.0 product name of the former Project ‘Monocle’. It’s out now, as part of the Creative Cloud Game Developer Tools. Not only that, but much like Edge Animate – the full version of Scout is FREE for a limited time. After Scout transitions to a paid offering, it will still be available for free with advanced telemetry features disabled.

Adobe Scout is the next-­generation profiler for Flash content running on both the desktop and on mobile devices. It gives you insight into the behavior of your Flash content that simply wasn’t possible in the past.

Scout relies on the new telemetry feature, which was introduced in Flash Player 11.4 and AIR 3.4. This feature gathers detailed information about the internals of the Flash runtime, as well as the ActionScript that it executes, and sends it all to Scout. Scout presents this data clearly, concisely, and graphically, so that you can quickly diagnose performance problems with your content.

To get detailed telemetry data to appear, a project must be compiled in such a way to enable this feature. This can be easily done with Flash Builder 4.7, or through other, less-supported means. Even without advanced telemetry enabled, there is still a good deal of information which can be gathered through the use of Scout.

Using Advanced Telemetry with Monocle

Project Monocle (codename) is an upcoming tool from Adobe to profile ActionScript 3 (Flash Player and AIR) applications on both desktop and mobile. It provides an amazing level of insight into just about all aspecs of an application across time. If you would like a general overview of its capabilities, here is a nice video.

Monocle has been in private beta for some time now, and was recently made available much more widely through a public beta program:


Note that even though the beta is now public, I believe many things are still restricted to the NDA agreement of the prerelease program, so I will not be getting into any specifics in this article about Monocle usage itself. Basically, so long as Monocle is running on your system, any SWF with advanced telemetry enabled will be able to be profiled within the application when it is run from a website, development environment, mobile device, or whatever.

Using Flash Builder 4.7

The easiest way to get going with Monocle is to use the beta 2 of Flash Builder 4.7 to enable telemetry and compile your projects. The process is super easy as there is a little checkbok (Enable detailed telemetry) in the ActionScript Compiler section of the project properties dialog which allows you to easily turn this feature on and off.

There are a few things to note in regard to this, however. This option is only available on pure ActionScript projects since at this time, only pure AS3 projects can be compiled using ASC2.0 – which is the compiler FB4.7 uses to compile AS3 projects and insert the telemetry features into the compiled app. As a result, you cannot use this with Flex projects with Flash Builder (yet, anyway).

Once telemetry has been enabled for a project, the next step would be to run the Monocle application so that it is listening for telemetry data. Starting a capable SWF (using Flash Player 11.4 or AIR 3.4 and above) will trigger a new Monocle profiling session.

In the above example, I’m using a simple Hallowe’en themed Away3D AS3 project in FB4.7 with advanced telemetry enabled in order to test out Monocle. Since Monocle has some rather special Stage3D profiling features, this will enable me to profile the full range of available options provided by the application.

Switching over to Monocle, we can see that all of the data for this session has been collected in gorgeous detail. One of the things that is really impressive with the project is that all of this data is interactive – even the Stage3D bits!

Using Flash Professional

If using older Flash Player and AIR projects in Monocle, we have an alternative to re-compiling everything through FB4.7 – we can even use this method along with Flash Professional CS6! This method takes a previously compiled SWF and runs it against a small Python script to shuffle the bits around and enable telemetry.

NOTE THAT THIS METHOD IS NOT A FINAL SOLUTION BUT SIMPLY WHAT WE MUST USE AT THIS PRESENT TIME IF NOT COMPILING WITH FB4.7

The first thing we need to do is get Python installed on the system we’ll be working with. I’m using a Windows 7 machine so downloaded the .msi installer which provided an option to add Python to my PATH options. Very convenient.

After installation, we can then open up a command prompt and run the script (add-advanced-telemetry.py) that comes bundled with the Monocle package, feeding in the SWF we wish to enable telemetry on as an argument. Again, this isn’t the best way to enable telemetry… but with some trial and error – it is workable.

New Flash Runtimes Goodies on Labs

Adobe rolled out a bunch of new Flash goodies on the Labs site this evening; a new version of SWF Investigator, a Configurator release candidate, and the first betas of Flash Player 11.5 and AIR 3.5! We also have a new updater for Flash Professional CS6 and the announcement of the Adobe Game Jams… phew!


SWF Investigator
It’s amazing how much is packed into this little AIR application! Have a look through one of your own SWF files and check out the about option to see some of the integrated libraries involved. Complex stuff!

Adobe SWF Investigator is the only comprehensive, cross-platform, GUI-based set of tools, which enables quality engineers, developers and security researchers to quickly analyze SWF files to improve the quality and security of their applications. With SWF Investigator, you can perform both static and dynamic analysis of SWF applications with just one toolset. SWF Investigator lets you quickly inspect every aspect of a SWF file from viewing the individual bits all the way through to dynamically interacting with a running SWF.

Admittedly though… the app could use a bit of love from a designer :)


Flash Professional CS6 Updater
This was actually released earlier today: an updater for Flash Professional CS6 which includes the following new features:

  • Support for AIR 3.4 and Flash Player 11.4
  • Direct Deployment to iOS Devices
  • Native iOS Simulator Support 
  • High Resolution Retina Display Support
  • Toolkit for CreateJS 1.1

Here is a video overview:


AIR 3.5 beta

Adobe AIR allows developers to package their Flash-enabled content into apps that reach over 1 billion personal computers and 500 million mobile devices.

The primary goals of this release are bug fixing, adding Jellybean support, and iOS app enhancements. These features are not insignificant:

  • Debug stack trace in release builds of Flash Player — This feature enables developers to display stack trace info in release and debug builds.
  • Packaging Multiple Binaries — This feature enables developers to include third party static libraries and frameworks and package these with ANE.
  • Shared ByteArray support for ActionScript Workers — This feature enables developers to share memory between multiple workers.
  • Packaging and loading multiple SWFs on iOS — This feature will allow developers to load multiple swfs, that contain ActionScript bytecode on iOS .

Flash Player 11.5 beta

Flash Player is a cross-platform, browser-based application runtime that provides uncompromised viewing of expressive applications, content, and videos across browsers and operating systems.

The primary goal of this release is bug fixing… but there are a few neat features to note:

  • Shared ByteArray support for ActionScript Workers — This feature enables developers to share memory between multiple workers.
  • Debug stack trace in release builds of Flash Player — This feature enables developers to display stack trace info in release and debug builds.

With the Flash Player betas, we can now subscribe to automatic updates similar to the release version of the Flash Player. Also of note is a new Twitter account, @FlashPlayerBeta, for getting notice of important runtimes updates.

 


A lot of activity… and I expect to see more very soon once Adobe releases project “Monocle”.

Flash is dead“, right? LOL!

Feathers: Accelerated UI Components for Stage3D


Light-weight, skinnable, and extensible UI components for mobile and desktop. Feathers puts it all together in one package — along with blazing fast GPU powered graphics (courtesy of Starling Framework) to create a smooth and responsive experience.

This is really neat – the UI component library formerly known as “Foxhole” is now called “Feathers” and is aligned the Starling Framework. The website over at http://feathersui.com/ has full documentation on usage, examples to play with, and a forum for user interaction. Pretty slick!