Briefly About the Show

The very best weekly mash-up of technology, advice, and humor. Hosts Shane Elliott and Scott Hoffman hold nothing back as they candidly review weekly tech news, gaming, the web, design, and much more. Yes, it's time to talk about technology in a way that might actually help you. It's candid, it's funny, and it's down right sexy. Check in and download your weekly dose of awesome!

 

« Web Site Updates | Main | MacBook Pro Ship Date a Lie »

In Defense of Flash

There seems to be a lot of fodder on "tech" blogs lately that says "flash is a dead technology." Normally I ignore these comments and write them off as coming from an uninformed moron. But lately I've been getting irritated by them because the number of comments have been steadily increasing.

My theory is that people have started getting so excited about CSS and AJAX that they need to bash what used to be exciting in order to make what they're getting into that much more awesome. Either that or their just ignorant to the facts. You know, I'm going to go with the latter.

I'm going to list the comments I've read or heard and then address them one by one. Just so you know, my opinions are based on my experience as a Flash developer, author, and instructor of ten years. So take it for what it's worth.

Flash sites are bandwidth-hogs

This is likely the biggest misconception of them all. The fact is that Flash creates incredibly small file sizes. It's a perception issue I think. If I create a home page that has high-quality images on it with another background image in HTML, then the page will load piece by piece, making it feel like it's loading instantly. If I make that same page in Flash, the whole page needs to load before it can be displayed. Hence you have loading bars and people feel like it's taking more time.

The reality is that often times the Flash solution is smaller in size, but since most devs just use a loading bar, it doesn't seem that way. This is the easiest solution, but you can also create your Flash document to load images "after" the rest of the page is loaded and displayed. Then it acts just like HTML and perception problem solved. Whether it's choice, ignorance, or lack of skill, most people don't do this.

Sure, a lot of developers overdo things, make bad decisions, and end up with bloated files. This is a judgment of the designer, not the technology he/she used.

Flash is a nightmare for developers . It's awesome for people who don't really know anything about coding and design/development and stuff.

ActionScript is an ECMAScript-based programming language. You use it in combination with a well-designed DB and PHP, ASP, JSP back end and you can create amazingly powerful applications. It may be your nightmare because you don't know how to develop in it, but I've made a living creating enterprise-level Flash applications for many years. So please try and know something about what you say before you say it.

In fact, I was involved in creating an entire search-engine that was designed, programmed, and run in Flash 4. That was before ActionScript really matured and that site ran fast and was easy to update.

Flash sites take forever to be able to update and/or overhaul.

Yes, if they're created without these considerations. Just as an HTML site created with no dynamic content would take forever to update and overhaul. It is possible and common to create sites and applications in Flash that were "entirely" driven by a database and XML. The front-end files can be really light (25K total) and everything can be assembled on the fly from database instructions. This means you can change anything in the site in minutes using admin pages.

Not everyone has the plug-in and not everyone wants to or knows how to install it

Obviously this is a consideration when deciding what kind of site to build, but it's a small trade-off. Statistics show that 98% of web users have Flash 7 or higher installed. For those other 2% you can easily setup a graceful and easy path to get the plug-in which is quick and easy to install.

There are pros and cons when using any particular kind of technology to deliver a service or application. Part of planning the project is deciding exactly what technologies best suit your needs. I use CSS/DHTML front-ends all the time. I also use a lot of Flash front-ends. Sometimes making the site dynamic is important, sometimes it's more important that my content can display rare fonts or some effect that makes Flash the right choice.

I'm really tired of people making blanket statements about what Flash can't do when it's clear they have no idea what they're talking about. If you're uninformed, fine, just stay quiet then. I don't claim to know a lot about AJAX, so I don't get into debates about it. I do know a great deal about Flash, so I'm defending it here not because I think it should always be used, but because it shouldn't be dismissed unless the reasons are legitimate.

Do you have any comments on what you think Flash can or can't do? I'd be happy to answer questions and help inform you. Leave a comment and I'll respond.

NOTE: What set me off? This post on Digg.com spawned a bunch of the comments I refer to here, but I've been hearing the same general comments for months now, so I thought it was time to respond.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)