This last week or two we've seen a lot of heated debate around the future of ActionScript and the Flash Player. Its nice to see this kind of excitement and passion for the technology -- yet I can't help but feel we're experiencing a form of 'continental drift' here. I've seen ActionScript grow up from its humble beginnings with just a handful of frame actions to supporting prototypes, object-oriented syntactical sugar to where we now have a full fledged object-oriented programming model.

 
That is a good thing, right?

Yes and no. While I wouldn't have dreamed it some time back when I was advocating object-oriented code as the one-stop solution to all your problems, I'm starting to feel we're losing out on a lot that made ActionScript so appealing.

This is something Aral Balkan has been saying for the last year or two and I initially considered blasphemous. Is a focus on how to do things 'properly' holding us back getting things done? I believe so.

Is there anything now - excluding improvements to Flash Player performance - that could not have been done with ActionScript 1.0? Very little, though admittedly it now takes a lot less effort.
 
Experience matters

Thinking back to the old Macromedia slogan "Experience matters" -- who's experience are we talking about here? Is the visitor to your site, the person using your application going to be in awe for how well you structured your code or what design patterns are implemented? Hell no.

I see a lot of people talking about features like generics, method overloading, private constructors etc. All great features that I would love to see included some time. Improving the language is one thing but it shouldn't impede on what actually matters, the user.

Innovation in the Flash Platform is primarily driven by creativity rather than the feature set of the tools you are given.

I was reminded of this thinking back to some old workarounds in the Flash 4/5 days. More recently, people could have simply said Flash Player can't do 3D, you can't dynamically generate sound -- guess what, Papervision3D and Hobnox Audiotool happened and pushed the envelope.

 
Rethinking the model

Is chasing after features in other object-oriented languages a sustainable solution or should we look at a different approach?

In my opinion rethinking the Flash Player to be more decoupled from ActionScript and enable anything to run on top would be the way to go. There is no such thing as a one-size-fits-all solution especially if you consider going beyond just web and desktop to mobile and devices. This would make perfect sense in the context of the Open Screen Project and a unified platform.

Going language agnostic is obviously no small feat but with Alchemy and LLVM the idea of a dynamic language runtime is certainly not unfeasible. This also opens up opportunities for a formal plugin architecture allowing you to 'decorate' the Flash Player with additional functionality.

Thinking further outside of the box having the ability to run code in interpreted mode rather than necessarily having to compile SWF binaries would significantly open up the developer landscape and capitalize on Adobe's investment in ECMAScript 4.

With that scenario in mind I would like to see Adobe focus primarily on the following core areas for the Flash Player: performance, multi-threading, hardware acceleration, compiler optimization.

 
Conclusion

I think the current focus on object-oriented orthodoxy in the community and evolving the language is not necessarily the right approach.

Moving further away from at least the option of dynamically typed languages and simple constructs, we now celebrate having something like navigateToURL(new URLRequest("http://www.peterelst.com")); over getURL("http://www.peterelst.com");.

The Flex framework was an interesting move in this respect, but what do you see -- people starting to feel the need to use additional frameworks on top of that. Adding abstraction layer on top of abstraction layer. It is as if we strive for complexity to validate our work as developers.

I'm definitely not one to promote doing away with object-oriented code but I question the motives for evolving it to imitate other languages, what it would fundamentally solve and what role it would play in evolving the Flash Platform. Maybe its worth a rethink.

"Make everything as simple as possible, but not simpler" - Albert Einstein

 

Posted
AuthorPeter
50 CommentsPost a comment

Sometimes I really wish I worked over in San Francisco -- now and again Adobe does these great meet ups, like recently happened with FlashCamp. They've put the video of the presentations online including a keynote by CTO Kevin Lynch and the following topics:

 
These are some really good in depth presentations that I can highly recommend you check out!
 

Posted
AuthorPeter
3 CommentsPost a comment

It seems Google did an update to how it indexes Flash content yesterday. Some of you might have already heard about the headless Flash Player aka "Ichabod" that Google and Yahoo got from Adobe -- it seems it is now being put to better use. Google has been indexing Flash content for years, basically extracting any static text that might be embedded in there. If you do a search with the filetype:swf flag you'll see what that turns up.

Now with this new headless Flash Player, rather than trying to extract static data from the SWF file, it runs it over a command-line (non-visually) and gets back information about the contents of your Flash file, it will simulate button clicks etc. and capture the text results for indexing.

The important update now is that Google will also follow external resources, so for example XML files or other data that gets loaded in and not index it as a separate URL (as before) but in context to your Flash content. If you want to avoid your SWF files from getting crawled you can simply include them in a robots.txt directive like any other content.

 
More information here
 

Posted
AuthorPeter
CategoriesFlash, Flex
6 CommentsPost a comment

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.
 

Posted
AuthorPeter
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 Flashforum.de. 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! ;)
 

Posted
AuthorPeter

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.
  www.flashatthelake.ch

 

Posted
AuthorPeter

I must have seen Joshua Davis present at least half a dozen times over the last few years but there's something about his work that keeps inspiring -- pushing Flash beyond its limitations to create some beautiful artwork. Definitely one to watch!
 

Posted
AuthorPeter

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: http://skillsmatter.com/go/flex-flash

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

Posted
AuthorPeter

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.
  

  

Posted
AuthorPeter

Jim Corbett, Flash Player Engineer at Adobe, did a talk at MAX San Francisco with some good information on how the Flash Search Player works and what Google (and hopefully more search engines in the near future) can get out of your SWF files for indexing.

Nice to see more information available, we've had a need for this ever since searchable SWF was announced on July 1st. This presentation cleared up most - if not all - of my questions about the current state of Flash SEO, definitely worth watching!
 

 

Posted
AuthorPeter
14 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!
 

Posted
AuthorPeter
5 CommentsPost a comment

Thanks to Zohar Babin for pointing me to some further information about the FlaCC project on the LLVM.org 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: http://llvm.org/devmtg/2008-08/
 

Posted
AuthorPeter
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:

http://blog.digitalbackcountry.com/?p=1095
 

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!
 

Posted
AuthorPeter
16 CommentsPost a comment


Another year, another great Flash on the Beach keynote. This year Richard Galvan, Serge Jespers and Mark Doherty took the stage to talk about Flash CS4, AIR and Flash Lite.

At some point during the keynote Richard mistakenly says that Flash Player 10 beta has reached 60% adoption, I've been told by Adobe that there have been 6.5 million Flash Player 10 beta downloads at this time.
 

Posted
AuthorPeter
6 CommentsPost a comment

With Adobe Creative Suite 4 getting officially announced tomorrow, I thought it was worth looking back at some video I shot during the sneak peek session at MAX Chicago last year where they first started showing features of the next version of the Flash authoring environment. Despite some leaked information about CS4 on AppleInsider calling it a "minor update", I for one am very impressed with what the various product teams have been working on.

I'll let you judge for yourself, we'll know more tomorrow on exactly what features made and did not make it in.

Posted
AuthorPeter
CategoriesFlash, Video
3 CommentsPost a comment

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!
 
www.theactionscriptconference.com
 

Posted
AuthorPeter
3 CommentsPost a comment

Flash on the Beach This years Flash on the Beach is just 7 weeks away -- time sure flies when you're having fun!

If you've not been to any of the two previous editions, you've definitely missed out -- it is one of the very best Flash events worldwide to hang out at, meet new people and get inspired!

The speaker lineup this year looks amazing as always: Erik Natzke, Robert Hodgin, Nico Lierman, Carlos Ulloa, Hoss Gifford, Andries Odendaal, Mike Jones, Koen de Weggheliere, Seb Lee-Delisle, Mario Klingemann, Branden Hall, Grant Skinner, Keith Peters, Joa Ebert, Tink, Geoff Stearns, Niqui Merret, Chris Allen, Jared Tarbell, Mike Downey, Richard Galvan, Mike Chambers, Andre Michelle, Dr Woohoo, Lee Brimelow, James Paterson, Ben Stucki, Aral Balkan, Ralph Hauwert, Doug McCune, Carlo Blatz, Stefan Richter, Neil Webb, Marco Casario and many more...

I have to admit that I'm more than a bit proud that with myself, Nico and Koen we've now got three speakers from Belgium on the schedule ;)

John Davey was kind enough to hook me up with a discount code (valid until September 1st) that will get you £50 off your ticket: DPPE167

If you haven't booked your ticket yet, do it now you won't regret it!

Posted
AuthorPeter
CategoriesEvents, Flash