Years of Flash experience: 7

Aral Balkan acts and sings, leads development teams, designs user experiences, architects rich Internet applications, and runs OSFlash.org, the London Macromedia User Group, and his company, Ariaware. He loves talking design patterns and writing for books and magazines. He also authored Arp, the open-source RIA framework for the Flash platform. Aral is generally quite opinionated, animated, and passionate. He loves to smile, and can even chew gum and walk at the same time.
I was brought in to work on my first Flash project because I knew how to program. I discovered quickly that I could reuse my knowledge of multimedia authoring with Director, and motion graphics with After Effects and Photoshop, and apply it to Flash.
Although I am mostly self-taught, I learned a great deal from Charlie Cordova and Branden Hall, Katherine Ulrich's Flash Visual QuickStart Guide, Lynda Weinman's Flash HOT books, and of course Colin Moock's ActionScript: The Definitive Guide. Sham Bhangal's Flash MX Upgrade Essentials was also invaluable in making the leap from Flash 5 to Flash MX a seamless one.
I also learned from the Flash community on Flashcoders—and elsewhere—who continue to share their time, code, and expertise generously with others on a daily basis.
I started using Flash to add interactivity to linear presentations for clients like Accenture. From there, I worked with Branden Hall and Charlie Cordova on creating a virtual school in Flash 5. It was definitely the world's first virtual school and most probably the world's first real rich Internet application (RIA).
That propelled me into the world of RIAs and I created an open-source, pattern-based framework for RIA development called Arp that is being used around the world to create Flash and Flex applications. I've used Flash and Flex to create RIAs and online experiences for numerous clients. Today I write, present, and teach a series of courses that I've authored on Flash and Flex.
I have always had a Jekyll and Hyde relationship between the part of me that is the outgoing stage personality—the actor, the designer, the director—and my hidden, geekier side. I fell in love with both theater and computers at around the same age, when I was seven. This is when I started programming and when I first wrote, directed, and acted in a play. Later I went on to study film and multimedia during my undergraduate and graduate degrees. With Flash I was finally able to bring all of my various passions together.
Flash gives me a virtual stage on which I can combine my skills in production, motion graphics, graphic design, interactive design, and programming. Beyond this I was lucky enough first to discover and then to become part of the amazing community that exists in the Flash world. Today I coordinate OSFlash, home of the open-source Flash community, and I'm honored to interact with some of the brightest and most creative minds in our community on a daily basis.
Professionally, Flash has meant that I was able to take part in building the world's first virtual school and that, today, I can work with the prime minister's office here in the UK to put a virtual 10 Downing Street on the web. In between, it has meant that I got the chance to work on exciting, cutting-edge Internet projects and share my knowledge through the books I've contributed to, my own training courses, and the various talks I give at international conferences.
Flash has taught me that web development can be fun! Not having to worry about cross-platform issues when creating web applications makes a world of difference. It's just a simple matter of quality of life: Your development tools and workflow determine how much fun (or frustration) to have on a daily basis. Especially now with Flex 2, it is utter joy to develop on the Flash platform.
The most amazing features in Flash currently are alpha channel video and the various bitmap features. They allow developers to create, in real time, the sort of motion graphics that were previously possible only through prerendering in After Effects or Photoshop combined with tedious frame-by-frame rotoscoping.
I'm also amazed by the real-time collaborative and communicative features in Flash.
The most amazing thing in the Flash platform currently, though, is Flex 2. I am absolutely in love with Flex Builder 2, ActionScript 3.0, and the Flex 2 framework. They have actually improved my daily level of happiness! They are a joy to work with.
Flash is my paintbrush, my microphone, my stage. It allows me to create and, even more importantly, immediately share my creations with the world.
Two simple decisions, made at the very beginning of a project, have the most significance in determining its eventual outcome: The first is which development process, if any, you decide to use. The second is deciding on the architecture of your application.
Regarding development process, I would urge developers to read up on Agile Development methodologies and Human Computer Interaction in general, and eXtreme Programming (XP) and User-Centered Product Development (UCPD) in particular. A combination of XP and UCPD—a process I call User-Centered Agile Product Development (UCAPD)—that combines the project management and software engineering expertise of XP with the focus on usability and user testing of UCPD will lower the risks of your development while improving the daily welfare of your team.
When it comes to architecture, I would highly recommend that developers research design patterns and look into Arp—my own open-source, pattern-based framework—for creating applications on the Flash platform. Arp allows you to develop maintainable, scalable applications using established design patterns implemented in both ActionScript 2.0 and ActionScript 3.0. With Arp you can architect each one of your applications in exactly the same way, regardless of whether you are using the Flash authoring environment, MTASC, Flex 1.5, or Flex 2.
Stop thinking about doing it and do it! The worst thing you can do is let your perfectionism get in the way of actually making things. Make something, put it out there, and then evolve it.
The potential for the Flash platform, following Macromedia's merger with Adobe, is virtually limitless.
In the next 10 years, the Flash platform will move beyond the browser to become a standard content and application delivery platform for occasionally connected, mobile, and desktop applications. The evolution of tools such as the Flash authoring environment and Flex, combined with the Adobe range of products such as Photoshop and After Effects, will provide developers with an even more elegant and integrated toolset and workflow for content and application authoring than we have today. With the growth of broadband penetration, we will see the Flash Player gain new features such as hardware-accelerated 3D support and advanced real-time video and sound manipulation—some of which we are already seeing in the latest versions.
As far as rich Internet applications and occasionally connected applications are concerned, we will see a mass exodus as Ajax developers embrace the cross-platform support, simpler workflow, and elegant toolset provided by Flex. Already there is much interest in the Flash platform from the traditional web application community and developers are starting to realize that Flash has moved on considerably from its humble roots 10 years ago as an animation package. Myths are being shattered daily as the Flash platform grows from strength to strength with massive improvements in the areas of accessibility, performance, and development workflow. (As I write this, an open-source solution called FlashAid that I authored with web-standards guru Jeremy Keith helps make Ajax more accessible by using the accessibility features in Flash Player.)
Open source will continue to play a very important role in bringing the brightest minds to the Flash platform, and we will see the growth and maturation of open-source tools and servers to complement the commercial offerings by Adobe and other vendors. These open-source products will also increase the adoption of Flash in the creation of communication and e-learning initiatives in third-world countries. Eventually, as the Flash platform reaches a certain level of maturity, we may even see open sourcing of Flash Player and Flash becoming a truly open standard.
Flash has the potential to become the universal runtime and make differences among operating systems and platforms irrelevant. In the next 10 years, Flash will fully realize this dream.