Flash is my platform.

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.

Tags:

  • http://twitter.com/elliotrock Elliot Rock

    Storytelling is better than Spy Vs Spy…

    Nice article, part of my left eye began to tear near the end… that maybe because my light wasn't on.

    Cheers
    Elliot

  • http://blog.elbjoern.com elbjoern

    nice one troy ;) keep on fighting for flash :)
    cheers, elbjoern

  • http://twitter.com/JuwalBose JuwalBose

    Wonderful..
    More proud as i read this ;)
    Flash is my platform too

  • Guest

    You say it will run on iPhone, how?

  • ypmits

    Whatever Troy said… me too!
    For me, programming in Flash is still very much a big-ass joy to do… every single day. And I hope I can say that for years to come….

  • http://twitter.com/JuanRibas Joan Ribas

    Agree

  • http://www.doomsday.no Andreas SJ

    Flash is my platform.

  • troygilbert

    Using Adobe's iPhone Packager in Flash CS5. I know it's now forbidden by Apple, but I'll still be able to do it for my dev phone or jailbroken phones.

  • http://twitter.com/mike_thomas Mike Thomas

    Fantasitic!

  • http://blog.coert.com Coert

    Hear hear!

  • TT

    Cheers, tonight I drink for you!

  • http://www.majcher.com/ Marc Majcher

    Hell yeah.

  • almogdesign

    Good read, Flash is my platform

  • http://radcooking.com Mohammad Abed

    That's fine! There are still a lot of Cobol developers! Flash is a dead end technology, and Adobe will tell you that around next summer when the start announcing that they'll embrace HTML5.

  • troygilbert

    Please understand that it's not an either/or proposition with Flash and HTML5 (hence, why I didn't compare one with the other in this post). For the type of products I create (games and game making apps) HTML5 is simply not appropriate, and it's not designed to be. Canvas is not a panacea, and it is absolutely not a drop-in replacement for Flash even once it's widely supported (which could be years).

    It's simple, really: HTML is a document markup language, designed for structuring textual content. Flash is a virtual machine catering to animation, sound, rendering and interaction. My blog is built in HTML, because that fits. My webapp is built in Flash, because that fits. I'm not married to any platform, I use the platform and tools that best get the job done. It's simply naive – no, ignorant, actually, or worse, disingenuous – to suggest that Flash competes with HTML5. It only does for developers who don't understand both (which is the case with most in the Flash-hate camp).

  • http://radcooking.com Mohammad Abed

    canvas+jquery+svg+animation frameworks will do everything Flash does. Maybe not now but soon, very soon! The problem with Flash is that it doesn't really work on the mac, iphone, or ipad. Mark my words: Flash 10.1 will be a disaster on android, because Adobe is a Lazy company that has shown to not fix the bugs which Flash has for years.

  • troygilbert

    So, you're arguing that “soon” I'll be able to string together a half-dozen open-source technologies to achieve what Flash has been doing for nearly 10 years (animate vectors)? And how soon until I'll be able to do it on 95%+ of desktop computers? Again, this shows how little anti-Flash folks actually know about Flash. I'll quote @waxpraxis:

    “For starters with Flash you have alpha channel support – with HTML 5 you’ve got video in a box, that’s it. Now that’s not to say you can’t do cool stuff with HTML 5 video – but no green screen action. Then, don’t forget about DRM (I don’t care about it, but ask Hulu or CBS and I’m sure you’ll get a different reaction) and video input. Could you build Chat Roulette with HTML 5? Nope.”

    Also, “NO major animation tool (actually I don’t know about any!) currently targets canvas as an output format.”

    Finally, audio: “What kind of audio support is there in HTML 5 and the other related technologies? Well, you’ve got playback but that’s about it. No synchronization, no volume control, no panning and definitely none of the low-level features needed to make something like, say, Audio Tool or the virtual DJ toy my studio recently released, Shmitty, McFunkle & Stump’s Beats.”

    Perhaps Flash will be a disaster on Android. So far it looks good, but I don't have an Android phone so I can't say. I think it's lazy to call any major company “lazy.” They have major, complex applications running across many platforms, used nearly universally in their product spaces, and a runtime platform that is used daily by more folks than any other. What, my good sir, have you done lately?

  • polyGeek

    +1. Couldn't say it better myself. I know because I tried and this is much better. :)

  • polyGeek

    @Mohammed: Flash DOES work on the iPhone and iPad – if you jailbreak them. It's just that Apple has decided to close the door to Flash because of their business model.

    The Flash Developer community will welcome you with open arms if you ever decide to work/play with a real development platform.

  • http://pedram.mp/ Pedram Pourhossein

    I'm agree & it's my platform too.

  • http://www.touchmyixel.com/ Tarwin

    agree. if it wasnt for the ease in which I was introduced to creative game making I wouldnt even have started. I try and tackle some real code _ CPP_ when necessary but it normally just gets in the way.

  • sevenzark_7

    I know the hipsters, jocks & cheerleaders all hate Flash, but this is a good article!

  • Trevor

    I love flash! It is my platform too. But I hate the Adobe's price policy! Incredibly EXPENSIVE! for an software will be bought by a big community.

  • Chris De Abreu

    I disagree. Coming from a Flash background and been 'brought up' in the Flash platform since when it was then deemed Flash 3 – I got to say, I totally support what Apple is doing.

    As any technical person, I try technologies across browsers and devices and having a test Android handset, I have to say I support wholeheartedly Jobs' position in keeping flash (Flash lite) from its devices. It does run poorly on Android, to a shocking level that is not even comprehensible, and I am talking about a brand new device (HTC Legend) – Flash is a resource taxing piece of software and – since is a proprietary piece of code, will remain so for the foreseeable future until Adobe decides to do something about it.

    I am all up for the HTML5 revolution, as we need competition to keep Adobe on their toes and give us, users, more value. I am really fed up of going to sites and having clunky sites which does drag my machine to a holt…

    Recently, at SxSW, in a panel with people defending HTML5 and Flash, when the Flash demo had to come up – it obviously crashed the browser. Point proven.

    I am not saying that Flash is the evil of all, as I have built my career on it. But to think it is the be all end all, not the way forward in my opinion.

    twitter.com/chrisdeabreu

  • http://www.upsidelearning.com/blog/ Sushil

    To some extent I agree with you Troy. However, I do feel that from now on Adobe should concentrate on developing good tools for publishing Flash content and leaving the development of player runtime on others, making it truely open source.

    Seeing the progress of HTML5, I also feel Adobe should look into ways of publishing content for HTML5. For me as a developer, the development tool is equally important as the corresponding runtime.

  • razembleton

    Totaly agree – it changed the look and feel of the web and beyond with it's lovely vectorness. It's my platform too although I see we're talking on WordPress PHP :)

  • http://twitter.com/Thonbo Thonbo

    Well written post on why flash is the one to use for experience based multimedia content.

  • http://twitter.com/shiftdigital Peter Mason

    Troy, this is a truly passionate response to an otherwise depressing state of affairs. I am a Flash developer that uses Apple products daily. I was genuinely hurt by Apples decision not to support the Flash platform.

    There will always be a need for multimedia on the web and currently Flash is the best way to deliver it. Until there is a genuine alternative this is how it will stay. Apple's premature decision to drop the platform is detrimental only to their products users; who will now miss out on huge part of the existing web.

    Flash is a great platform to develop for and until their is a genuine alternative I will continue to develop for it too.

  • http://twitter.com/thomaspries Thomas Pries

    Word!

  • mokh619

    flash is my platform too……….
    i love flash
    but if i can ask i live in Egypt and there is no college here to study flash as a developer just the basic design stuff
    and i hate using templates
    but i learn from cartoonsmart.com
    any ideas can help me learn flash programing ??
    any more sites or e-books any thing will help
    many thanks

  • http://www.iliketoplay.dk Michael

    Flash is my platform too. Great post.

  • http://bit.ly/ria-ba Vicente Maciel Jr

    Great article and testimony!
    Flash is my Platform too!
    Regrads from Brazil!

  • http://www.centrepede.com Zimbabalim

    Hey check this out y'all:
    http://vimeo.com/10553088
    Can I just say 'hmmmmmm' to all you dullards? Ajax and Flash currently live side by side, can't see why HTML5 can't do the same, because I think it'll have to when some real horsepower is needed online.

  • troygilbert

    Flash isn't the right platform for everything on the web, and in particular is a poor choice for text-centric content (like a blog). That's why this isn't a discussion of HTML vs. Flash, that's a false dichotomy. For certain types of content, e.g. games, Flash is a superior option, while for other types of content, e.g. blogs, HTML is the right choice.

  • troygilbert

    I would like to see more alternatives to Adobe's Flash Player because competition breeds best-of-class tools. I would be wary of the impact it could have on compatibility, though, as one of the big advantages of Flash content is that it runs nearly identical across platforms, unlike HTML, which suffers from various quirks under different browsers.

    With the wide adoption of browser engines like WebKit, though, I feel a similar effort could benefit the Flash Player and would love to see Adobe open-source the runtime while continuing to distribute an official “gold standard” for compatibility.

  • troygilbert

    I've never argued that Flash is the end all be all platform, that's it's the best platform for all situations, or that it is free of warts. Far from it, I am the first to criticize Adobe's slow progress on Mac optimizations, and coming from a games background feel there's lot left on the table with the existing Flash Player.

    That being said, I'm disappointed that Apple chose to forbid developers the option to use Flash for developing native apps. I can understand the arguments for not supporting it in the browser. Not supporting it in native apps is simply a desire to lock developers into the Apple ecosystem and keep out cross-platform apps (as Jobs has stated quite plainly). This makes my job more difficult as a developer without necessarily improving the experience for my customers. If I make an app that runs slowly while my competitor makes one that runs quickly, my app will lose out in the marketplace. That should be the deciding factor of which technology to use.

  • http://www.facebook.com/people/Radu-Hulu/1519116860 Radu Hulu

    you are almost a poet.

    Keep fighting for Flash!

    Radu
    http://zoomitflash.net/

  • Nicholas

    Amazing post… shit, really good! I usually hate emoticons but here you go… :)

  • Nicholas

    Amazing post… shit, really good! I usually hate emoticons but here you go… :)

  • http://trentsterling.wordpress.com/ Trent Sterling

    Flash is my platform. I don’t think that’ll ever change.