Flash Vs. CSS/HTML: Which Will You Choose?By Mark Angeletti
Macromedia Flash. It’s one of the most controversial products in the Web development world.
In this article we’ll look at the strengths and weaknesses of Flash. We’ll take a close look at what it can do, and what it can’t or shouldn’t do. And, through this process, we’ll compare Flash to its counterparts HTML and CSS.
This article is sure to create debate …and a lot of additional email for me! But I wrote it with the intent of informing novice Flash users about this technology. At the least, this article should allow you to communicate with prospective clients the reasons why a project should or shouldn’t be done in Flash.
A Bold Statement
HTML and CSS will never be able to do what Flash does. With that statement alone some people have launched their mail client, but before you compose that bitter email, allow me to explain this statement.
Let’s take a look at the strengths of Macromedia’s multimedia vector product, Flash. Then we will examine its weaknesses and finish with a comparison of the HTML/CSS tandem.
What does Flash do that HTML and CSS can’t?
Flash provides a degree of freedom of development that’s not found elsewhere. Flash allows the designer to place objects anywhere they like without having to worry about absolute/relative placement, box model problems, inconsistencies across browsers, z-indexes, tables-in-tables-in-tables, sliced up graphics or screen resolutions. In Flash, you simply place the object where you want it on your canvas and move on. Free at last! Free at last! Thank God Almighty, we’re free at last!
Seriously, this advantage is not to be taken lightly. As designers, this is what we’ve been wanting since the beginning of the Web: the ability to design without limitations being placed on us by browsers or programming languages. With Flash, you no longer need to worry about which browsers your page will render correctly in and which will choke on it. Your page renders the same way â€“ correctly — in all browsers.
Flash provides an interactive environment for a more involved multimedia experience. We’re not just talking about rollovers that swap colors or images, which, by the way, are a piece of cake in Flash, where they can even include sound. We’re talking about the bigger deal here.
Flash allows you to incorporate sound into your pages via mp3 and wav files, allowing you to use, for example, speech or background music. You can also directly import digital video into Flash, which allows you to easily demo products or just show off the family. It’s true that Flash is not the only way to include video into a Web page. There are other tools, such as Windows Media Player, Real-Player, and QuickTime. However, the Flash player plug-in penetration is now at around 97%. Compared to Windows Media Player plug-in at 59%, Real-Player plug-in at 56% and QuickTime player plug-in at 41%, Flash is streets ahead.
Ok, so maybe you’re annoyed by music and video in Websites. No problem! Just don’t add it. But at least you have the option to incorporate these elements on, for instance, client sites if you use Flash. HTML/CSS simply don’t offer the option.
Flash’s vector rendering processes give it the ability to adjust the entire display size based on the browser size and, in doing so, keep your images and text clean and unpixelated. This will become more of an advantage as people begin to more frequently surf the Web from sources other than desktop computers, such as PDAs, mobile phones, car displays or wrist-watches.
Flash allows you to integrate any multimedia file format into your site. For example, bitmap image formats (such as, GIF, JPEG, PNG, PCT, TIF), vector image formats (including FreeHand files, EPS, Illustrator files), and as previously mentioned, sound formats (WAV, AIF, MP3) can all be imported into a Flash movie.
Easier Font Handling
With Flash you have the ability to embed any font you wish and have it display in the client browser regardless of whether they have the font installed on their machine. You no longer have to convert fonts to images in order to maintain the font for display on varying user systems.
Flash can replicate the behavior of frames on an HTML Website in that it can maintain in a fixed position certain parts of the Web page, such as the navigation buttons, as other parts of the screen scroll.
Flash allows you to play movies as stand-alone presentations called projectors. Projectors are Flash movies that come complete with an embedded player — you don’t even need a Web browser to play these Flash movies! You can burn Flash projectors to CD-ROMs or DVDs.
Flash gives you the ability to display data as part of an ever-changing process without having to reload or refresh the page! That’s right — the data can change without even so much as a flicker from the browser.
Ok, so we’ve covered the advantages of this technology. Now, let’s look at the weaknesses of Flash.
Flash movies still require a separate plug-in installation in order to run in most browsers. Many companies do not allow their employees to install applications on their computers, which automatically denies some Flash site owners access to a portion of their potential userbase.
Video compression and playback in Flash MX is not of the same quality as some of the players developed exclusively for this purpose, such as QuickTime. For example, Flash video does not take advantage of enhanced video drivers for optimized playback at enlarged sizes.
Search Engine Issues
Typical Web search engines (or spiders) cannot index content within Flash movies. If you create a 100% Flash-based Website, you may want to provide some text or HTML, displayed or hidden, on your Web pages if you want your content to be indexed by search engines. When I say hidden, I mean that the content should be available via a no script tag or other means that is search engine acceptable. This is perhaps the biggest shortcoming of Flash, and yes — it’s a biggie.
Lack of Screen Reader Support
Although the integration of MSAA compatibility into Flash Player 6 is a big step forward, and has been heralded by accessibility experts, many kinds of screen readers do not support MSAA of the Flash Player yet.
If your site is based around delivering text-based information to the viewer, then don’t distract or delay them from getting what they want with unnecessary animations. Printing and selecting text in Flash movies is often not as simple (or familiar) to users as that on HTML sites.
CSS Steps Up
The growing trend on the Web today is to separate design from content. So let’s give thanks to CSS — after all, separating these two elements is what CSS was envisioned to do, and what it now achieves so well. CSS allows you to create the look and format of a Website without affecting your content. You, the developer, benefit, as do search-engine spiders and text readers.
In addition, CSS makes Website maintenance easier. With a single modification to an external CSS file you can effect a change across multiple pages of your site. For an in-depth look at CSS be sure to check out SitePoint’s great CSS resources, including their book on the topic.
CSS has the ability to serve up content in its purest form, which makes this technology well-suited for delivering pure content to search engines and legible text to text-only readers. Combined with the power CSS provides site owners to make modifications across their entire site by changing a single file, it’s easy to see why so many people have fallen in love with this technology.
…but is it all a bed of roses? Not so fast there, CSS!
Think for a moment of all those things CSS gives you — those benefits that made you fall in love with CSS, including search engine-ready content, text reader accessibility, and the ability to modify the look of your entire Website from a single file…
Guess what? It’s quite conceivable that in the not-too-distant future, Flash will also provide you with these capabilities.
Tim Mayer, Vice President of Web Search at FAST explains, “Search engines were originally built to index and serve HTML documents, but now the Web has become more diverse in content types, knowing how to treat Flash and other types of content has become more important for search engines."
Mayer notes that, “FAST built its Flash indexing capabilities using the Macromedia’s Flash search engine software developer’s kit (SDK). The SDK was designed to convert a Flash file’s text and links into HTML for indexing.”
However, not all search engine spiders have the ability to crawl or index Flash. As far as I’m able to determine, Google has not included the Flash-SDK setup for indexing the way FAST has. But Google can follow embedded links.
The Macromedia SDK solution is far from perfect and still has a long way to come. However, we can see that search engines are making an effort to embrace Flash and I believe that in the future we’ll see Flash make an effort to embrace search engines.
It’s conceivable that before too long, search engines will see only the content of a site — they won’t care what that site looks like. The content will be separate from the movie and could even be marked up with HTML tags or XML. This provides the designer with the ability to have their site look however they choose and still have search spiders feast on the content. Search engines will be able to do what humans have always struggled with â€“ they’ll have the ability to see past the outward appearance and get to what’s really important.
It’s also worth noting that when this day comes — and all signs point that it will come sooner rather than later — not only will search engines get close to your Flash content, the text readers will also find it more accessible.
Lastly, Flash, like CSS, also allows users to modify a single external text file and in so doing, make changes across an entire site. Because Flash stores all the elements of a movie in a library file, you can easily make sweeping modifications across an entire site or, with Flash’s shared library feature, multiple Websites.
The Future is Bright for Flash
Remember my original statement, “HTML and CSS will never be able to do what Flash does”? While this is true, it’s quite possible that in the future, Flash will be able to achieve what HTML and CSS do. The short comings of Flash as outlined above may not be present in the near future. It’s conceivable that Flash will be able to separate content from design, and serve up pure content to the search engines and text readers; after all, Macromedia is working on these problems right now.
A day will come when a typical Flash site will be as friendly to search engines as are its HTML/CSS counterparts; it may even surpass HTML and CSS sites in terms of accessibility, for the simple reason that it supports sound and video.
Flash at least has a chance to fix its weaknesses, and in time will likely do so. But HTML and CSS will never be able to do what Flash does!