
Typically, we avoid using Flash when another option is available. Below are the reasons why, and the exceptions when we do use Flash.
Flash is not really a part of your webpage. When you create something in Flash, it makes a program, video or doo-dad in Flash, the Flash program spits out a compiled file. There isn't much you can glean from the file without running it. The information is on a different layer than HTML, Java or PHP (a few of the languages we use to make websites). Search Engines typically look at your site with a very basic browser that only displays minimal information, besides text. Because of that, Search Engines can't see a lot of the Flash on your site. There is some data they can read, but it's generally not indexed. That means your cool Flash based layout may be doing you harm when it comes to a website.
More and more often, people with disabilities are using the web. Programs like screen readers can read web pages, and basic browser settings allow you to increase font and picture sizes. Flash doesn't play well with most of these tools and standards, and when it does, it is significantly more work to make it function correctly.
Additionally, Flash layouts create non-standard layouts. While they look cool, they often impede people's ability to use your site, which is the main point. Finally, most high tier websites don't use Flash, which makes websites that do seem non-standard.
While most of our designs are not elastic (meaning they scale completely) basic HTML text and, to a degree, most standard layout methods, can stretch and shrink. Flash can scale, but it is much more complicated and usually pixelates (looks jagged).
Editing a Flash file requires the Adobe Flash program and the source files. This means that remotely editing a Flash file away from the office, on another computer, or without the original files is impossible. HTML, Javascript and PHP can be edited from a text editor (like Notepad), and there are a variety of image editors and FTP Programs that can be downloaded or installed to update a website in a pinch.
While Flash layouts can look cool, they are slow. Don't you hate waiting 20 seconds or more to see the first page of a website? We do too. Flash files are large and complicated. Flash layouts require more from your computer processor and RAM. Flash files also can't quickly be updated. Even small changes require recompiling from source.
Before Flash, video was largely handled by random, complicated methods. The videos downloaded slowly and controlled poorly. Flash is a great use for putting videos on a website. At least until HTML5 becomes popular and we have a unified, default video method to use.
Sometime a website needs a little bit of wow. A header rarely contains unique information, and the header is one of the first things you see. If you feel like your design needs animation, the header is our suggested place.
Flash Galleries are a way to put lots of pictures in a small area and still display them at full size. Similar effects can be achieved with Javascript or careful HTML, but Flash can often make for a prettier presentation.
Like Video, Sound can be handled by random programs and standards, or Flash. Most users have Flash, making it the better answer. That said, sound should never be played by default and shouldn't be part of an interface. If you have been on a website with Flash sound ads, buttons that make noise, or any sound you didn't specifically request, you know how annoying it is.