Flash: Not as Evil as Bad Coders

I’m tired of the argument that Flash crashes browsers, consumes CPUs (and thus electricity and your laptop battery), and keeps your fan going.  Guess what?  Bad code outside of flash, and in HTML5, can do the same thing!  Open Google Chrome and launch Twitter, Facebook, and Google Reader and check your resources.  Is Chrome eating up system resources?  You’ll probably not be surprised to discover that it is.  Advertisers are using Flash and they’re using it in intensive ways.  Flash by its nature sits as a plugin for most browsers (Chrome actually being an exception) but those browsers and Flash rely on developers doing certain things.

Worse, in HTML5 web workers you can set up a loop that will take a machine to its knees even if it doesn’t do anything.  I’d make a demo page, but someone will undoubtedly use it for evil, so just trust me that a bad coder doing bad things can use non-flash things to take down your computer.  I can do it without HTML5, too.  I can probably write bad code in every programming language and probably take down every machine – because it’s bad code.  Don’t blame the messenger [AKA Flash]!  Blame bad coders and people who are using it irresponsibly.   There are bugs, there have been security problems, but Flash is just as vulnerable as the browsers, and even your word processing software (ahem, Office + Macros).

I should also point out: I don’t code/program in Flash.  I have nothing to gain from Flash being anywhere (except of course when I play Scrabble on Facebook, which I quite enjoy). I just don’t like it when people point their fingers at one technology or another like has  happened to Flash pointing to the middle of the problem instead of the root.

Design & Development Links

Along the line of software craftsmanship on the web here are some handy sites I’ve seen recently:

JS Patterns
JS Patterns is a site dedicated to the design and development patterns that are not only industry standards, but also patterns that are native to JavaScript (which C++ or Java cannot do natively). This is definitely worth adding to your RSS feed reader.
Dustin Diaz
Dustin happens to work at Twitter, but his site is loaded with good JavaScript tips. If you’re not following his writing I’d suggest you consider doing so.
BlackBerry WebWorks
The WebWorks development/widget framework for BlackBerry devices looks interesting [disclosure: I work for a RIM subsidiary and have nothing to do with this project]. Download the toolkit from github or from RIM’s site and check it out. It’s focused on giving web developers a web-focused interface to develop for the webkit based smartphones.