Something had to be done about confusing Flash Platform product names and if you paid close attention you could see this one coming for a while now. From the upcoming release onwards Flex Builder will be known as Flash Builder. I initially had some reservations about this but it does go a long way in making the name more accurately describe what the tool does. Flex Builder is more than a development environment for Flex framework based applications. Myself and I'm sure many others in fact use it primarily for creating pure ActionScript 3.0 projects.

The Flex name will still be used but now exclusively to refer to the framework. If you call yourself a Flex developer and code using the Flex framework that is still a perfectly valid job title. This seemed to be a particular sore spot for some people, but I don't get their argument -- after all, you don't call yourself a Dreamweaver or Visual Studio developer when talking about HTML or C#. Surely your job title describes the technologies rather than the specific tools you use.

If you still have your doubts, Josh Tynjala posted some very insightful comments on Lee Brimelow's blog post that I can highly recommend reading.

One point I do feel strongly about: Flash Builder vs Flash Professional naming. The epithet "Professional" doesn't cover what the Flash authoring environment really is. With the new name changes it comes across as though Flash Builder is a basic tool and Flash Professional an extended version of that.

I'd recommend going one step further and rebranding Flash Professional to something like Flash Designer and get it back on track to being primarily a tool for animation and interface design.

CategoriesFlash, Flex
14 CommentsPost a comment

FFK09 For a moment it looked as though I was going to miss out on this years FFK in Cologne -- the largest German speaking conference covering web products and technologies organized by Marc Thiele and Sascha Wolter of This is already their 9th edition and not surprisingly it has completely sold out!

At the last minute I managed to secure a spot (thanks to Marc) in the "Discover the third dimension" workshop on Away3D that Jens Brynildsen is teaching on Monday. I've already experimented with Papervision3D quite a bit but was eager to look into what Away3D has to offer so this is the perfect opportunity.

I'll be sure to blog about to workshop and perhaps share some experiments after I've familiarized myself with the code.
Ganz toll! ;)


Flash at the lake - Swiss Flash User Group Conference.Flash at the Lake is a two day conference organized by the SFUG (Switzerland Flash User Group) taking place at the Rote Fabrik in Zurich, right by the lake side. Confirmed speakers include: Aral Balkan, Mario Klingemann, James Ward and many more.

I'll be doing a new presentation on using SQLite in Adobe AIR hopefully introducing the persistence framework I've been working on for a while now.
  Tickets are for sale now at very reasonable prices: two days of sessions and workshops including lunch will cost you 205 CHF or 135 Euro.



As you probably know you can use your ActionScript 3.0 classes declaratively as MXML tags in Flex projects. When you do so you can declare properties inline in the tag:

or the same can be done using a child tag with the property name you want to target:

  This is the text value declared inside a child tag

There was one thing that puzzled me until recently and thanks to Cyril Hanquez I've now figured out how to do this and made the connection to something Marco Casario blogged about earlier.

What if you have an Array property inside of your class and want to declaratively add instances of only a particular class to it? Enter the ArrayElementType meta data tag.

Imagine the following scenario:


The code above says that you have a Meeting class with an attendees Array property and to that property you add instances of a Person class.

Lets look at the two ActionScript 3.0 classes:

package com.peterelst.example {

  public class Meeting {
    [Bindable] public var attendees:Array = new Array();


package com.peterelst.example {

  public class Person {
    [Bindable] public var name:String;



Using the ArrayElementType meta data tag you can simply specify the fully qualified class name you want this Array property to accept.

Now lets bring these two classes together in a little example where data binding is used to populate a List component with our attendees Array property.




If you now get an item from the List component you'll have an instance of the Person class to work with.

Important to note is that the ArrayElementType meta data tag is only checking the type at compile time and won't throw an error if a different data type gets added to the array at runtime.

If you target Flash Player 10 with your Flex application you could also look into using the new Vector data type (which is essentially a dense mono-typed array) to accomplish the same thing.



The Progressive Web Tutorials Skills Matter is holding an interesting three day event in London (May 11-13) that I'm very happy to be part of. "The Progressive Web Tutorials" includes four workshops on some of the latest and greatest web technologies: Amazon EC2, Dojo, Comet and of course Flex.

I'll be doing a full day hands-on "Introduction to Adobe Flex" workshop on May 11th that will cover the following topics:

  • Introduction of the Flex framework
  • Overview of Flex Builder and the Flex SDK
  • MXML syntax
  • States and transitions
  • Data binding
  • Basic component development
  • Integrating with back-end services (XML, SOAP, Remoting)

For each of those topics we'll have some example code to work through and you'll walk away with the basic skills required to start creating your own Flex applications. There is no real prerequisite knowledge required, though some familiarity with XML or an ECMAScript based language like Javascript or ActionScript can be helpful.

You can take the workshop as part of "The Progressive Web Tutorials" or register for it standalone. More information on the Skills Matter website:

CategoriesEvents, Flex

I'm happy to announce a new set of intensive one-day courses on Flex, ActionScript and AIR that I'll soon start delivering at Skills Matter in London. During that day you'll get a thorough overview of the technology and some good hands-on experience building various real world examples. Here are the next few teach dates you can register for:

30-03-09 Introduction to Adobe Flex 06-04-09 Adobe Flex for Flash Developers 14-04-09 Beginning Adobe AIR 11-05-09 Introduction to Adobe Flex

More information here:

If you've got any questions about these courses, feel free to get in touch!


There's quite a bit of interesting info in this video recording on Adobe's Rich Internet Applications Roadmap. Particularly note the focus areas for 2009 with Flash Player "Argo" and "Stratos", the plans for mobile and devices and ideas for AIR extensibility.



ColdFusion is dead, long live ColdFusion! Before I knew it a simple twitter post about free ColdFusion workshops in Brussels turned into a heated debate on whether or not ColdFusion is a dead technology. Thought it was worth doing a blog post with my perspective on the discussion.

I'm not what you would call a typical ColdFusion developer, in fact other than installing the beta releases and experimenting with the most interesting features I have very little hands on experience with the product. Things changed about a year or so ago for me, I did some sessions at conferences like "Scotch on the Rocks" in Edinburgh where they primarily target ColdFusion developers and got to know several people in the community.

To say that ColdFusion has a passionate community is an understatement to say the least. It's kind of like Apple fan boys. Its amazing how passionate they are. They love the latest I phone 4, MacBook and other iProducts no matter what, exactly what ColdFusion fans are like. To the untrained eye they come across as guardians of the holy grail ready to smite anyone who dares criticize their beloved technology and to an extent that is even the case. If you look at the history of the product coming from Allaire through Macromedia to Adobe it is understandable that there is a certain level of anxiety about the survival of the product and what direction it is going to take.

I for one have not given up on ColdFusion, while there are obstacles along the way with the right approach it is here to stay and can see a grow in marketshare.

Product positioning

For the last few releases ColdFusion seems to be focusing more and more on enterprise level features. That's great and Adobe needs to build on its enterprise offerings along with the LiveCycle product range but it seems to be a somewhat artificial push in that direction and in the process neglecting a huge user base outside of the enterprise.

Arguably ColdFusion is the easiest way to hook up your Flash, Flex and AIR applications to backend services -- what about making it easier for your run of the mill Flash/Flex developer to get started with ColdFusion?

Pricing and open source

From what I've seen over the years, succesful developer technologies at Macromedia and Adobe have always relied on three pillars:

- free SDK - commercial developer tools - enterprise offerings

I think the same needs to happen for ColdFusion, there needs to be a free of charge and preferably open source CFML engine. That does not exclude any further commercial and even proprietary offerings on top of that but the barrier to entry must be way lower than it is right now.

Educating developers

I have to admit that, eventhough I like to think I'm well versed in all things Adobe, ColdFusion does have some gems I am yet to discover. Talking to my friend Cyril Hanquez, who incidentally works in government and enterprise and has been doing ColdFusion for almost a decade I've found out about some amazing features that I can't wait to try out as soon as I have the time.

Likewise, I regret to say that at least some portion of the ColdFusion community seems to be quite conservative and closeminded to what is happening around them. Technologies evolve and perspectives change, I would strongly advise any ColdFusion developers to look at what is happening with the Flash Platform as well as the AJAX world with jQuery and the likes.

Thirdly what I would call the "web 2.0 extremists" ready to dismiss anything that doesn't fit the general style guide of the latest iteration of the web (copyrighted by O'Reilly Media, Inc.). This honestly might be the most difficult group to evangelize to since its judgement is usually not based on any objective criteria but rather a general trend and developer interest. The only thing I can suggest there is to rename the product to and stick a "beta" label on it.


There are encouraging signs that many of these points are being addressed, but there's still a long way to go -- more so with marketing the product and winning developer mind share than growing the technology.

In the current economical crisis I have a feeling Adobe is going to be weary of any further open source initiatives but I would urge them to continue on that path. ColdFusion needs to get more closely aligned to the Flash Platform products and the enterprise will follow.

Think about what happened with Flex when it was originally launched as a serverside MXML compiler with pricing clearly aimed at the enterprise. I think it is fair to say that wasn't a huge success. Then in April 2007, the big turnaround with Flex going open source and becoming an almost instant hit with a lot of Java developers and increasingly large corporations which leads on to LiveCycle Data Service ES sales etc. We need a similar revolutionary approach for ColdFusion.

Open Source CFML engines are on the horizon, Adobe is working on a dedicated IDE for ColdFusion and serverside ActionScript support is to be added in the next release of the product codenamed "Centaur". These are not signs that Adobe is throwing in the towel, on the contrary -- if anything this is the time to start looking at ColdFusion and help shape its direction.

Just consider this as an "outsiders perspective" on the current state of ColdFusion, I'd love to hear your thoughts on this.

17 CommentsPost a comment

Today the Adobe User Group Belgium organized a FlexCamp in Antwerp with some fantastic speakers lined up including no less than three Adobe employees (Matt Chotin, James Ward and Chet Haase) which must be a new record for us. I presented a slightly updated version of my "Introduction to SQLite in Adobe AIR" talk, covering the new encrypted database support in Adobe AIR 1.5.



For those interested, the source files of the demo applications I showed is available for download here (including the updated YouTube class to get hold of FLV files, thanks to Pogopixels!)

3 CommentsPost a comment

I just got back from the annual Feweb event, this year I was scheduled in the Rich Internet Applications track to do a Flash versus Javascript battle with none other than Peter-Paul Koch, moderated by Gijs Van Essche. Despite our sincere efforts it was difficult to find fault with the two technologies since they complement eachother so well. I had a few opening slides listing some of the top reasons to use Flash and features that are now or soon will be available in the Flash Player.



The slides above are in Dutch but I'm pretty sure they won't be too difficult to understand ;)

Further discussion points raised by the moderator included:

  • Flex and AJAX are identical
  • Flex is sexier
  • Flex is cross browser
  • AJAX is a team rather than a single company
  • Flex = Ajax < Silverlight

In the end it came down to use cases for each of the technologies, with Javascript and AJAX you've got more fine-grained control over the browser DOM while Flash/Flex gives you the advantage of cross platform deployment and a whole stack of data and multimedia features.

Where both Peter-Paul and myself seemed to converge was the last question on Silverlight where we both had our concerns particularly about the way it is being marketed. I think we were pretty fair in our assessment though was pleased to have a little chat with Luc Van de Velde, Director Developer & Platform Group for Microsoft afterwards.

I would like to call for a RIA think tank to be set up to get a technology-agnostic look at the challenges we face and how to most effectively move forward. Nobody benefits from a "browser war" between rich client technologies. Anyone interested to help kick start this project feel free to leave a comment or contact me directly!

5 CommentsPost a comment

When you go to conferences as much as I do and meet up with old friends and acquaintances, the number one question is: "So, Peter what have you been up to?". I realized that, unless you follow me on twitter and actually read the dozens of messages I post there every week, fairly few people have a clue what I've been doing these last few months. Well here goes, apart from the Object-Oriented ActionScript 3.0 courses I teach in Belgium and the UK, I spend a good bit of time tech reviewing several books. Two great titles that are coming out soon are AdvancED Flex 3 (Friends of ED) and the Adobe AIR Cookbook (O'Reilly).

AdvancED Flex 3 Adobe AIR Cookbook

I'm also co-authoring a couple of books, one that has already been announced is AdvancED AIR Applications (Friends of ED).

Turns out I've so far attended 10 events and conferences this year, presented a total 12 sessions and have enjoyed every minute! That said I'm not sure if I'll be able to keep things going at that rate.

While I'd love to be in the position to speak at all conferences that would like to have me over, unless my basic travel and accommodation expenses can be covered (which thankfully and increasing number of conferences are able to do), I'm going to have to become very selective in what I take on. I'd prefer to spend my personal travel budget on community events that genuinely have limited resources or are just starting out. That's not a dig at Adobe MAX by the way, there are different reasons why I won't be speaking there this year.

The ActionScript Conference in Singapore is going to be my last conference speaking engagement of the year and have not confirmed anything for 2009 as of yet.

We'll see how things go, after Singapore I'm heading to India for a couple of weeks and will get back to business again by the end of November.

3 CommentsPost a comment

Thanks to Zohar Babin for pointing me to some further information about the FlaCC project on the website. Scott Petersen gave a talk on August 1st at the Apple Campus for the "2008 LLVM Developers' Meeting".

The title of his session was "Flash C Compiler: Compiling C code to the Adobe Flash Virtual Machine" with the following session description:

FlaCC is a research project that compiles C code to ActionScript using llvm-gcc with a custom flash code generator. This enables almost arbitrary C and C++ code to be executed safely and efficiently within a Flash container on web pages. This talk describes the implementation of the system and shows several compelling examples that use it to run other language and CPU interpreters within Flash as well as run existing large programs within C. The demos are also extremely impressive :)

I took the time last night to read through the slides and watch the video. While a fair bit of the technical discussion is way over my head, here are some interesting points in the presentation that stood out to me:

■ ByteArray optimization was done and is shipping in the AIR 1.1 release (5:15) ■ Synchronous C to asynchronous AS3 classes (8:05) ■ Multi-threaded C code but no multi-threaded ActionScript (11:00) ■ Performance better than 50% of fully optimized native code (11:40) ■ Quake running on AIR 1.1 demo (13:15) ■ C AS3 API (17:00) ■ Initializing C library from ActionScript (18:50) ■ Python interpreter demo (21:20) ■ Nintendo emulator demo (23:20)

Of course the demo's of Quake and Zelda running in the Flash Player are extremely impressive, where I think this project is going to make a huge difference is apart from obviously allowing native C library extensibility for Flash, Flex and AIR, enabling Flash content to be created using Python and other languages.

Looking forward to hearing more about this project at the Adobe MAX conference!

You can download the slides (PDF - 508kB) or video of the presentation (M4V - 405MB) from the following URL:

3 CommentsPost a comment

If you paid close attention during some of the Adobe sessions at Flash on the Beach you'll have heard about a project called FlaCC, basically a way to compile C and C++ libraries to ActionScript bytecode. I haven't seen a whole lot of people talking about it as of yet even though - if this works out - it is in my opinion one of the most exciting developments in the last few years!

From what I can tell this project goes back to what we saw presented by Scott Petersen during the sneak peek sessions at MAX Chicago 2007, the most impressive of his demo's was without a doubt running a cross-compiled version of Quake in the Flash Player (or an AIR app as it turns out).

Here's the video I recorded back then:

There was a huge amount of interest in this project and shortly after Ryan Stewart had the opportunity to interview Scott Petersen to find out more:

The first mention of FlaCC during Flash on the Beach was at the Adobe Town Hall meeting, where Paul Betlem answered a question about possible support for a Dynamic Language Runtime.

I don't have a direct quote but in effect he said that FlaCC was in development, it allows for C/C++ code to be compiled to ActionScript bytecode, and will be made available to developers in the not too distant future.

On Wednesday during the "The Yin and Yang of Flash" session we were given a little more background information.

One of the major use cases for FlaCC seems to be to allow a form of native extensibility for the Adobe Integrated Runtime. Since it would compile C/C++ down to ActionScript bytecode this would ensure cross-platform compatibility, which is a key concern for AIR.

Paul Betlem mentioned that the C code compiled down to ActionScript bytecode runs up to 10 times faster than ActionScript 3.0 (and about twice as slow as native C code) making it a good candidate for complex math and other operations.

Since FlaCC was brought up as a reply to a question on Dynamic Language Runtime support, this could conceivably mean work is being done on having an interpreter for a language like Python ported to the Flash Player. This is in line with what Scott Petersen presented at MAX 2007 and I believe that same point came up in the Adobe Town Hall meeting as well.

In any case, exciting times ahead and can't wait to see this in action!

16 CommentsPost a comment

FlexCamp London I was happy to see FlexCamp London happening next week, just as I am over there to teach a Flex course.

After talking to Andrew Shorten and Mike Jones myself and Marco Casario were recruited to do a 30 minute talk on SQLite with Adobe AIR. Should be good fun!

The agenda looks very promising, be sure to register if you want to attend!
2.00pm Start 2.15pm Keynote - Andrew Shorten, Adobe 2.45pm Building your 1st Flex application - David Arnold, Academy Class 3.15pm Styling, skinning, designer/developer workflow - Chris Jenkins, Tribal 3.45pm Break / 'show and tell' - Monochrome 4:00pm PureMVC - Justin Clarke, Samuel Williams, LBi 4.20pm Flex and ColdFusion - Niklas Richardson, Monochrome 4.40pm Flex and Java - Bryan Hunt, Emak Mafu 5.00pm Break / 'show and tell' 5.15pm Who you need on your Flex team - Neil Middleton, Monochrome 5.45pm Application development best practices - Dan Thomas, Moov2 6.15pm Break / 'show and tell' 6.30pm SQLite with AIR - Marco Casario, Peter Elst 7:00pm Flex component development, Mike Jones, Pixadecimal / FlashGen.Com 7:30pm Q&A ask the panel session 8:00pm Pizza and beers

Looking forward to seeing you there!

CategoriesEvents, Flex

The Actionscript Conference I'm very excited to be part of the first edition of "The ActionScript Conference" at the National Library in Singapore on October 19th! With fellow speakers like Lee Brimelow, Michael Plank, Stefan Wessels and others it promises to be a great day.

The conference is organized by the Singapore Flex Usergroup that includes such talented people as Hu Shunjie, Arul Prasad. Genuinely looking forward to meeting the Singapore community and doing some sightseeing.

If you haven't booked your ticket yet, you're sadly too late since they've already sold out. Make sure to keep an eye out for a next edition though!

3 CommentsPost a comment

Great news for the Flex community, the inaugural issue of Flex Authority is here! It was great working as a technical reviewer with the various talented authors and I can promise you its chuckful of interesting articles on Flex and AIR for readers of all skill levels.

Here's to many more issues to come, an excellent technical journal has seen the light! Be sure to subscribe today, its just 49.95 USD/year for a printed copy and 29.95 USD/year to get all four issues as a PDF.


Meet the GuruI'm excited to be partnering up with Comtaste for their "Meet the Guru" training sessions starting this October in London. October 13-15th, I'll be doing a three day course on "Programming ActionScript 3 for Flex 3", covering everything you'll need to get started with ActionScript 3.0 development for your Flex-based Rich Internet Applications.

Later that month Marco Casario is doing a "Flex 3 and Flex Builder 3" course and Koen de Weggheleire will be teaching "Developing desktop applications with AIR, Ajax and Flex".

Needless to say these are going to be great events and a fantastic opportunity to get up to speed with the latest Adobe technology has to offer!

The courses take place at the Lafone House, The Leathermarket - Weston Street in London. Its a bring your own laptop event, course material that attendees get will include the books "Flex Solutions: Essential Techniques for Flex 2 and 3 Developers" and "Object-Oriented ActionScript 3.0".

If you use the discount code "Peter" you'll get a 5% discount when registering for the training. Hope to see you there!
More information and registration here