A bad implementation does not a bad technology make

This week, Robert Scoble hits a badly implemented Flash site (without alternative content) and generalizes from this one experience that he will not use Flash: Why I don't use Flash.

This is akin to watching Battlefield Earth and concluding that film is a terrible medium because you just sat through a really, really, really crappy one.

Of course this is a non sequitur; a classic example of a post-hoc fallacy: "This implementation of a certain technology is bad, therefore this technology is bad." It is a common error that the intellectually lazy are prone to commit and Flash has historically been at the receiving end of such arguments. Part of the attraction of making such statements, where the conclusion does not follow from the premise, is that they are very easy to make. Mike Chambers demonstrates this in his retort, Why I don't use Windows Media Video, wherein he purposefully generates a similar non sequitur regarding Windows Media Video before concluding:

Lesson: always recognize poor implementations of technology, before you make sweeping generalizations about a technology based on that implementation. (This applies to pretty much any technology).

I also aired my thoughts on Robert's post in this comment on his blog so I won't repeat what I said there, here. (It was cool to see that another commenter on the post had mentioned my interview on the Boagworld podcast from a few weeks ago -- nice to see that people are finding it useful!)

In conclusion, making sweeping statements about a certain technology -- be it Flash, Ajax or plain old HTML -- based on a single bad implementation does not hold any value and adds nothing to the knowledge pool apart from noise. I hope we can all move beyond such lazy thinking and realize that, regardless of the technologies we use, most of us share the desire to create web sites and applications that are easy (dare I say, fun) to develop, easy (dare I say, fun) to use, and successful. Although certain technologies may make the process easier or harder (I strongly believe that Flash falls into the easier category for most things, like the creation of cross-platform applications, especially with the release of Flex 2 and Flex Builder 2), and although certain things may not be possible with every technology (for example, Flash has alpha channel video, which Ajax doesn't), there will ultimately be implementations in any technology that run the gamut from absolutely horrible to awe-inspiring, with many shades of gray in between.