Peter Elst

Founding Partner – Project Cocoon

The black box that is the Flash Player

with 9 comments

This morning I read an interesting blog post by John Dowdell highlighting some things that bothered me in the last week or so (and talked about on twitter).

We’ve been seeing some sensationalist headlines on tech blogs like “Open Source JavaScript to Replace Flash?” without seemingly any understanding of the (all be it incredibly cool) project in question.

Gordon is Javascript code that parses SWF files, loops through the frames and outputs SVG that can be played back in modern browsers without the need for the Flash Player plugin — that means it works on browsers like the one on the iPhone. A fantastic proof of concept and it works really well considering the amount of heavy lifting it needs to do.

The problem here is, this is not a Javascript based Flash runtime as it gets advertised. Its parsing an SWF file and outputting SVG graphics. If you look at the list of supported SWF tags you’ll notice these are all SWF version 1 and 2 — meaning very basic functionality. Search for some tutorials on Flash 1 or 2 if you can still find them and see what that limits you to.

Not to diminish this great project, at this time its practically only useful for very simple banners or animations without any sound or user interaction. It is also – understandably so – heavy on the CPU. Now you get the kicker with uninformed comments like this:

“While the open source Gordon is available to all, it still doesn’t solve one of Flash’s biggest problems. These SWF files still hog the CPU. One demo, a simple vector graphic of a tiger, throws my desktop browser up to around 100% CPU usage”

 
To be very clear: it is *not* running the SWF file — its parsing it, converting it using Javascript and outputting SVG. Running that same SWF file on a native Flash Player, even on a smartphone would be a fraction of that in terms of CPU usage.

Then you get people saying projects like this highlight how the Flash Player has become obsolete and its proprietary format is harming the “open web”. Somebody hasn’t been paying attention since 1998. The SWF format is open and freely available (as are many other formats and protocols used in the Flash Player), that is in fact what makes projects like Gordon possible without resorting to reverse engineering.

There is literally nothing stopping anyone from developing an open source Flash Player, Adobe’s implementation isn’t fully open source mostly due to some technologies it licenses and can’t release (video codecs and text rendering). Saying the Flash Player is a black box or its future is in jeopardy because of its proprietary format is just factually wrong.

I do hope to see more people take up the challenge and start developing code that plays back SWF content, we can only benefit from that.

 

Creative Commons License
This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.0 Belgium License.

No related posts.

Written by Peter

January 21st, 2010 at 11:09 am

Posted in Flash, Open Source, Rants

18 Tweets 35 Other Comments

9 Responses to 'The black box that is the Flash Player'

Subscribe to comments with RSS or TrackBack to 'The black box that is the Flash Player'.

  1. Right on man! The reports about this by certain tech-media have been _very_ uninformed, to say the least.

    oos

    21 Jan 10 at 11:57 am

  2. I can’t believe people actually say that … Very nice rebuttal!

    Kristof Elst

    21 Jan 10 at 1:04 pm

  3. Re “There is literally nothing stopping anyone from developing an open source Flash Player” *cough* it’s quite the opposite, since Adobe provides swf specs under condition that that information will not be used to create a player.

    makc

    21 Jan 10 at 1:46 pm

  4. The only problem with Flash being proprietary is the decisions to fix or implement a feature in the Player. There are things in the flash player that I posted as bugs which where resolved 3 or 4 versions later (major versions).

    Besides that I’m a iPhone and Mac user but I’m very disappointed with Apple regarding Flash Player. Maybe it is because the Flash Player can do things a native app could do too but I still think I would use a native app before any webpage. And when CS5 is released they have a big problem if the promise to export iPhone apps is as they say.

    Martijn

    21 Jan 10 at 2:41 pm

  5. @makc: that is not true, since the Open Screen Project announcement (May 1st 2008) that restriction is lifted. You are allowed to create code that plays back SWF content.

    Incidentally all license fees have been dropped to include Flash Player on your hardware.

    http://blogs.adobe.com/open/2008/04/the_open_screen_project.html

    Peter

    21 Jan 10 at 2:59 pm

  6. It’s easy to understand how tech blogs could get the wrong end of the stick when the Readme for Gordon, reads “Gordon: An open source Flash™ runtime written in pure JavaScript”, but hey.
    I do honestly think there will be a shift from our beloved Flash towards HTML5, WebGL, etc. but I’m hopeful that a) it will take several years, and b) Adobe will respond with tools to create applications with these emerging standards, just as they have done with iPhone output in CS5 (If you can’t join ‘em, beat ‘em, or at least circumnavigate their restrictions :). As soon as there’s a market, Adobe will do what’s needed to keep their customers, a big part of which is us, the Flash community.

    Peter Strømberg

    22 Jan 10 at 8:58 am

  7. [...] of Flash what you will, thats a different discussion, and I’ve shared my views in an earlier post. Flash content is an integral and important part of the web experience, [...]

Leave a Reply

« Back to text comment

Twitter Users
Enter your personal information in the form or sign in with your Twitter account by clicking the button below.

Additional comments powered by BackType