Addressing the Flash Haters

POSTED IN Flash Platform, General | TAGS : , , , , , , May 3, 2010

I’m an avid follower of Engadget, it’s my one stop site for electronic news.  Lately, it’s been going a little crazy over the whole “Apple vs Flash” (I say ‘Flash’ and not ‘Adobe’ cause they are not against the company, just one of their products).  A common trend I’ve been noticing is that no matter the background, there seems to be a lot of people bashing Flash.

This concerns me as a developer and I think it’s mostly because of the popularization and lack of education around the platform.  Performance is oft perceived as Flash’s Achilles Heel, but that’s hardly ever true, especially with Flash 10.1.  Flash is actually quite fast; faster than any benchmark for HTML5 or Javascript that I’ve seen as of yet.

There has been problems with Flash crashing browsers, having poor performance (especially on Mac) and general complaints of it.  There are a few reasons for those:

  • Since Flash is a ‘prototype’ language (easy to create content), many Flash developers aren’t really developers and know nothing of optimizing code or even how the garbage collector works (think banner ads, horrible code).  The same thing occurred with PHP; since it was easy to learn, many non-developers tried their hand at it and a slew of poorly coded websites came up.
  • Performance depends on OS and browser, but it is fairly slower on a Mac for the simple reason that Apple does not want Flash calling the low level system hooks.  This restriction makes it so that Apple can say ‘Flash sucks, HTML5 is the future!’.  If you want to be angry at someone, point your rage to Steve.
  • Flash crashing the browser can be blamed to poor developers, the browser not handling plugins properly and Flash not stopping the bad code.  The latter will be fixed in 10.1; if the code is about to make the plugin crash, it will stop altogether.

Benchmarking is something that’s been popping up recently and I have to say that some of these numbers are fairly impressive.  For instance, Flash 10 used 22% of CPU when decoding video, and in 10.1 it will only use 6% because of GPU acceleration (Windows only for now).  You can bash Flash and Adobe all you want, but a performance increase of 72.7% is nothing to sneeze at.  I think it’s also the reason that Apple recently announced that it’s opening up its underlining decoding abilities.

In all this, let’s not forget why people use flash: Code once, runs everywhere.  I’m not saying that Flash is the be-all and end-all; Often times, Flash is used when simple Javascript or another method could of been used.  However, Flash does provide a way to deliver content uniformly across platforms and browsers, and as a developer, I strongly agree with this concept.

Loading