The New Face of Flash | September 26, 2005
Some of you may be surprised that prior to developing an interest in web standards, I was actually an ActionScript programmer. I used to really enjoy building flash based games and application, although I tried to steer clear of the ubiquitous “skip intro”. However I became increasing frustrated with the Flash development environment. By the time Flash MX came out, ActionScript was a fairly reasonably formed object oriented programming language. However all of your development happened in an environment designed for visual animation. Frustrating to say the least.
By the time Flash MX 2004 came out I was so fed up with Flash, I threw in the towel and never looked back. Since then my view of Flash has been locked in 2003. Flash to me meant sites opening up in full sized windows, user interfaces taking 10 seconds to build as elements would fly in from one side, fade in and assemble themselves, only to fly apart when you clicked on a navigation element and rebuild again on the next screen. Flash 99% bad indeed.
The other day I popped into Borders coffee shop for a much needed break from writing and bumped into friend and Flash supremo, Aral Flash Ant Balkan. We got chatting and in the space of half an hour Aral changed my view of Flash for ever.
Aral was working on a Flash application and we got talking about developing applications in flash. The first thing that really shocked was when Aral started talking about running user tests for his applications. A Flash developer knowing what user testing was, let along running one? Never heard anything like that before!
We started taking about why you would choose Flash over a more tradition approach and one of the main things was obviously the ability to maintain state. We briefly talked about the ability to do this in regular HTML pages now, using AJAX. However Aral quite rightly mentioned that what people are starting to do now using AJAX, Flash developers were doing 3-4 years ago. As such, the Flash developer community had learnt a lot from their early mistakes, the same mistakes AJAX developers are making now. Also the Flash client and server technology is a good few years ahead of the AJAX community.
Hmm, interesting, but I needed more convincing. Flash still seemed like a very clunky way to build applications. This is when Aral introduced me to MXML, an XML user interface language much like XUL. Rather than building his interface in Flash, Aral was editing XML files. Adding a <mx:TextInput /> tag would create an input box, adding a <mx:Button /> would create a button element. Aral explained that the MXML file was really intended for presentation only, and all the data and logic were dealt with elsewhere. Hmm I thought, separating presentation from data sounds familiar, I wonder where I’ve heard that before?
Aral then started walking me though his ActionScript framework. No longer did you need to embed ActionScript in your Flash files. It could all be held externally as .as files, the logic and behaviour being separated from the display. The framework really did look like any other object oriented framework except this was written in ActionScript and not PHP or Java.
It struck me that Aral was coming at things from exactly the same angle as me, wanting to build more usable applications, separating data from presentation and behaviour etc. He was just using a different tool to achieve the same goals.
It really made me think about how much Flash has developed in the last few years. What the standards and open source community have been talking about for years –turning the web into an application platform using technologies such as XUL and AJAX- flash developers have been doing for a while now. Obviously I’d prefer to be using open technologies rather than expensive and proprietary ones. However it does make you think and give you a possible glimpse of what Web 2.0 really could be like.
Posted at September 26, 2005 11:02 AM