A quick note...

I originally wrote this in 2004, and I was referring to Flash MX and earlier versions. Since then several of the issues I describe have been fixed, particularly accessibility. Also, Google announced it could index Flash movies on July 1, 2008. (Only took them four years.)

Why Flash Movies Annoy Me

Flash reinforces the idea that what a user wants is not as important as what a designer wants.

Very good for displaying movies and animations. (See Broken Saints, and Rustboy.) Very poor for web interface design.

Rustboy.com provides a good example of the problem with fonts. The biggest issue is that the font size many designers choose is very small. I'm legally blind. My eyesight sucks. The text on this site is somewhat difficult to read, only because the font size is set at a size I find too small. If the font size was 50% larger there wouldn't be any issue. My web browser allows me to scale the font size up to whatever I like on a web page. Flash movies do not offer that option. A workaround I've used in the past is to select the text out of the movie, and paste it into a text editor so I can resize it to be readable. Flash allows a designer to make the text nonselectable. By default all text added to a Flash movie is not selectable; The designer must explicity choose to allow a user to select the text. (this could be fixed by changing the default setting to make all text selectable.)

Flash prevents users from linking directly to a resource (page, image, whatever) which kind of defeats the purpose of the web. It also prevents people from linking directly to a product or service they might want to purchase.

Flash is not as accessible to users who have special needs (visually impaired, hard of hearing, impaired mobility). It is possible to make a Flash movie accessible, but in many cases it comes down to "Make a plain text version of the Flash movie." which is a duplication of effort and a waste of time and money.

The Promise of SVG

This situation is especially galling since the W3C has created some specifications that exist solely to address these issues: SVG and SMIL. SVG is an XML language to describe how a picture should look. SMIL is an XML language that describes how an animation should run, what parts of a script should be read, etc. In other words, SVG draws the characters and SMIL is the director of the movie that tells the characters what to say and how to say it. The nice part is that a blind user could have the script read out loud by a voice browser and the SVG stuff is either ignored or used to describe the scene. A deaf user could use a browser that takes the spoken words and automatically creates closed captioning.

This is nice for content creators because they only have to do the work one time. As a result the cost of creating that content goes down, and more time and money can be spent on the quality of the movie, or making more movies.

As SVG is XML it is readily indexable by search engines like Google. Flash isn't.

Now the real problem: There are few applications that support SVG. There is a browser plugin from Adobe for Internet Explorer, and there is some work being done by the Mozilla project for that browser, but by and large there really isn't much software that truly takes advantage of what SVG has to offer.

Macromedia and SVG

What's really odd about this is that there are two applications that would be perfect to completely reverse this situation: Macromedia's Flash MX 2004 and the Macromedia Flash Player.

Surprised? Didn't I just say Flash sucks? No. I said Flash movies suck.

Macromedia Flash MX 2004 offers the best authoring application I've ever seen. It can handle anything that a user throws at it. The timeline is perfect for SMIL, the drawing engine is perfect for creating SVG, and the ActionScripting engine is based on Javascript.

The Flash Player has a market penetration of 98%. Basically everyone on the web has Flash Player plugin. So just about everyone is ready to view SVG and SMIL content.

Macromedia is in a position to dominate this market. From my chair it seems like what they need to do in order to dominate this market as well is simple:

  1. Modify the Flash Player plugin to support SVG and SMIL.
  2. Modify Flash MX 2004 to export movies as SVG and SMIL.

They'd lock up 98% of the audience (again). There wouldn't be any problem, and the Flash content could be seen by a much wider audience.