In The Brain of Peter Elst: The evolution of the Flash Platform & ActionScript 3.0

Review: The evolution of the Flash Platform & ActionScript 3.0 at Skills Matter, Sekforde Street, London 18:30 to 20:00

This was my final London Web Week event, my curiosity for Flash had been piqued somewhat by my attendance at the onAIR London event even though I don't usually follow developments in this area, so I hoped this would be a good talk for getting me more up to speed.

I was late for the start of the talk, but I don't think I missed too much. When I got there Peter was talking about the use of Flash in digital art installations, I assume as part of a segment on 'good' uses of Flash. He then moved on to some of the new features in ActionScript 3, some of the highlights of which are: a new, more consistent, API based on ECMAScript 4; E4X; a new Event model; and support for binary sockets (which allows connections to arbitrary network services). Peter then discussed the many tools available for authoring and delivering Flash content with AS3, one of the refreshing things about the list was the number things on it which had recently been released as open source.

Next, common Flash myths were addressed. The first was the SEO issues - while it's true that search engines will struggle to crawl an all Flash site, they can, thanks to the Flash Search Engine SDK, extract the static text and links from Flash movies. Adobe are currently working with Google and others on ways for search engines to extract dynamic text and understand context. A related myth is that it's impossible to do deep linking on a Flash based site, but with the SWFAddress library it's possible to provide URLs for particular elements of your movie as well as support the back and forwards buttons in the library. Flash has traditionally required non-validating markup on its underlying HTML page, but with SWFObject that is also a thing of the past. Finally Peter expressed his frustration at people continually comparing AIR and Silverlight, AIR is a cross platform runtime environment whereas Silverlight is a browser plugin (actually, more like Flash) - they are different things and there's no point comparing them.

Having covered the current state of 'stuff based on the Flash runtime', Peter moved on to look at the future directions for the platform. One of the big changes is Adobe's drive towards open source, some of the key projects which have been open sourced are:

  • Tamarin - the virtual machine which underlies ActionScript is now to be the engine for Javascript in Mozilla 2
  • Tamarin Tracing - a version of the virtual machine which uses trace trees to optimize JIT compilation (pdf) and should be suitable for 'constrained environments' such as low end mobile phones and other embedded devices
  • Flex SDK - previously an enterprise application server selling for big bucks, now free to download and plug in to Eclipse
  • BlazeDS and the AMF file format - similarly, an enterprise solution for feeding live data to Flash front ends now freely available
  • The Open Screen Project - possibly the most exciting of all, Adobe have removed licensing restrictions on the SWF and FLV specifications, making it legal for anyone to develop a Flash player for any platform (64bit Flash here we come?), and removing licensing fees on Flash and AIR to encourage adoption in the embedded space

Peter then went on to talk about the next version of Flash (both the authoring environment and the player) which he illustrated with several slightly hard to hear videos shot from his phone at major Adobe events. Some of the neat stuff in the Flash authoring environment was live video on the 'stage' (ie. the bit in Flash where you assemble the content), auto-tweening through drag and drop and path manipulation (no more messing about with keyframes) and inverse kinematics (draw a picture of an arm, then make it move). The player itself will support PixelBender - a language for writing image filters which will then work in Photoshop, After Effects and Flash, in real time on running movies. I thought this might be a cool way to improve accessibility in Flash - add high and low contrast versions of Flash movies at runtime. The other cool new thing we saw was Pacifica, a SIP based VOIP client in Flash (and, in future versions, AIR). It struck me, as we saw presentations on these and other technologies, that Adobe is addressing the arrival of Ajax and DHTML interfaces moving into their traditional 'rich application' space for Flash by heading out in directions that are unlikely in the foreseeable future be doable in HTML and Javascript. This is definitely a good thing, it will push the development of the web onwards, but it means that all those people who unconditionally hate Flash on websites are going to have to be putting up with it for much longer as there's just going to be some things that can only be done in Flash.

The last demo we saw was a guy at Adobe who'd written a C/C++ to ActionScript cross compiler, which allowed him to compile popular C libraries, such as libxslt, to ActionScript and make use of them in Flash movies - adding features which are just not available in native Flash. The culmination of his talk was a demo of Quake running in Flash after being ported to ActionScript from C. Most of the videos we saw are on Peter's blog if you want to check them out.

Overall this was a pretty good talk, I got what I wanted out of it. It was quite difficult to hear what was being said on the videos as they were just using his laptop speakers, but I grapsed enough of what was going on from the video bits. I give it 4 out of 5.

Technorati tags for this review: