Table of Contents > My Opinions > Why To Avoid Flash

Why To Avoid Flash

As a web developer, I am always looking at how different web sites use existing and bleeding edge technology to achieve various effects on pages. One of the most frequently used technologies is called Flash, which is a set of tools and file formats produced by a company called Macromedia. Its purpose is to give web pages exactly that: flash.

Over the last two years, I have come to immensely dislike the widespread use of Flash. To tell the truth, I don't hate Flash; I hate the way that Flash tends to be used. In an effort to more fully explain myself, I have laid out the reasons why I avoid Flash and why others may want to consider doing likewise.

Please note that I am not against the use of Flash for multimedia presentations that make up a small part of a website (such as CNN.com's interactive features); I am against making entire web sites (a la FoxSports) in Flash. There are, of course, exceptions to everything. For example, a web site that doesn't care if everyone is able to fully use it (i.e. this site), or internal company pages that are guaranteed to be used by a homogenous set of software. As a general rule, however, I disagree with Flash being used to create an entire web site that is targeted towards the general public.

And now, with no further disclaimers and qualifications, here are the reasons why I really dislike Flash.

Proprietary Nature

Like it or not, Flash is completely owned and controlled by a company called Macromedia. They control the file format, the development tools, everything. By choosing to make entire web sites in Flash, web developers are giving Macromedia incredible power over their site. What if Macromedia decides to increase the cost to buy a Flash development kit by 100%? You will either need to fork over the money or spend more time and energy converting the site to HTML.

The argument can be raised that the current Flash file format has been opened to the public and that will ensure competition if Macromedia turns draconian. This argument falls flat on its face when you realize that Macromedia has not given the file format up to the public domain, but instead has simply revealed details about its workings. Macromedia still controls the format, which means that the future of Flash sites are forever intertwined with Macromedia.

So what is the solution to this problem? Can a website simply not have vector-based graphics? There is a partial solution in effect already, and it is called animated GIFs. An up-and-coming solution is called Scalable Vector Graphics (SVG), which is a W3C recommendation (just like HTML). It provides the much of the functionality of Flash in a web standards package. Adobe already has a plug-in for it, and Mozilla (the development version of Netscape) is incorporating SVG support natively.

Contrary to Philosophy of Web

One of the three design principles is evolution, which means that HTML and other web standards were designed with an eye towards the future of computing. Most people simply do not realize how flexible HTML can be: it was designed to be readable by most devices, ranging from PCs to PDAs. This was because Tim Berners-Lee and the other members of the W3C realized that the power of the Web was its cross-platform appeal; the same web page could be viewed on dozens of different devices and platforms and still convey the same message.

HTML has therefore been designed to control the structure of a document, not the presentation of it. Cascading Style Sheets (CSS) are the mechanism of presenting that structure. This is very important for interoperability on different devices, because not all devices have the same presentation abilities. PCs, for example, have large, color screens running at resolutions ranging from 640x480 to 1600x1200, while PDAs have small, black and white screens that runs at much lower resolutions. HTML and CSS compensate for this by allowing one HTML document to have multiple Style Sheets, one for each different media type that might view it. This is very logical, as the actual structure of a document does not change from platform to platform, while the presentation might.

Flash does not work that way. It will only work on PCs that have the appropriate plug-in for their web browser. It will not work on PDAs, text-based web browsers, or any computer or platform that does not have the plug-in. By creating a Flash-only website, web developers are limiting the interoperability of their pages and hindering its usage on current and future devices.

Accessibility Concerns

It is very ironic that some companies will bend over backwards to allow the physically disabled access their store, yet will not make their website equally accessible to them. Few people ever think that a blind person would try and access their website, yet it happens. The blind are just as connected to the Internet as everyone else, yet web designers treat them as though they didn't matter. Sight-impaired people are able to effectively surf the web through the use of a text-to-speech program that reads web pages to them. They can buy goods, trade stocks, or auction items on eBay.

What would happen if a blind person tried to go to a "Flash enabled" web site? Nothing, other than the surfer deciding that perhaps some other site would have similar information in a more user-friendly format. Flash has few provisions for blind users, while HTML is especially suited for their typical usage as it not only enables the words to be read to them, but also tells them what the purpose of the words is (such as if it is a title or a table of contents.)

A frequent solution among Flash-only web sites is to provide text-only mirrors of their content. While this can be a reasonable alternative, the sad reality is that the text-only versions tend to be months, if not years, behind the "real" content. They are rarely updated in most cases, due to the fact that everything has to be put on the web site twice.

Tendency to Waste Resources

In the world of electrical engineers there is a concept called a "signal-to-noise ratio". It is the amount of useful information (a TV signal, for example) compared to the amount of useless information (noise, or static). This concept can be usefully applied to the Web as well, except that the term would become "content-to-animations ratio". How many web development teams spend their time creating useless and distracting animations instead of adding more information or fixing bugs in their code?

"Content is king," as the saying goes. In the current economic slump, it is very important to leverage every dollar that comes into a web department, and spending time on useless animations is simply out of the question. Flash developers would be outraged at this statement, as they view their work as anything but useless. What exactly is useless, and what is simply good marketing? That question introduces the next evil of Flash...

Encourages Gratitous Animation

Does a website really need an animation every time that someone clicks on a link or moves over a graphic? The first time the user performs the action, the resulting animation is entertaining. The second time, it becomes a non-issue. By the third or fourth time, the user is no longer interested in the special effects; the user now simply wants to get somewhere as quickly as possible. As a daily-life example, what if the cashier at the grocery store had to wave their hands around in the air five times between every item that they scanned? Would customers continue to frequent that store? Hardly.

Are there any useful Flash animations on the web? Most definitely. Flash can be a very valuable resource in presenting a company's products and services to the customer. As noted earlier, CNN.com makes many Flash animations that help their audience understand the news better, such as an animated model of how the planes hit the Trade Centers on September 11th. Note, however, that the Flash animations are strictly confined to areas that are "added bonuses", and not the actual presentation of the news.

Conclusion

A common complaint among Flash developers is that HTML does not allow pixel-perfect control over every detail of the presentation of the web site. Few ever realize that there is a very good reason for this: interoperability coupled with evolution. By creating a Flash-only website, web designers show their lack of understanding of the true purpose of HTML and other existing web standards.

Additional Reading

Page View Tracker