Defending Flash

I find myself more and more lately defending Flash to clients at the expensive of discounting other technologies. With the renewed interest in JavaScript lately and all the hype and "bandwagoning" surrounding "AJAX" it seems like everyone has drank the kool-aid without actually understanding what the hells in the water. I am constantly hearing "we may want to look at AJAX for this " or "we can do this same thing with AJAX and we don't have to rely on a plug-in", when in fact that is not the case. Very often in fact what they are really talking about is DHTML as the project doesn't include XML. Yet when you try and point out that the effect or solution proposed cannot (with consistency) be performed with JavaScript they are quick to say "but can't AJAX??".

This is really where my frustration lies, not with the technologies themselves, but with the complete lack of understanding and disregard for the implications surrounding the use of said technologies that many people seem to have these days. And while it shouldn't be a Flash versus issue, but rather a lets look at the big picture and see what solution best fits the LONG-TERM goal of the project issue, it always seems to come down to that. I find myself in much of the same position I was in years back when I was selling cars for a living and people would come in and say "tell me why I should buy your Ford instead of a Chevy!" I didn't like pointing out why the competition sucked then, and I don't like doing it now. Frankly the competition doesn't usually suck (otherwise they wouldn't be much of a competitor), but instead just offer something different, or offer the same thing in a different package.

I think asynchronous data retrieval using XMLHttpRequest is very powerful and I am definitely on board with that. The display of the data once retrieved, I think, is where the AJAX scenario starts to loose me. I believe part of Flash's popularity is due to the lack of ability, consistency and support for JavaScript. It's a bit confusing now why JavaScript hacks to achieve certain effects are all of a sudden accepted now, whereas not that long ago they were taboo. I don't think they are accepted now because browsers offer that much better support for it all of a sudden, and if JavaScript was being used to purely spit out data via HTML I wouldn't have much of an issue. The problem is when people start using JavaScript to achieve animation, browser specific functions that require "degradable" code, and effects that (up until a year ago) where considered bad form, that's where (if the best interests of the projects long-term goals where fully considered) Flash would be the ideal solution for this type of display. To quote a friend, “Anybody miss coding in notepad, or knowing the differences between form event handling between IE 5.5 and IE 5.5.2.3.4.5.6.1? Not to mention the special event handler methods that have been added to the Firefox scroll bar, but don't exist on IE, except the Mac version, unless you're on a pre 2002 Mac which doesn't support those particular events unless you downloaded the EMCA compliance patch? I'm going to dig up my old ½ foot thick JavaScript bible. Whoever can debug this stuff will be a hero pretty soon. "

The part that is lost on all of this is what the viewers actually want and care about. Customers/viewers don't care if the app was built in HTML / JavaScript / Flash / XML / ASP / ColdFusion or freakin' Perl for that matter, as long as the experience is pleasurable and their goals are achieved. The only people who care about that is us nerds and techies. So why not offer a consistent experience between browsers and operating systems, and stop punishing people for using certain combination's of each by writing code that has to "degrade gracefully". If you're spitting out pure data and that's what the viewer is there for then HTML/JavaScript all the way but if you're planning to offer a higher level of interactivity and user feedback, stop hating and consider using Flash to offer that experience consistently across all browsers and platforms.

My hope is that eventually when the hype dies down a bit and people regain their sanity, after they have to start maintaining these projects, more hybrid scenarios will begin to emerge and we can all just get along :)

20 Responses to “Defending Flash”

  1. Jonathon K Says:

    Just tell them how much more an AJAX version will cost when they factor in all of the extra work they will be doing getting it to work cross browser.

    jk

  2. Shunjie Says:

    Agree. Ajax is a great thing to explore and play with for geeks and techies, but in terms of business model and long term maintainability, its just too ‘fat’. Simple data retrival (communication with database, etc) can be easily accompolished in normal html model (using traditional asp, cf, php, etc), but required a bit more effort in flash (flash remoting, etc). Animation can be easily accompolish in Flash but required hell lot of effort in Html (I call there ‘FAT’ code). And to tell the truth, no matter how many testing you do with to ensure animation in html is cross browser compatible, you will get hate mails and complain on why it is not working (most of the time the user is using Opera. No offence for Opera users but it really got a lot of problem when dealing with DHTML). For a full application running on AJAX, a lot of effort is required to maintain the FAT codes as basically you are dealing with very very low level javascripts. Even if you use RAD tools like backbase for the UI, you will still need to learn backbase first.

    Therefore, the verdict is simple. RIA -> Flash (or Flex, but Flex is render out as Flash anyway). Once the decision makers realise that out of 10 users who come to AJAX sites, 2 realise they cannot bookmark the page, 2 cannot get it working as they are using some weird browser, 3 cannot get it working for some undebuggable reason, and only 4 can view their page, and that their developers start to bald from all the javascripts debugging rather than concentrating on the business logic, they will go back to Flash again.

  3. Diviner Says:

    Very nice and beautiful;;; thank you very much.

  4. James Ahlschwede Says:

    You might find the discussion I started on Slashdot interesting. ( http://slashdot.org/comments.pl?sid=159521&cid=13358273 ) All the Ajax-instead-of-Flash arguments I’ve thought of have been discussed, and they don’t hold up well.

  5. Objectivity Says:

    Actually you really didn’t present the pro’s and con’s of each, and how they stack up against each other. You pretty much just ranted for nothing, and the quote you provide looks like laziness. Google did the work with their maps, why should they have done it in Flash? How would it have been better? Project Managers need something better than “Whoever can debug this stuff will be a hero pretty soon.”

  6. Crucial Says:

    I don’t disagree that Google did the work with their maps…the solution they used for their project fit their need, and yes it is a very nice app. Not everyone is going to have the “Google’ budget for all the code rewrite, debugging, several versions of code for each browser, extensive testing, etc…

    The point being that the long term goal of the project with regards to maintenance, future browers, OS, maintainability and skill set ALL need to be considered. And I don’t think its as black and white of an issue that people make it seem with the plug-in versus no plugin issues people use to choose a javascript front end over a Flash front end. Do what makes sense for the project and the end user, but don’t be so naive and so quick to discount Flash because it requires a plug-in… consider ALL the facts ot just the ones that are convenient.

  7. Tariq Ahmed Says:

    Excellent article. I’m in the situation myself of having to compare to management the RIA options. I’ve decided to embark upon putting a document aimed at technical management that explores all the options, and the strengths, weaknesses, and limitations of each, as well as bottom line recommendations.

  8. Leo Says:

    I think Objectivity is unfair in claiming that the post was just a rant.
    Sure it was not a comprehensive list of pro’s and con’s, but IMO thats not really neccessary, and maybe would not be suitable on a blog called “just another rant” :)
    AJAX fails on two at least two very major points compared to Flash, which was pointed out in the post.
    Higher development time/cost.
    Inconsistency between browsers, hence less accessible.

    AFAIK the amount of browers with javascript enabled is not more than users with flash installed, and I would think that it’s harder to instruct users how to enable javascript to view a site compared to getting them to download/upgrade their plugin.
    So the argument that AJAX should be better because no plugin is required fails as I see it.

    I very much agree with that sometimes developers seems to focused on what technology is used, rather then the result and what it takes to get there.
    AJAX and Flash can obviously do pretty much the same things from the eye of the user.
    If both technologies have the features required to make the application the main variables when choosing what technology to use would be mainly two points, and that’s how much effort is required to develop the application and how accessible it will be.

    And I really have great difficulty seeing how how AJAX would have an advantage over Flash in either of those areas.
    Any pros AJAX might have in other areas will be overshadowed if it can’t deliver on those points or give features that FLash can’t provide.

  9. Persian Diviner Says:

    Hi, this is a very nice and interesting content

    thank you

    http://diviner.blogspot.com/

  10. Taylor Cowan Says:

    Objectivity ( or shall I say coward without a name?),

    >You pretty much just ranted for nothing

    And yet you read and responded, so in fact it wasn’t for nothing. I could just as easily ask you to explain why iTunes should have used AJAX.

    AJAX is cool, just like it’s cool how the guy at the carnival can write your name on the head of a pin. Using regular paper isn’t lazy, it’s just more effective. When people look at Flikr, Google, and other AJAX based apps and think they are “good” they are dumbing down their standards. The problem is that we’re on a sort of browser plantation, we’ve been set free, but we’re afraid to leave…AJAX is sucking us back into browser sniffing, turning on and off features based on the client, even depending on versions of the same browser.

    Look at this blog from an AJAX developer
    http://richardcowin.typepad.com/blog/
    “Well,… it looks like we may have been a bit hasty getting the release out. We have an IE bug in the LiveGrid during certain scrolling actions. Does not seem to be a problem on Firefox. Hmmm, must have something to do with IE’s eagerness in sending onscroll events.”

    I just checked my JavaScript bible and that problem is easy to solve…he just needs to call the setEagernessLevel() method with a smaller value.

  11. Jake Tracey Says:

    I agree with you re: Flash vs. AJAX, they’re two completely different technologies. However I can’t say that I agree people are ‘too eager’ to try AJAX. It’s akin to saying that people were too quick to use CSS – even though we still have to include IF statements that load hacks for different browsers.

    Like it or not, AJAX (and plain old DHTML effects) are a huge step in terms of the interactivity we can add to applications. Sure, you can already do complex animations, sound and basically everything else you can do with Javascript with Flash – so why didn’t every developer ditch HTML/CSS completely when Flash became prime time?

    Perhaps it is because Flash costs more money to develop with; anyone with a text editor can churn out some pretty complex AJAX code. Maybe it’s the learning curve? I found HTML, CSS and Javascript much easier to pick up. Either way, I don’t think DHTML and AJAX will ever replace Flash in the one area that it excels at – multimedia. A hybrid of these technologies is the optimal environment for both developers and users.

  12. Crucial Says:

    Flash costs more money to develop with

    I would disagree with that one statement. I can only assume the cost you refer to is the IDE (the Flash APP). However there are free editors (SE|PY) and free compilers (MTASC), and free server side components (openAMF, amfPHP), and of course there is the free player. In addition, when you consider the amount of additional coding that has to be done to make the same effect work in JavaScript as compared to Flash with regards to initial development, QA, testing, degradable code, browser sniffing, maintenance, etc… I would still have to say Flash excells in those arenas as well. As for learning curve, that exists in any technolgy were a skill set isn’t present, but I would venture to guess that it would require more staff to implement the same AJAX/JavaScript app then it would to implement a Flash app in the same timeframe.

    Thanks for the post.

  13. erribee Says:

    In the small dev group I work with, we use both AJAX and Flash (Remoting and WebServices). I think my experience is pretty comprehensive and my opinion is that AJAX is very handy for a limited set of circumstances.

    AJAX offers a small subset of abilities – in data retrieval, data sending, data binding, data manipulation, and data presentation – in comparison to Flash, but I think it has its place.

    In my opinion, AJAX’s contribution to the web development and design world is that it provides a basic level of asynchronicity in a generally accessible medium — that’s ‘accessible’ not ‘Accessible’ (as in 508) — there are more people with the necessary JavaScript skills than the necessary ActionScript skills.

    I think the important point made in the original post is that AJAX is (still) not automatically the best way to do things, and it’s frustrating to see a technology misunderstood to such a degree. Especially when it tends to present more and more problems as complexity increases (which is natural when developing for multiple environments). What is even more frustrating is that perfectly servicable options, such as Flash, are suddenly brushed aside, and dodgy development practices are placed in favor above solid development practices.

    I’m not an authority, but I have a some good experience on both sides of the Flash vs. AJAX issue. It’s pretty clear to me that Flash is far superior, but not always. And if you aren’t a serious Flash developer, AJAX provides a great way to do a lot of things that weren’t doable before.

  14. Crucial Says:

    Thank you for the comments erribee, that was very well put, and I couldn’t agree more!

  15. Ruben Rojas Says:

    I hate people that compares flash whit everything, if they hate flash technology, don´t try, don´t use flash…
    excelent article

  16. Jorge Lopez Says:

    What the Dev Systems Managers need is a solid product wich saves time when build new systems, modules or components. We are focused in the business needs and we do not have time to experiment with new non packaged technoligies. Your users and your Company will be happy about that.

  17. Crucial Says:

    Not exactly sure what you mean in your comment. If your saying you don’t have time to ‘experiment with non-packaged technologies’, and therefore use a particular technology because its what’s faster due to familiarity, regardless if its a better technology or not, I think you’re doing your users and your company a huge disservice. In most cases (if your company is at all successful) your users should have the confidence that what you are putting in front of them is the best product available, not the product that is just most convenient for you to make a deadline.

    Having said that Flash and Flex have made great strides in offering a component architecture that provides developers new to the platform a way to produce a nice product rather quickly. I might suggest taking a look at Kevin Lynch’s keynote at the Web 2.0 conference, I think what he did there ‘saved a lot of time while building a new system using modules and components’ :D

  18. Just Another Rant » Blog Archive » UI can be the point of difference Says:

    [...] A few weeks ago I wrote a small rant about Defending Flash… basically commenting on my frustration at the blatant ignorance surrounding the most recent technology chest beating with regards to AJAX, Flash, Flex, [insert RIA technology flavor here]. Well I thought I did a pretty good job of venting some frustration, but I must say my little post really pales in comparison to Scott Barnes’ latest post titled AJAX, Microsoft, Macromedia and Religion. This has to be one of my favorite posts I’ve read all year. With gems like “ AJAX is like a Hooker turn School Teacher, it has a dirty secret and unless you get it alone and play with it, you won’t pickup on it’s secrets until it’s too late and Now, you’ll be proud as punch at the fact that you can show off some er33t DHTML skills that allow things like “Word Completion” or “Drag and Drop DIV layers” but meanwhile, your competitor has Laura Croft butt naked in polygon form, plus they have all that and more (you can drag / drop clothes onto her like some weird scary paper doll tool) . This whole post had me laughing my ass off. Not because he was making jokes (although the post is hilarious), but because it’s like one of those movies or shows that’s extra funny because of how accurate it really is (e.g. Seinfeld, Napoleon Dynamite). [...]

  19. blabla Says:

    flex 2.0 seems to be what programmers were waiting for. Ajax will be history.

  20. blixtsystems.com » Debunking Flash myths Says:

    [...] love debating Flash and got a bit inspired to make some comments after reading the recent post at Just Another Rant and discussion at slashdot about the merits of Flash vs. [...]

Leave a Reply


Visit Portfolio :

Crucial Limit

Client List :

Aces Tattoos | 82 Tattoo | Eric Peacock | Kustom Tattooz | Laser Imaging & Design | Laterras R. Whitfield | Solipsum | Travelocity ExperienceFinder {beta} | Travelocity | ZSI

Socialize:

Flickr | View Dave Gillem's LinkedIn profileView my LinkedIn profile | Twitter | Facebook | Become a fan of Crucial Limit on Facebook Become a fan on Facebook

Add to:

Videos, Slideshows and Podcasts by Cincopa Wordpress Plugin