Hi, my name is Troy. I’m a Flash Developer.
Like many people my age, I first experimented with Flash during college. It was the 90′s, the web was new and exciting, and honestly we’d try anything.
I got into it deep. I created the site OpenSWF.org. I maintained an updated SWF file format spec and built a Java-based player. In fact, this was pre-ActionScript, so I even designed an extension mechanism that leveraged Java’s dynamic class loading to allow on-the-fly, distributed updates to the player itself.
Then, I graduated from college, I got married, I got a grown-up job; I left my childish Flash ways behind me and got serious: C++, vector units, video game consoles, multi-million dollar projects.
Five years later I read an incredibly influential whitepaper from Scott Bilas, former Bungie engineer, based on his GDC 2005 presentation: What About Flash? Can We Really Make Games With It? I fell back in love.
Within a year I set out to launch my first (and only) startup, Mockingbird Games, with the goal of making game making as fun as game playing. Much like YouTube, we leveraged the Flash Platform to deliver our core experience to as many people as possible.
For the last 3 years I’ve been developing on the Flash Platform all day, every day. I’ve designed and built a flexible game architecture, a large and complex web application, and many games and apps for clients such as MTV, Paramount, Disney, Mattel and Hasbro. Me, myself and I programmed every single line of code. Millions of people have played these games and used these apps, and tens of thousands of games/levels have been made with just our apps.
During those 3 short years, the Flash Platform has gone from v8 to v10, from ActionScript2 to ActionScript3, from purely interpreted to a modern, JIT’d virtual machine, from a vector-only renderer to a high-performance raster/bitblit renderer. We’ve gotten a declarative markup language for building apps, a high-quality UI framework, multiple free & commercial IDEs and an open-source compiler.
I can write an app for the Flash Platform, compiled with free, open-source tools using a free, open-source SDK, and it will run on Windows, OS X, Linux, Android and iPhone with zero changes. I don’t need anyone’s permission to do this, or anyone’s blessing. My app sinks or swims based on its quality, including not only the work I’ve done but the work I’m building on top of, the Flash Platform itself.
Amazingly, I could have done this 4 years ago with Flash. In fact, in 2006 I could have used a freely available compiler (mtasc) and free toolchain (swfmill) to produce a SWF that would still work today, unchanged on these platforms. But I digress…
I’m not alone in my experience: there are thousands of Flash developers out there building fantastic interactive content. Fantastic webapps like Picnik, Audiotool, Playcrafter and Balsamiq. Even more fantastic games like Canabalt, Machinarium and Club Treasure World. And about a hundred thousand more examples.
There’s something all of these examples have in common: their monetization and distribution are entirely within the control of their developers, and they are freely accessible by virtually any modern desktop computer. For me, this is the definition of an open platform.
Furthermore, many of these apps were built with freely available, open-source tools. They’re all published to a bytecode format that’s documented, well-defined and backwards compatible. They run on a player that’s freely available and is actively being maintained, improved and migrated to new platforms. For me, this is the definition of an open platform.
Flash has provided some unbelievable shoulders for me to stand on. I have used Flash to make my livelihood, to create my dreams and to share them with millions. I’ve used dozens of others languages and platforms over my last 20 years of programming, and none have done as much for me.
I support Flash. I’ll defend its role in the modern web. Flash is my platform.