Previous Section Table of Contents Next Section


About seven years ago, I started working with Macromedia Flash-Version 2.0 to be precise. The client for my first Flash project was Levi's Canada, the world-famous apparel company. Levi's was looking for the proverbial "really cool web site." I guess corporations, like any other living entity, have an aversion to death, and Levi's was keen to renew its lease on life by attracting a new generation of customers (read: teenagers). But kids, said Levi's, don't like clothing web sites; to a kid, a clothing web site is a boring shopping catalog with a Buy button. The solution? Make the new Levi's site an interactive comic strip, where the stories of the characters lead to Levi's products. Fill the comic with action, romance, drama, and love that stuff.

At the initial project meetings, the creative director presented the animated web site concept while we, the HTML jockeys and web designers, shuddered at the thought of trying to implement it. As envisioned, the site even included-hold onto your hat-actual sounds for the characters' voices! (Remember this was 1997; audio and animation on web sites was almost unheard of.) In our first technical plan for the site, we proposed the use of animated GIF images, WAV sound files, and JavaScript image rollovers. We knew the site wouldn't be as spectacular as the creative director had described, but we were accustomed to playing the developer scapegoat. We would be the ones to break the news to the client: web browsers can't really do animated cartoons; the creative director's description of the site was conceptual, intended merely as inspiration, not to be taken literally.

But the creative director had seen animations on the Web; he was sure of it. He asked us how Disney's web site did its cartoons. We told him with Macromedia Flash. For him, the name of the software and technical details were irrelevant. The Levi's site had to be animated at any cost. So we did the Levi's site in Flash (see it at

Shortly after we completed the Levi's site, the web design industry went crazy over Gabocorp and EYE4U, two self-promotional web agency sites with animated Flash interfaces. By today's standards, these two sites look comically simple and naïve. (See for yourself-as of April 2004 the original EYE4U site is still live at Gabocorp and EYE4U consisted of nearly no programming, arguably gaudy design, some moving shapes, and some balls flying around the screen. So what made them popular?

Like the Levi's site, they proved that you could hack the system.

As a browser add-on, Flash is one of the largest scale hacks of the past decade. Since its inception, Flash has breathed life into the somewhat sterile web browser. Flash lets the creative community explore what the Web can be: a cartoon network, a game platform, an OS-style environment for connected applications, an electronic art gallery, a video chat, a collaborative multiuser environment, a remote meeting room, an MP3 music player-or pretty much anything you can dream up. Fitting that ideal, Macromedia used "What the Web can be" as its marketing slogan a few years back.

Accordingly, it's no surprise that Flash is pervasively flexible, a veritable hacker's playground. In fact, Flash's "hackability" is arguably the key to its success. Here, I'm using the word "hack" to mean "a creative exploration, using any means possible (even ugly), that leads to some desirable (even exhilarating) result." Flash grew from a humble animation toy to the expansive "Rich Internet Application" tool it is today, largely in response to the hacks introduced by the development community.

I remember people using Flash 3 to create games like Whack-a-Mole, Leo's Great Day ( ), and even crude prototypes of Pacman and chess. Mind you, all without a single line of code. Flash 3 had no scripting language! In response to this hacked demand for greater interactivity, Macromedia introduced a very simplistic version of ActionScript in Flash 4. Little did they know it would fuel a motion graphics movement that would influence design in print, television, and movies for years. Months after Flash 4 shipped, sites like Mono-craft (, PrayStation (, Levitated Design & Code (, and Presstube ( became famous for their creative explorations in real-time audio/visual expression (in other words, for their hacks!).

People use Flash to explore things that are hard or impossible to do in other media. It's hard to do motion graphics in HTML, but you can dream about a motion graphics web with Flash. It's hard to do expressive, customized user interfaces in traditional desktop applications, but you can see branded Flash applications today on thousands of web sites. As I write this foreword, I'm finishing up a web site in which you can observe other connected users interacting with the site's interface (see Meanwhile Marcos Weskamp is working on Version 2 of his remote control car application (, in which anyone in the world can drive a physical remote control car via a Flash-based web interface. It's hard to imagine building these things with any tool but Flash.

So Flash is a hacker's paradise. It lets you play. It gives you the freedom to explore your ideas. And it forces you to pull some zany tricks to get what you want. For a long time, the tricks and hacks of Flash have circulated throughout the online development community. Many of them, new and old, are now committed to print in this book, in a quality and style deserving of the O'Reilly name.

I consider this book both a service and a challenge.

The service: use what you find in these pages to your advantage on whatever you're building. There's tons of great info here, bound to be of help on nearly any project. You'll benefit from Sham Bhangal's considerable experience in the field and a clarity of expression I truly believe only Bruce Epstein (this book's editor) can guarantee.

The challenge: remember that exploration and invention are your greatest tools. Before there were books on Flash and before there were established tricks and methodologies, there was a vision of what could be and the clever, bullish, tinkering desire to make it so.

Colin MoockApril 2004

    Previous Section Table of Contents Next Section