What is Flash when and why to use it?

Flash is a vector animation (read about vector animation software) software, originally designed to create animations for display on web pages. Vector graphics are ideal for the web because they are so lightweight.

Over the releases of new versions of Flash, Macromedia has made Flash more and more controllable via programming, where they have it positioned as a competitor to HTML to build interactive web sites and applications such as an e-commerce store. Macromedia argues that Flash is the way to go instead of HTML because of the following reasons:

  • Flash movies load faster and save on download time because Flash is vector based whereas HTML is not.
  • Flash intelligently ‘caches’ it’s movies so they don’t have to be reloaded.
  • Flash gives the user (the person viewing/using the Flash movie) a more responsive ‘rich-client’ like experience.

All of these points are true, but they can be true for HTML pages as well (except for the vectors). I will address these points now:

Flash pages can be made to load faster, but most of the time, the way they are designed in the real world, they do not. That is not a Flash problem, it is more an issue of the Flash developers going nuts with fancy and heavy Flash movies.

HTML caches pages as well, once images are downloaded they are held in your browser’s cache. The cached images are then used instead of downloading them from the server again.

With new technology like ASP.net and Java Server Faces, HTML now can react just like a ‘rich-client’ application. Even without these new tools, properly designed HTML for most dynamic sites can provide a good user experience.

What DO I have against Flash?

Before I start trashing Flash, I have to first say that I think it is a great tool, but not in all things and certainly not in the all-encompassing way that Macromedia would suggest. Here’s why:

Flash handles text very poorly. The web for the most part is about text, we go to the web to read about things, whether it be articles like this one, or what is in your shopping cart, or the latest baseball stats, it is all text.

Flash text rendering/displaying is much slower than HTML and noticeably less clear. Macromedia knows this and that’s why they include the ability to display basic HTML in Flash and that’s why on their own site, they make heavy use of  HTML.

Flash development usually takes much longer than the HTML equivalent. This has been helped to a great degree starting with the release of FLASH MX where they essential provided HTML form components, but it is still slower to create a Flash site than an HTML site.

What I like about Flash development?

1. You can do some really nice work in Flash that would be difficult and sometimes impossible in HTML alone. Things like complex animations and playing video spring to mind.

2. Practically no browser issues: For the most part, Flash movies will work the same if the user is on Netscape or IE, on Mac or PC. The browser issues (where people coming to your site have different browsers that can ‘break’ your pages) are quickly becoming a thing of the past since most people (thank the web gods) are using IE. But even today, I still have to deal with people who may be using some old browser that can break all but the simplest of HTML code.

So when should you use Flash?

In my humble opinion, I would use Flash to create a presentation that is similar to a television commercial. This type of presentation is something where the user sits back and enjoys the show as the Flash movie delivers the message to the client with animation, sound, and possibly video. Please do not get this confused with those ubiquitous ‘intro’ animations that still plague many Flash sites. Rather I am talking about informative movies that the user can decide to view to learn about something like a product or a service.