Category Archives: ActionScript 3

RIA + OSP = RAA || REA && And how to detect an Open Screen Device

Keeping with the algebraic/code functions as titles from my Last post I thought I would put some thoughts down regarding the news from Adobe earlier this week of their Open Screen Project (OSP). Anyone working in the Web/Internet industry at the moment will be well aware of the Rich Internet/Interactive Application (RIA) moniker. What Adobe is committing to is much larger though this is about true cross platform convergence. Its about Rich Anywhere Applications (RAA) or Rich Everywhere Applications (REA) if you will. You see what I did there 😉 .

Interestingly this is a concept I began to scratched the surface of with my presentation at Flash On the Beach Last Year, and over the last few months has been a subject I have continued to keep close to hand both in my day job and my personal development projects. At the moment the Flash Player Fragmentation offers a considerable challenge to any developer wanting to design and or develop for multiple devices and multiple screens.

Articles like the one posted over at ADC on adaptive screen layouts offer a great foot up. But before we get to visual display we need to know what player version we are targeting. And to do that, we have to hit the time machine button and roll back all the way to Flash 4…..

Continue reading RIA + OSP = RAA || REA && And how to detect an Open Screen Device

Flex Solutions, the book: Essential Techniques for Flex 2 and Flex 3 Developers

Following the post by Marco Casario a couple of weeks ago, I was filled with similar excitement. In no way can I claim any of the glory that Marco certainly deserves. But In some small way I am equally as proud to have been Technical Reviewer (thorn in Marco’s side :p ) for his book Flex 2 Solutions: Essential Techniques for Flex Developers, Released by Freinds of Ed.

Marco has put a monumental amount of work into this book. Believe me the 900 hundred or more pages that you read are a slim account of the gargantuan task Marco undertook in documenting the extent of the Flex Application Framework.

I can honestly say I it was fantastic to read the original work. The thing that I found even more incredible as I inflicted my nit picking is that this huge technical resource was produced by Marco in English, not his native Italian. I know i would not be up to the task. Congratulations Marco.

Flex 3 – The most important feature?

What I have found use full and Interesting is a post over HERE, related to Flex 3. It provides a useful link if you want to get involved in the Pre-release.

Now on to the rant 😛

After re-reading Ted’s post there is one section that i quite important to point out, that I missed.

The day you download Flex 3.0, you will be able to deploy 100% of the new features to the entire Flash Player 9 installed user base.

Of course we all want to know what those new features will actually be. Also though if the Flash 9 Player is going to be around a little longer than the previous player versions, will it mean we have to put up with its short comings a little longer too? Accessibility, Bi-Directional Support immediately spring to mind.

Most of the flash blogosphere will have read the post here . I have to say I was left feeling a little fished in. There appeared to be little information actually about Flex 3.0 although there are an awful lot of mentions of both Flex 3.0 and also Flash player 9. In fact some of the information sounds down right wrong.

This is the first time Adobe or Macromedia has released a development toolset targeting a widely deployed Flash Player

Will this not be the Flash 9/Blaze IDE, which will surely be released well before Flex 3.0. I imagine Flash 9 will be targeting a widely deployed Flash 9 Player and the new ActionScript 3 standard. The clue would be Adobe releasing the AS3 update for flash 8 on Labs. What it would be accurate to say is;

This is the first time Adobe or Macromedia has released a development toolset, that hasn’t been released yet.

Scatter in some simple logical version statements, such.

When Flash Player 10 hits 90%, Flex should target Flash Player 10 in all future releases

Its a wonderful recipe for Google Keyword Candy. But has very little content.

Sorry Ted. Not impressed.

Open Source ActionScript, an end to the flash plug-in?

Today on I noticed the news that Adobe have released the source code for the ActionScript Virtual Machine to Mozilla Foundation.

The release, which is dated 7th November 2006 can be found here and provides more information. From the release it sound like the code is to be included into future releases of the fire fox browser.

Does this mean an end to the Flash Plug-in for future Mozilla based Browsers? How will this impact XUL runner and its capabilities in comparison to Adobes much talked about Apollo?

Adobe and Mozilla Foundation to Open Source Flash Player Scripting Engine

Balthaser patent .180 reexamination

As Mike over at and also Aral Balkan reports it seems someone is looking to contest the ridiculous Balthaser RIA patent that was reported a while ago by a number of Flash developers. I have also been contacted by Oliver Lorenz with regard to providing more information and certainly urge anyone that wants to beable to continue RIA development without the potential of infringing on this patent.

The issue I have with the patent is its broad and sweeping coverage of very common interface and application GUI design systems. As an example reading one portion of the “Summary of The Invention”.

When editing a component, the user may modify a number of features associated with a component including, but not limited to, the volume of an acoustic component, the link between a menu entry and an associated component, the font, font size, color, or effect of a text field, or the layout, size, transparency, rotation, color, position, or level of any graphical rich-media component. The user may modify these components by means of a slider bar or a textual input field. In addition, the user may modify the volume of a sound component by means of up and down volume buttons. The user may undo modifications made to a component’s parameters. The user may also modify the position of a graphical rich-media component by a graphical input field, by clicking and dragging said component, or by text fields. When the user modifies the position of a graphical rich-media component by means of clicking and dragging said component, said component may align itself to a grid point or a guide line. The user may also modify the style and the Uniform Resource Locator (URL) of a component linked to a menu entry.

Unless I am mistaken the recently posted link to Netvibes would actually infringe on this part of the patent. In that the user can select ‘panes’ or ‘graphical rich-media components’ of the netvibes application and alter there position within the application by clicking and dragging them to a new position.

In this example, because there is no specific technology linked to the patent claim, any RIA in any technology, Flash, Ajax, Appolo, XUL Runner, HaXe, Sparkle, add any other future technology here….. These systems would all be in break of the patent claim.

And this is just ONE of the EIGHTY THREE different claims in this patent.

Very worrying I think any developer would agree. Everyone involved in Internet application development, in my opinion, should take a serious look at this patent. Think about ANY work they have done or seen in past. The work they are doing today. Then consider the possible implications of future networked development. If you know of anything that has been posted, exhibited or shown publicly that can bring this patent down, it is in every ones interest to make it known to strengthen the Magix reexamination.

And remember we are not just talking about flash applications or work here. If you remember or are aware of ANY online application, in any technology, be it DHTML, Director, Java or anything else. If it used any, all or even one of these systems to allow user interation then it may well be enough to show that Mr Neil Balthaser did not invent these systems, and certainly has not right to lay claim to doing so as he has in his patent application.

Ant Build.xml for ASDocs Generation in Eclipse

I am an avid user of eclipse and so this evening knocked together this simple Ant build.xml file. The file allows generation of AS3 class ASDocs from within the Eclipse IDE. I am not an Ant master, far from it, so if anyone has any ideas on making this more usefull feel free to leave a comment.

I placed this in a folder in the root of my project called docs. The final docs are produced to sub folders of the docs folder called output/AppDocs. A screen shot of output can be seen here.


The XMl source is below the fold along with a link to the raw build.xml file

Continue reading Ant Build.xml for ASDocs Generation in Eclipse

Flash Localization – Managing Text & Fonts pt.1

I have had a number of emails, messenger texts, and comment’s on my blog, asking for further information from my presentation notes on localizing flash. Localizing flash has such a wide scope of information, when I prepared my presentation I did take the ‘data blast’ approach of delivery.

I had a good idea the area(s) that people might like more in depth information, but I also wanted to take into account some broader work flow and process issues that I feel really need to be discussed. In this post I would like to present some more detailed information regarding one of the slides I used at the LFPUG presentation that, as expected, has generated a lot of feed back.

Managing Text & Fonts

Continue reading Flash Localization – Managing Text & Fonts pt.1

Notes On Localizing Flash

So it’s the day after my presentation on Flash Localization. I was quite happy with how things panned out, given I had been a presentation virgin prior to last night. The presentation didn’t hurt nearly as much as I was afraid of. At least it didn’t hurt me :D.

Thanks to AKQA for the venue, support, beer and pizza, very nice it was to. Thanks also to Tink for the opportunity to break my cherry, so to speak. And finally thanks to every one that came along to listen to me gibbering on. It must be said this is a subject I have come to build a love-hate relationship with over the many years I have spent in the field. I love the challenge of working to localise the content. I hate the fact that Flash makes even some of the most mundane solutions or Ideas a HUGE Challenge. It would seem I am not alone in this.

In addition to nattering on myself, I also received some useful information as well, which was great. So thanks for correcting my terminology of Polish as a Cyrillic based Language. Apparently it’s an Extended European language, which would account for me having issues with that one. 😀

Something I didn’t do last night was to show any code. This was due to operating on a Mac (thanks again Tink) and not being confident enough in my app switching on the alien technology. Below are some snippets I made reference to.

Continue reading Notes On Localizing Flash

URGENT!! Signatures Needed for flash 10yr release!

As myself and Mike ( have mentioned previously we were heavily involved in Flash ‘way back in the day’. During the time we were cutting our teeth in flash’s infancy we were involved in some (IOHO) pretty slick projects. Now if you want those to be seen EVER again we need to get some release forms signed from 2 very specific companies in the UK.

If you can help us, or you know some one who might be able too PLEASE leave a comment. Let me know if you want it made public or not and I will abide your wishes. What is important is that myself or Mike ( can contact you some how to follow it up.

If you lead to the project going like I will personally buy you a BIG beers or six, and give you a great big hug (kisses optional).

The companies and or departments required are.

BBC Education Department — need to be able to sign release for Medicine Through Time Website. (circa 1998, Flash 3).
British Telecoms Education Department — need to be able to sign release for BT Time Trek Game. (circa 1998, Flash 3).

Remember this may be the only opportunity to see these historical examples of what us oldskoolers ‘bled our eyes on’.

Please spread the word if you are able.

10 years of flash, my how things have changed.

It all started at university. Microsoft or MSN Australia I think it was, that was the first ‘flash’ movie I saw. And it changed everything I had seen on the web until then. Of course unlike everything else on the web at that time there was no way to see how they had done it. Or at least you would think 😉 . A few moments in a hex editor to remove those pesky 10th and 11th bytes, if memory serves, that was the ‘copy protection’ and we were off and de-compiling, perhaps the first flash de-compiler was actually UltraEdit? 😀

As you will have seen Mike Jones ( and I are meeting to take notes, share war stories and generally reminisce the ‘Good OldSkool Days’. To find out what files we still have, and even which URLs are still live (Flash 3 (alpha) circa 1997/8 btw JD produced by Spooky & the Bandit – you may remember them :p)

Keep your eyes peal for more news as events unfold….

ActionScript 3 & Flash 9 Compatibility Info

Previously I have mentioned concerns with regard to compatibility of Flash Player 9, ActionScript 3, Flex 2, and the recently released Flash 9 Preview. After digging around last night for information on how to get cracking on some Action Script 3 development I found this information on LiveDocs regarding the compatibility of the various flash SWF formats and ActionScript versions.

  • A single SWF file cannot combine ActionScript 1.0 or 2.0 code with ActionScript 3.0 code.
  • ActionScript 3.0 code can load a SWF file written in ActionScript 1.0 or 2.0, but it cannot access the SWF file’s variables and functions.
  • SWF files written in ActionScript 1.0 or 2.0 cannot load SWF files written in ActionScript 3.0. This means that SWF files authored in Flash 8 or Flex Builder 1.5 or earlier versions cannot load ActionScript 3.0 SWF files.

    The only exception to this rule is that an ActionScript 2.0 SWF file can replace itself with an ActionScript 3.0 SWF file, as long as the ActionScript 2.0 SWF file hasn’t previously loaded anything into any of its levels. An ActionScript 2.0 SWF file can do this through a call to loadMovieNum(), passing a value of 0 to the level parameter.

  • In general, SWF files written in ActionScript 1.0 or 2.0 must be migrated if they are to work together with SWF files written in ActionScript 3.0. For example, say you created a media player using ActionScript 2.0. The media player loads various content that was also created using ActionScript 2.0. You cannot create new content in ActionScript 3.0 and load it in the media player. You must migrate the video player to ActionScript 3.0.

    If, however, you create a media player in ActionScript 3.0, that media player can perform simple loads of your ActionScript 2.0 content.

The full information can be found here:

Programming ActionScript 3.0 > Overview of ActionScript Programming > Introduction to ActionScript 3.0 > Compatibility with previous versions

Flash Player 9 Now Available

With the release of Flex 2 and the announcement that Flash 9 (‘Blaze’) is available on labs. You may also like to know that the Flash 9 player is available to download and install.

As mentioned in a previous post here. This is the first time the flash player/VM has not been linked to the production and development of a formal Flash IDE.

While Flex 2 could certainly fall under the remit of an IDE, I would be surprised if it will be installed across the design and development teams of many of the agencies I have worked for recently.

AS3.0 Snippets

This Snippet allows you to embed fonts into a Flash AS3.0 Package. The original code was posted here .


import flash.util.describeType;
import flash.display.MovieClip;
import flash.display.TextField;
import flash.text.TextFormat;
import flash.text.AntiAliasType;

public class Test extends MovieClip

// be sure this is pointing to a ttf font in your hardrive
[Embed(source=”C:\WINDOWS\Fonts\somefont.ttf”, fontFamily=”foo”)]
public var bar:String;

public function Test()

var format:TextFormat= new TextFormat();
format.font= “foo”;
format.color= 0xFFFFFF;
format.size= 130;

var label:TextField= new TextField();
label.embedFonts= true;
label.autoSize= TextFieldAutoSize.LEFT;
label.antiAliasType= AntiAliasType.ADVANCED;
label.defaultTextFormat= format;
label.text= “Hello World!”;