Flash’s Weaknesses: Then and Now
Back in 2003 Mark Angeletti wrote an article for Sitepoint titled Flash Vs. CSS/HTML: Which Will You Choose?, in which he examined the strengths and weaknesses of Flash. Mark closed his article by suggesting that in the future Macromedia had the opportunity to fix Flash’s weaknesses, and would likely do so. I thought it would be interesting to look at how much progress has been made in the past four years, and see if those weaknesses have indeed been addressed, or if there is still work to be done.
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.
While of course it is still true that Flash movies still rely on a proprietary plugin, some advances have been made in this area. In August 2005 Macromedia announced a new detection feature called “Express Install” which allows the Flash Player to be upgraded from directly within a Flash movie. If a browser restart is required after the upgrade, the user will be automatically returned to the Flash website after the process is complete. No longer is there any need to pack your visitors off to the Macromedia/Adobe website to upgrade their Flash plugin, and hope that they bother to come back to your site afterwards. Macromedia also introduced an ‘auto update’ feature, which allows the Flash Player to ‘call home’ and check for software updates.
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.
As we know, Flash MX 2004 totally changed the ball game, and video is now arguably the aspect of Flash that makes it such a compelling proposition. Flash currently owns video on the web. Fullstop.
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.
I’m sorry to say that nothing much has changed in the last 4 years. Flash is still woefully unfriendly to search engines, and the burden falls on Flash developers to devise cunning workarounds to expose the internal content of Flash movies to Google and co. Fortunately, the increasing seperation of content and presentation within Flash applications means that the task of extracting and rendering content in search engine readable format (ie: HTML) is easier than it once was.
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.
To my knowledge, Flash 8 didn’t make any great advances in the area of accessibility. The situation described in 2003 still applies in 2007: to take advantage of Flash’s accessibility features a user must be using Windows, Internet Explorer, and either the Window-Eyes or JAWS screen reader. So no accessibility for Macintosh or Linux users, or anyone who happens to prefer Firefox.
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.
Provided the Flash developer has made a textfield selectable, it is possible to copy text to the clipboard. In Internet Explorer and Safari this can be done using the crtl/apple+c and ctrl/apple+v keyboard shortcuts. In Firefox the user must right click on the textfield, and choose ‘copy’ or ‘paste’ from the contextual menu that appears. As far as printing goes, some advances have been made, specifically the introduction of the
PrintJob class in Flash MX 2004. The
PrintJob class allows the creation of pages formatted for printing, which are then spooled to the user’s printer. Unfortunately a ‘print this page’ button is still required within the Flash movie, which seems old-school when compared to the way CSS print stylesheets are invisibly integrated into HTML sites, but it’s better than nothing.
While big steps have been made in certain areas (video, printing, plugin upgrades), search engine visibility and accessibility still elude Flash. I would like to think there will one day be a ‘magic’ solution to the issue of search engine visibility, but I don’t hold much hope. What makes Flash powerful is the almost limitless approaches developers and designers can take to presenting content, and of course this is also what makes it so unfriendly to search engines. Without a standardized method of presenting content, I don’t see how search engines have any hope of making sense of the internal complexities of a Flash movie. I guess only time will tell whether this shortcoming can be surmounted!
Update 13 February 2007: One of my readers, Aaron Bassett, raised the issue of Adobe’s Flash Search Engine SDK, and the fact that Google is capable of spidering and indexing Flash movies. Google was already spidering Flash movie in 2003 at the time Mark’s original article was written, though he obviously thought that it was doing an inadequate job, and I would maintain that is still the case. If you want to read more about how Google indexes Flash sites, read Aaron and my comments below.