It seems there is a never-ending stream of chatter about proper CSS design and implementation; the use of Standards, as it is most commonly thought of and referred to. This is usually followed by very predictable banter about how you have to make concessions for browsers that aren’t compliant (almost always an opportunity to bash Microsoft), then maybe some examples of hacks and fixes to get around these issues. None of it really addresses the core issues, and no one, save a very few folks, really want to try and do anything about it or recognize that there is a problem, even among the companies who proclaim standard compliance. When there are what…. 8 popular browsers and their various available versions, how exactly do you get them all to agree? You can’t. There are specifications to follow, but everything is open to interpretation and/or coding errors. So you get variations in layout in every browser and have to figure how to accommodate the new versions when they are released, because invariably the new version breaks your layout where the old one worked just fine. The solution is right in front of our noses though. Give up trying.
Flash has been around for 12 years now and is simply the most ubiquitous web platform on the planet. So why utilize Flash to create dynamic, content driven websites rather than spend weeks perfecting a finicky CSS layout that the users won’t care about or notice? It’s still trendy to implement AJAX solutions to look like you’re Web 2.0, and to be award oriented to get selected purely on the basis that you have this amazing tableless design and CSS website. In many cases both of these motivations remove the user from the equation driven by developer based decisions on how to build the coolest website to get one more Webby. Awards do have their place, but not at the detriment of the community for which the site or application was built to service. The biggest roadblocks for developers, in regards to developing with Flash, are community driven misconceptions fueled by regurgitations of false statements and uneducated opinions. Here are some of the biggest misconceptions:
- Flash sites are too heavy and take too long to download
- Flash does not support standards in accessibility
- Flash sites are not indexable by search engines
(I just added some updated information about Flash and SEO)
- Site statistics can’t be done or is too difficult in flash
(here’s a simple example of tracking a Flash site with Google Analytics)
- Flash lacks cross platform support
- Embed code doesn’t validate
(use SWF Object already….)
The examples above are some of the most common, and as such they are some of the easiest to debunk. In most cases, improper implementation is the culprit behind a lot of problems have with Flash, indeed that is the root behind most problems with anything – but when Flash is bad… it’s generally bad. The reason I say this because with all of its inherent greatness, it has flaws which are easily accessible and in the wrong hands can be made so pronounced that the site being displayed is so unusable that it becomes painful. This has very little to do with Flash as a platform though. This isn’t any different than if I were to poorly implement a .NET application or a half-baked AJAX solution and call it good.
A good portion of these (and other) misconceptions lies squarely on the shoulders of the developers. A minimal amount of diligence will provide solutions to nagging problems, and to potential pitfalls while developing any website or RIA; regardless of the platform on which it is delivered. It’s easy to sit back and look at what the top results are for a search and stop there, but that will get you a very narrow view. Run a quick search for problems with Flash, and see what emerges. Jacob Neilsen’s Alertbox post about Flash being 99% bad is still ringing in at #4. This is scary. An article which was written 8 years ago, one that is no longer relevant is still getting top billing. It’s difficult to unseat something that well rooted, and while it’s not relevant to Flash development today – it was at the time, and as such has value.
I guess what I’m getting at is to use Flash! Use it all over the place. Just try to use it well. Do a bit of research before you start and get a good idea of what you will need to do before you get to the end. With that in mind, here are listings of some excellent resources for expanding your Flash toolkit.