Posts in Category "ActionScript"

ActionScript Reference features in Flash Player 11.6/AIR 3.6

Hi all,
Yesterday, we shipped Flash Player 11.6 / AIR 3.6. To see the new features in this release, check out the Flash Player and Adobe AIR feature list. You can also get a quick view into API updates from the ASR What’s New page.

Also, and this is the point of my post, we’ve delivered some nice enhancements to the filter UI. Filtering is an important aspect of the ActionScript Reference, as it lets you customize your view to the products you’re currently using. That said, developers found the filter UI non-intuitive and often found themselves searching for API elements that were hidden by filter settings. So, I’m thrilled to tell you about the updates in our new release:

  • Re-designed Filter UI – A completely revamped design for Product/Runtime filters. The new design and color scheme make the UI more intuitive and aesthetically pleasing.
  • Expand/collapse filter area – You can now collapse and expand the filter area to increase the real estate on the main page.
  • New defaults – Now, by default, you see the current player and AIR versions and don’t see some of the other products.

This is all due to the great work of the ASDoc team: Dhwaj Agrawal (who really stepped it up for this release!), Paul Robertson (who did a great job with the user interface design!), Shashi Ranjan, Rachit Gupta, Sushant Gupta, Bhanu Kumar, Nitin Arora, and Anup Rav. They are an amazing team!

All the best,


Flash ActionScript Reference search tips

I don’t know how many of you have had to deal with SEO, but if you have, you know that it’s an iterative, sometimes painful, process. Two steps forward, one step back; One step forward, two steps back; unintended side-effects; etc., etc., … a real learning experience.

Anyway, last summer, you may have noticed that SEO for content in the ActionScript Reference (ASR) was getting worse, and worse, … and worse. Finally, with help from the ASDoc team (in particular, Anup Rav and Dhwaj Agrawal) and Adobe’s SEO Dream Team (in particular Steven Ganczaruk, Dave Lloyd, and Mohammud Sayeeduddin) we were able to isolate and fix a variety of problems, and I’m thrilled to say that SEO for the ActionScript Reference is much, much better. For the last three months, page views have been up 10% each month and they continue to go up; improvements I attribute to visitors coming from search engines.

So now that SEO is straightened out, here are a few tips that will help hone in on what you’re looking for:

  • Last summer we added product names to the <title> tag text. For classes in the flash.* and flashx.* packages, the product name is AS3. So now, if you prefix (or append) AS3 to your search, the ASR pages should be at or near the top of your search results. Go ahead, take a minute to search for your favorite ActionScript class, adding AS3 to the search string. It’s so much better than it was.
  • Given our SEO fixes, this isn’t as important as it was, but I encourage everyone to learn to use the site: command, which restricts a search to pages under a specified site. You can use the site: command for all your searches, not just for ActionScript documentation, and I think you’ll find it useful.

Thanks. Have a great weekend!

More Improvements and Features in the ActionScript API Reference (ASDoc)

Hi all,
Today, we shipped Flash Player 11.4 and AIR 3.4. In addition to all the great features, bug fixes and enhancements, we also upgraded the technology behind the ActionScript® 3.0 Reference for the Adobe® Flash® Platform (also known as ASDoc). This ASDoc release contains:

  • Copy example to clipboard – I’ve been working on my ActionScript chops over the past 8 months and would find myself repeating the same steps over and over again: select a code example, copy it to the clipboard, paste it into Flash Builder, rinse, repeat. I asked the ASDoc team if we could implement one-click Copy to clipboard for our examples, and Vivek did a great job implementing this useful feature. All code examples now include a Copy link in the upper-right-hand corner. To see what I mean, go to any page with a code example (for example, flash.geom.Rectangle), scroll down to the example, click Copy, and paste into your IDE or text editor.
  • Printing – We now provide a revamped printing option that prints only the main right-pane contents and leaves out unrelated information, such as Class/Package list, Filter info etc. This enhancement also works for PDF print-to-file. Thanks, Dhwaj!
  • Jive integration – We replaced our previous commenting system with the Jive forum-based commenting used in other Adobe learning pages. Most of the comments we get are questions, so redirecting commenting to the forums will help ensure that these questions get answered.

As usual, I need to acknowledge the fine work of the ASDoc team: Vivek Reddy Polem, Dhwaj Agrawal, Shashi Ranjan, Suman Kumar Thakur, Rachit Gupta, Sushant Gupta, Bhanu Kumar, Nitin Arora, and Anup Rav are the best team a Product Manager could ask for! I’d particularly like to acknowledge Suman Thakur and the great work he’s done on QE over the years. Suman has left to pursue an opportunity outside of Adobe and he will be missed.

Improvements and New Features for Adobe ActionScript API Reference (ASDoc)

The ActionScript® 3.0 Reference for the Adobe® Flash® Platform is the API reference for many Adobe products, including Flash Player and AIR. The latest release of the Platform ActionScript Reference ( contains SEO enhancements, performance improvements, and other new features:

  • Search improvements – The team implemented several SEO recommendations from our Search team (big thanks to Steven Ganczaruk, Dave Lloyd, Warren Lee, and Mohammud Sayeeduddin) to improve the search results ranking of ASDoc pages in Google search.
  • What’s New – We added a “What’s New” page, which lets you see what is new for a specific product or runtime for each new platform/runtime release. This has been a popular request for a long time, and we’re happy to push it live. To see this in action, go to
  • ASDoc on tablet browsers – The team made several changes in ASDoc to improve usability of the reference documentation when viewed in tablet browsers (iOS, Android). Note: While table support is much improved, we still have a long ways to go. If you encounter problems viewing the Platform ASR on your table browser, please post the specifics as a comment on this page. Your feedback will help us identify and prioritize the bugs in this area.
  • Code samples – Many pages now contain a More examples heading, under which we provide links to usage docs that contain code examples.
  • Quality – Over 30 bug fixes!

Although Stephen Gilson is no longer with Adobe, I’d like to thank him for all of his work as ASDoc Product Manager, and for driving these features to completion. I’d also like to acknowledge the ASDoc development team: Vivek Reddy Polem, Shashi Ranjan, Suman Kumar Thakur, Sushant Gupta, Bhanu Kumar, Nitin Arora, and Anup Rav; and also like to welcome Dhwaj Agrawal to the group!

– Randy Nielsen

Job Opening: We need a Technical Writer for ActionScript API docs

Hi all,
I have an opening for a Senior Technical Writer, focused on ActionScript API documentation. Given our current focus on features to support gaming (such as Stage3D and Alchemy), this should be a really fun job.

For application information, go to the Adobe Job Opportunities site and look for Senior Technical Writer-14542.

Looking forward to hearing from you!

New Flash Runtimes gaming blog: for neophytes (and willing mentors)

Are you new to game development? Struggling to find your footing in the ActionScript game development world? So am I. Although ActionScript and programming are not new to me, game development and gaming in general are. In my blog I’ll be exploring how to get a game going, what kinds of existing games are out there, cutting edge technologies, and how various technologies work together towards a great gaming experience.

Come along for the ride, and please share your experiences and insights!

SWC and SWF files in native extensions

I’d like to highlight the role of your ActionScript library — a SWC file — in native extensions. And while I’m at it, I’d like to discuss the role of  the SWF files that the SWC file contains.

You’ve read it before: A native extension is made of two parts: The ActionScript side and the native code side. Here we are just talking about the ActionScript side.

You build the ActionScript side of your extension into an ActionScript library that is a SWC file. The SWC file is an archive file (think ZIP file) that contains your ActionScript classes and other resources, such as its images and strings.

Suppose your extension targets different platforms — for example, both iOS and Android. If  your extension requires a different ActionScript implementation for each platform, create a different SWC file for each platform. A best practice  is that all the ActionScript implementations have the same public interfaces. However, even if all the ActionScript implementations have the same public interfaces, what happens inside the implementation can vary by platform. If so,  you’ll have to create multiple SWC files.

The SWC file comes into play when you package your extension into an ANE file. To do the packaging, you use the ADT command-line tool. You specify a SWC file in the -swc option of the ADT packaging command. For example:

adt -package <signing options> -target ane MyExtension.ane MyExt.xml
    -swc MyExtension.swc
    -platform Android-ARM -C platform/Android .
    -platform iPhone-ARM -C platform/ios .
    -platform default -C platform/default library.swf

The SWC file contains a file called library.swf.  It is the main SWF file of your ActionScript library. ADT automatically puts the library.swf from the SWC file into the ANE file. When an AIR
application uses a native extension, it includes the extension’s ANE file in its library path so that the application can compile. In fact, the application compiles against the public interfaces in library.swf.

Let’s say, as discussed above, you have different SWC files for each platform, but they all share the same public interfaces. In this case, it doesn’t matter which of the platform-specific SWC files you use in the -swc option of the ADT command. It doesn’t matter because the library.swf file in the SWC file is used only for application compilation.

Application execution is another matter. Take a look again at the above ADT command.  Each platform directory (platform/android, platform/ios, and platform/default in this example) specifies the files to include in the ANE package. The -C option tells ADT to make the specified directory the current directory. ADT puts the files and directories that follow into the ANE package. Each platform directory has a library.swf file in it.  For the iOS and Android platform directories, the ‘.’ indicates that all the files in the current directory are to be packaged into the ANE. The files include the library.swf as well as native libraries.

Therefore, you must put the appropriate library.swf into each platform directory. When you have a different SWC file for each platform, get the library.swf from the appropriate SWC file. You can extract the library.swf from a SWC file with extraction tools such as WinZip.  When the application executes and calls your extension class, this is the library.swf file that runs.

Note the following about the library.swf file:

  • ADT requires that you provide a main SWF file named library.swf for each platform. When you create a SWC file, library.swf is the name of the main SWF file.
  • The library.swf file for each platform is different if your ActionScript side has platform dependencies.
  • The library.swf file for each platform is the same if the ActionScript side has no platform dependencies.
  • The library.swf for each platform can load other SWF files that you include in the platform-specific directory. These other SWF files can have any name.

Detailed documentation about creating extensions is at Developing native extensions for Adobe AIR.

For more information about using a native extension in your AIR application, see Using native extensions in AIR applications.

Jackie Levy, Content and Community Lead

Putting the Community in community help

Check out all the great new links we’ve added to community help:

Optimizing your application with object pooling

As applications grow in size and complexity, the number of objects you use increases rapidly. Instantiation can be expensive. Even with the new GC advice API in Flash Player 11 and AIR 3, garbage collection can slow down or pause your application.  One technique you can use to improve performance by decreasing the number of objects in your application and reducing how often garbage collection runs is object pooling.  With object pooling, you create objects during the initialization of your application, store them in a pool, and keep reusing them.

Look at an example of object pooling in Optimizing Performance for the Flash Platform. You can also read about garbage collection and the new GC advice API in Garbage collection internals for Flash Player and Adobe AIR.

Examples, examples, and more examples

When we ask ActionScript developers what they want from the Flash Platform documentation team, their consistent answer is: more examples. There is no such thing as enough when it comes to code examples that developers can use to learn the language, solve specific problems, and share ideas with others who are working on similar applications.

The secret: our existing ActionScript 3 documentation actually HAS a decent range of examples. The problem is that these examples are somewhat well hidden. To solve this problem, we’ve analyzed pathing info (provided by Adobe’s Omniture acquisition) that tells us what users are searching for, where they are looking, and how we can help them find what they need.

The ActionScript 3 Developer’s Guide‘s appendix (How to use ActionScript examples) explains how to work with different types of  examples. Until recently, this appendix did not make it easy to find the ZIP file that contains the example source, never mind explanations of the functionality that each example demonstrates. Here is a link to the examples ZIP, followed by a list of examples and their explanations. Let us know what you’d like to see added to the list.

Example ZIP file: Flash Professional CS5 and Flex 4 samples

List of examples: