Web Development Software
5/15/04
<< 72 Squared Weblog

Flash: polished interfaces or functional widgets?

Flash is fun. No doubt about it. My first year of web design I spent a lot of time learning to program in Flash.

I thought everything should be programmed in flash. It is amazing technology. I taught myself how to do complex animations, physics-based user interactions, games, and xml communication. But the more websites I built the more I shied away from building sites in flash. Why?

  1. HTML is scaleable. By that I mean that the tags stretch to accommodate the content. With Flash, the content must fit within the plug-in's dimensions. When building dynamic content, it is impossible to know how much space I will need to fit in the content. As a result, I have to build a scrolling window inside the flash plug-in to hold it. Now the user has two scrolling windows: the browser, and the flash interface. Not efficient.

  2. It takes a long time to move from concept to completion in Flash. Because flash is so feature rich, and because it is time-line driven, developers are tempted to build a whole lot of fancy animation into their application. It takes a lot of time to build successful interfaces that are timeline driven. In the end, it makes for a glamourous interface, but isn't it mostly just show? Does it give the user a better experience? Occasionally, a flash interface delivers content so smoothly, that the interface is secondary. This is a successful flash site. Most often, flash draws attention away from the message. No good.

  3. The web is driven by intormation. Yes it is important to design fun interfaces. But often the average user struggles to learn how to use that interface when what they really want to do is get to the information. The html document model is a proven content delivery mechanism. It allows you to do most of the things necessary to deliver the information with as little fuss as possible. In fact, this site is limited to very simplistic html with no javascript in it at all, yet it presents the information in an aesthetically pleasing way that is very accessible even to technophobes.

  4. Flash content is often overly heavy. A user has to site and wait for pre-loading scripts, and other mechanisms just to get to the content. Why not figure out a simple way to deliver it?

Of course there will always be a need to deliver super websites with amazing visual effects, stunning animations and clever interfaces. Often these sites are the personal sites of creative web designers and developers. I have made numerous sites entirely out of flash. But although I was able to create a stunning visual experience in flash, maintaining the content was a pain. Can't flash be used to do something more functional? I've noticed sites like yahoo have been providing their users with special little interface plug-ins like menus, and widgets that help their users edit and change information and customize the experience. Instead of creating the entire interface out of flash, more and more sites are using flash to extend a primarily html site. This is a very efficient way of providing functionality that does not exist in html. Unfortunately, right now there is only a very limited set of methods a developer can use to transfer information between the HTML DOM and flash and these methods are not supported in every browser. If flash wants to continue to expand, it needs to strengthen these methods so that it becomes easy to connect and extend the standard html interface with flash widgets that give the user easier and more intuitive ways to accomplish tasks on the web. Companies are building applications with thin web clients that before could only be built with a custom "thick" application. Flash can help bridge the gap between thin and thick client. There is a huge market to be exploited here but only if flash finds more ways to bind flash widgets to html. So am I losing my way, thinking only like a programmer now, and ignoring my design roots? Perhaps. But I think my goals have changed a lot since I first started out on the web. I'm trying to get my message out to the user, not just impress and awe everyone with my technical prowess. Perhaps that is why I view flash so differently now.
To see an interesting site that delivers both a successful flash interface coupled with flash widgets, check out one of my all-time favorite sites: 2advanced.com