Flash-only vs. AJAX sites

Even though web developers like me have discouraged from building Flash-only sites for as long as I remember, they are popping up all over the place. For no reason! We are ready to make the leap to standards. And our weapon with be AJAX.

What kind of sites are built with only Flash?

Let’s start by having a look at a few big Flash sites. Because they exist, and keep popping up all over the place. Here’s a couple of movie sites using it: Departed, Underworld Evolution, Matrix; Here’s a couple of big brands: Coca-cola, Nike, Electrolux. These sites are more than just animated images, they have their own content and often need to get updated continuously.

What’s the purpose of them?

Before deciding on anything we need to examine what purpose these sites have. It’s not OK to change the purpose of the site just because we dislike the technology behind it. I can’t possibly know the reasons behind all of the campaigns going on today but I believe there’s a core that most sites are after.

  • Promote something new – Someone wants to to push some of their products/deals/ideas to the spotlight.
  • Specific target audience – Companies are well aware that what kind of people they reach initially will define if the product is successful or not. Many want the hip people.

Updating flash files is hard

Many years ago it was ok just to throw up static information on a site and have a good site. Don’t get me wrong, content is still king, what has changed is that content alone isn’t enough. We demand much more from a good website. Coca Cola can’t just publish a press release telling us that there is a new taste out. It’s the Web 2.0 age and we want to be able to send our own tasting stories in, we want to be able to see live counters of the number of bottles sold, and we want forums to talk amongst ourselves about our experiences. We want tags! You get the point.

How does this affect the choice of flash or not? We need dynamics, ways for both editors and users to add content to the site, and Flash files are hard to update! Just the fact that I need a special program to edit them speaks for itself.

Another fact: As you probably know, it’s rare (in the real world) to have the same person both writing code and publishing content. The coders need to cater for that, and make sure it’s easy for editors to add new content. Now. Even if you’ve bought licenses and are able to edit flash files, you can’t expect editors to understand all about how flash works. So you need to build a content management system (CMS) of some kind. If you buy one, you still need to integrate it with your current code.

“But”, I hear you say, “…you have that same problem with non-Flash sites!”. Yes, but the difference is that CMS tools that publish HTML have existed a lot longer. This affects both the quality, usability and ease of integration with current systems. A HTML-based site will therefore be easier to update, making for both more and fresher content that reaches more people. If it’s easy enough to update the site, you can even let users do it, Web 2.0 style.

Flash is not hip any longer

Publishing a site with Flash today is hardly going to get mentioned at all. AJAX has completely taken over the scene and anyone even whispering AJAX gets to the front page of digg.

Aside from the technology buzz we have had some real changes rather recently: Javascript can now deliver what was once only available with Flash. It can fade, move, round corners, drag-drop, auto-save, validate, the list could go on forever… There’s several effect libraries available that makes using all those effects easity. All the good ones are even free.

Flash-only vs. AJAX – The showdown

I’ve made a small list of things that matters when you build a website today, and evaluated each one of them for both Flash-only and AJAX.

Flash AJAX
Accessibility Poor. There’s problems with everything from how a flash app gets its initial focus from the browser window, to unusual interaction controls, to lack of text resize. In summary, zero points. Moderate. AJAX has problems with requiring js for accessing data, but smart developers have started thinking in terms of accessibility and fixed many of AJAX initial flaws. Nyman’s ASK is one way.
Search Engine Optimization (SEO) Poor. Search engines don’t read flash files (even though they probably could). Some people claim that you should duplicate all your content. I say that will be a mess to update. Moderate. If you just use the javascript effects you are fine, if you fetch data with javascript you need to write a little script that reloads the content and gets it that way instead. It is possible, but not easy enough. Bonus: if you fix accessibility you often get this too.
Ease of content change Poor. You need an expensive program to edit the files. ? Only available on PCs running Windows. Few CMS:es available (any?) that makes it easy for editors to update content. Strong. All the big CMS:es can be used together with an AJAX app, it’s just a matter of changing the templates on the front. Systems like Ruby on Rails (while not being a CMS) have built in support for AJAX stuff, but including a framework in older systems is no big deal.
Hipness Poor. There used to be a big community of flash developers that got incredible respect in the webdev community with their flash-only sites. Many of these communities have been replaced by CSS Galleries of different kinds. Strong. While Flash-only developers focused mainly on visuals the AJAX community have focused more on user experience, building applications that feels better to use. Together with the technology buzz behind it AJAX solutions have gotten (and still get) a great response from the start. The potential for marketing campaigns based on user experience in huge.
Graphic effects Strong. This wouldn’t be a fair comparison if we didn’t acknowledge that Flash is far ahead of AJAX when it comes to graphic effects. Most of this is based in the fact that you are working in an application instead of a website, and things like anti-aliasing, drop shadows, transitions, and filters have existed for long. Moderate. Websites was long lacking pretty interfaces but in the recent years we’ve seen an explosion of graphic effects even in the standards world, probably starting with the famous CSS Zengarden.
Integration with existing sites Moderate. Few code libraries are written to work well together with flash, so often you have to do the integration yourself. In it’s latest version Flash has gotten more integration points with the possibility to communicate with javascript, import HTML and so on. Better, but not perfect. Strong. Most effect libraries are built to be as easy to include as possible. The usual way to make use of one is two lines long: link a javascript file and call the right function. The more advanced libraries that enable asynchronous loading require some more work, but unless you want advanced error handling it’s no big deal.

Next time a customer ask for a Flash-only site, tell them about AJAX and it’s advantages.

40 responses to “Flash-only vs. AJAX sites

  1. While I don’t like flash, I think I know one of the main reasons for doing so:

    There is no “view source” in flash.

    Many major companies still thinks that the user being able to see how something was achieved is somehow a big problem …

  2. I agree with a lot that you have to say here, but that one point you have in your showdown for “graphics” is a little misleading. The potential for tightly integrated sound, video, and animation is what is driving a lot of these Flash sites. For many customers, Flash’s superior capacity for an interactive experience dwarfs all the other concerns, though they are legitimate.

    Also, the “hipness” rating of poor is pretty subjective. A lot of the ideas about what is hip just comes from the community you associate with.

    Lastly, your “Ease of content change” bit about Flash is definitely worst case. If you build a Flash site that needs dynamic content, you’re going to build a CMS as you’d mentioned above, you’re not going to make your customers use the Flash IDE(which runs on OSX as well as Windows).

    I do agree with the majority of what you said though! There are certainly plenty of sites running around now or in the works that are full Flash just for Flash’s sake, and could be implemented with better with AJAX.

  3. I think your table is a bit off. Sure, Flash can be poor at Accessibility but only if you have a bad developer. And the ease of content change is totally off base.

  4. In my experience, all-flash sites happen because of vendors with slick presentation skills wooing business managers.

  5. Thanks for the mentioning of ASK!

    When it comes to content updating, to my knowledge, it is always done by importing XML into the Flash move nowadays (at least for professional web sites and/or web sites that pretty much don’t need to be updated since they’re short-lived campaign sites).

  6. @Kaj: wooptoo’s comment is true here, it is possible to decompile a swf. I see your point though, people *think* that flash protects them and use flash because of that.

    @Don: Interactivity is probably one of the major points on why people choose it. I somehow incorporated it into “Graphic effects” in the chart. Whether the other points outweigh the interactivity one is up to the client, I think it does.

    The hipness is very subjective, but I’d love to see some popular flash galleries if you have them. Is there a flash movement going on that matches the Web 2.0/AJAX thing that’s going on right now? In that case I’ve missed it.

    About the use of a Flash CMS: yes you do need them, and as you say, using the Flash IDE is out of question. The rating of Poor comes from the fact that building a CMS is a lot of work, so what most people do is use an existing one. Problem is that there’s very few CMS:es available for Flash…

    Thanks for your comment!

    @Ryan Stewart: How do you make flash as accessible as a standards based website? Text-zoom? Screen readers? Plugin demand? Skip links? Semantic markup (headers, lists…)? Most sites even require javascript to include the needed files (and to avoid the “click to activate” problem in IE). That’s not accessibility to me.

  7. Hi, First im all for web standards.
    Second, I couldnt disagree more with this post except Accessibility. And yes I’ve seen sites that shoudnt rely on Flash (content is king).

    Usability: Depends on the developer. Rezise etc.
    SEO: Dont know about the future but massive promotion via TV/advertisment is enought. Thank god flash isnt SEO friendly.
    Ease of content change: Make your CMS deliver XML.
    Hipness: Its in the eye of the beholder.
    Graphic effects: Flash is light years in front of Javascript. Vector etc.
    Integration with existing sites: Spells XML and Javascript.

    Updating flash files is hard: NO, for experince web agencys it the same patch/deploy routines as if you would develop sites with Javascript/HTML with backend capabilities.

    I think one should compare Flash with a magazine or TV (now, how accessible are they?). The differens is that Flash is Web 2.0 for TV/Video Game/Magazine.

  8. @Robert, Pär: XML, you say, that means some kind of integration with existing tools, and limits the number of existing CMS:es available. If XML import is a common way that’s always used that makes a bit better on the CMS front. Thanks!

    @Pär: Usability: Of course it depends on the developer, a developer can always rewrite the system and make it usable, the question is if the default makes it easy or not. HTML makes things easy, flash has an entirely different focus.

    SEO: I don’t agree.

    Hipness: You can’t have missed the Web 2.0 boom, and flash is nowhere in it :)

    Updating: See comment above, I’m not talking about deployment.

    Nice to see someone of a different view commenting.

  9. Thanks for the well written piece. I mostly agree though another area for which Flash is superior is sound. We develop tools for kids with disabilities and music, speech, and sound effects are great tools that browsers do a lousy job of supporting. As the world moves to web deployed applications rather than simply sites, sound will become (I hope) more important and better addressed.

  10. I agree with everything you’ve said in this article. AJAX is for sure the way to go – now as well as in the future.

    I dislike Flash for the same reasons you’ve mentioned and because of it’s slowness.

    Cheers, :)

  11. Yeah, I can’t wait until Flash starts being deprecated in the favour of AJAX and standards-based, non-proprietary technology.

  12. @Gary Bishop: True. On traditional sites people often found websites with sound annoying, I know I did. It’s probably time to reconsider using sound when we’re moving towards multimedia platforms on the web. Hmm… but how come so few desktop applications use sound?

  13. i’d just like to point out that i agree with the above commenters that flash can easily access XML files which can be outputted from CMSes just as easily as HTML.

    that doesn’t necessarily mean that i like it (because i don’t) but it’s still an option.

    also, i ran across this great article at thinkvitamin awhile back that had an example of a flash site that also had the content built into the page as DIVs that were hidden. this made the site easier to optimize for search engines and accessible.

    (see the section named “Actual Content Behind Flash or Descriptive Images”)

  14. Emil, pls specify if this article is about web applications or web campains. The links you provided confuses me.

    Nike, Coca-Cola and E-L are company sites that should have a solid backbone site using more or less static HTML. Yet use a campain as frontpage.

    Departed, Underworld Evolution and Matrix are feature film sites which in my opinion is short lived sites and are dependent on hi-end graphics/animations and sound.
    Let IMDB archive any info of value about the movies.

  15. Just to add: not only can you de-compile with various tools, but more importantly, you can compile and create .swf files with various tools that are not the Adobe Flash application.
    I know several ActionScript developers who don’t even have Flash (the IDE) installed because they don’t need it.

    As for content updates I agree with the above comments: if it is hard to update the content of the site it is probably built incorrectly to start with.
    Images/text/xml/video/sound can all be pulled in dynamically, not to mention of course, other swf files.

    Flash does have another benefit: if you have the plugin it pretty much looks the same regardless of platform/browser etc. If you think this is insignificant try explaining advanced cross-browser and cross-platform debugging to a paying client. ;)

    This all makes me sound like I’m a Flash fanatic. I’m not. In my work we just have to use the technologies that are best for the purpose of solving that particular business problem. Sometimes it is Ajax. Sometimes it is Flash.

  16. like other commenters have said, flash works well with xml. so you can set things up where you can upload a text file in one folder and images and the other, and you have new content without touching the flash file itself. flash not being ‘dynamic’ is a hugh misconception i think.

    for rich media, flash is king, there’s no comparison.

    and another thing, browser hacks are annoying. with flash- you have to deal with plugins but aside from a few linux nerds(and thats changed now), who doesn’t have flash installed that is savy enough to buy or look up things on the net? and what it looks like on firefox/safari, it looks like on ie6.

    i don’t understand the reference to the nike site. i think it’s a great site. you can’t do a site like that in all ajax.

    i wouldn’t want yahoo or google to be all in flash. but i am glad yahoo does use flash in some areas (like yahoo movies, tv, etc.). and for brands like nike, mini cooper, etc. i rather see it in flash than complete web standards.

  17. Hey, it’s ok Emil, come out of the cave ;) The Flash community is bigger and more active than ever. The tools/compilers/IDEs are all free, no need to buy the Flash IDE unless you are a graphic designer). Not to mention the whole table in this post reads like it was written in 1999. I want to help you. Check out sites like OSFlash.org to see the latest open source community buzz, check out papervision3d.org for the most high tech Flash that the browser will not be able to offer in your lifetime – careful not to understate consumers, they are bored of HTML, they need more than a bit of hacky JS animating a few transparent PNGs to give the effect of rounded corners (after spending hours on that particular effort for little return), they want full screen HD video, live data, interactive charts, music, 3d and so on. Trust me, I’ve been there with JS for several years and it is a nightmare in comparison, instead of being excited about a new browser version, it’s something to fear, once you taste a proper language that has great tools (like FDT for Eclipse and FlexBuilder) you will never want to turn back. There is a really important decision coming up for AJAX folk as their libraries are left behind by Flashers using things like Flex for RAD, Flash for incredible visuals and sound, Binary Sockets to communicate directly with the database or anything else you wish, live asynchronous updates of data using data binding (e.g. Flex Data Services), and accessibility is stronger than most AJAX sites by default (http://niquimerret.com). SEO is exactly the same for Flash sites as it is with AJAX sites, trust me on that one, anything that loads data asynchronously requires the same SEO solution using URL re-writing and agent sniffing, and as a matter of fact Google *does* read inside SWFs. Finally more people have Flash player than people who have JS turned on (that’s a fact). If you need a helping hand getting started, there’s a lot of people willing to help, so join in and get up to date, for the good of the web!

  18. In answer as to why all these flash sites exist seemingly for no reason, its simply about a fuller experience through audio and visual presentation and user interaction. It’s all very subjective whether you like the result or not, hence you’ll always have these arguments about Flash V Ajax etc etc. IMOH its all about solving the problem and meeting the objectives using the correct technology for the right job. All these emerging technologies have a place and you’ll find that they blend into each other. To me its all much of a muchnes.

    Your argument “Flash files are hard to update” because you need a special program is mildly amusing and hardly a reason as to why not to use it. As for it being hard to update, that really depends on how complicated it is to begin with. It can be as hard as coding in COBAL or editing a css file.

    As for dynamic update of content, your argument is totally flawed. As a flash developer working with our technology team we haven’t had any problems integrating flash into the CMS’s of various clients. The flash just loads in a snipet of xml, or we consume a webservice or ultimately have information passed in through the object/embed tags. It isn’t rocket science and certainly not a strong argument for using Ajax.

    As for Flash not being hip, again very much in the eye of the beholder.

    I love Flickr (ajax site) and wouldn’t want it made in flash, at the same time i like http://www.nike.com and of course http://www.coca-cola.com

  19. Flash 9, or Flex, has many good uses. I wouldn’t put Flex on consumer sites unless there was a specific app that benefited from the functionality. But for a lot of applications Flex is superb. You can also make it a standalone desktop application.

    AJAX, for all its present day de rigeur glory, isn’t exactly a rosy thing to maintain either. For a simple ‘behavior’ I have to import an entire protocol.js, just because I don’t know precisely where the functionality is coming from. The page size is big. And everything is useless if JS doesn’t work. It’s a lot more difficult to break the security glassbox of Flex. It’s a cinch to do it with JS in the wrong hands.

  20. Couldn’t agree more with what you mentioned. The thing that bothers me most right now with these RIAs, is that they break the browser paradigm. Granted AJAX does it too to some extent, but you at least get to copy links, text etc. It takes a whole lot of extra effort to get these functionalities up and running on RIAs.

  21. @To all flashers that answered above: I really appreciate your comments and I’ve learned a lot from them. I think the fundamental difference is that I want accessibility *and* multimedia combined, not just one of them.

    @Shahrier: What’s a RIA?

  22. Admittedly I haven’t read every comment (obviously you touched a nerve!), so apologies if I repeat statements that have already been made.

    I worked many years as a full time Flash developer, and as has been mentioned, we would have our CMS output XML files, from which Flash would extract most of the site’s content. Also worth noting is Flash remoting – the ability to communicate directly with the server via PHP etc.

    Most Flash developers these days separate out a lot of their actionscript into external classes – plain text files that can be edited in any text editor. So it’s not strictly true that the Flash authoring tool is required to edit a Flash site.

    I agree with your observation that full flash sites usually exist to support a product launch. They are commonly about marketing, and have a short life span. I have observed that of all the sites I visit with any regularity, not one of them is a Flash site. And I am a flash developer! One exception to the rule would be image intensive sites – I’m thinking specifically of portfolio sites for photographers and graphic designers, which are commonly built in Flash.

    With the accessibility thing: most Flash developers couldn’t care less. Seriously, they don’t care.

    With SEO, I agree Flash is woeful. Flash developers have to bend over backwards to try and expose their site content to search engines using all sorts of cunning tricks. If your content is stored in external XML files, you can parse the XML server-side and present it as HTML to search engines (that’s what I do).

  23. I agree with what you said in this article. I don’t like flash because in the end you are still developing on a closed platform no matter if your tools are developing with are open source or not. Also, it’s kind of slow.

  24. Yes, my website is 100% flash designed. But that’s not why I am commenting. I am learning web standards. I agree with all the articles that I have read about web standards. After reading several articles on JavaScript, PHP, CSS,XML, XHTML ect… (I’ve read a lot in one day)I am not as intimidated by learning the right way to design web sites. However, I feel that your article on “Flash vs AJAX was bias. True there are some advantages of Ajax over Flash, especially, in the area of SEO and accessibility. But Flash has advantages over AJAX as well. Flash can deliver video without the problem of codex, a larger variety of text (regardless if the user has the text on their computer) can be used with flash, sound and a few more that I can’t think of right now. Your article didn’t mention these things. It was as if someone was bending your arm to mention that flash is better at graphic effects. I say that because right after you gave flash props, you turned right around and made AJAX seem not as lacking by mentioning the advances of graphics through CSS. It is your article and therefore you can make it seem all lop sided if you’d like, but as a flash user, i’d like to point out it is a better application than you give it credit. Flash still has a large following.

  25. @Demetrius McClain: Thanks for you comment. You’re of course right that the article is biased, and I could probably have mentioned video and sound more clearly if I wanted to promote flash. Now there’s Silverlight and JavaFX too, and why not the old and sturdy Java applets? The article is biased, but it’s biased because I don’t think flash/silverlight/javafx is the right future of the web. We need cross-browser/cross-OS systems that are open to everyone, and CSS/HTML/JS delivers just that.

  26. Javascript with DHTML is just as effective as Flash. Never understood why Flash has done so well.

  27. Some good points, some not so good points.

    comment #4 by Ryan could sum up this article. It all depends on the developer responsible for the application.

    If you break it down, the root goals to any web application should be accessibility to all users. That being said, it brings us back to our dilemma, do you have the right developer for the job at hand. After all we are merely discussing an application, in this case Flash. The application is only as strong as the developer behind it. The same can be said for any other programs or languages.

    In conclusion they both have strengths and weaknesses when put to the same test. Bottom line, a flash-only and an AJAX only site wont fair too well on a standard cell phone browser.

  28. No offense, but this article is biased towards Flash. Flash is great technology, it’s just often misused. I agree that for standard websites, Flash is a no-no; however, for rich internet applications, Flash and Flex beat JavaScript any day. There’s a reason web applications like Buzzword (http://www.buzzword.com/) use Flash/Flex and not JavaScript: it’s just more effective for the job. All your negative comments toward Flash are basically nill when talking about RIAs.

    Accessibility: When was the last time you saw a blind guy editing a photo on Picnik?

    SEO: There isn’t really any content to search on a RIA.

    Ease of content change: This isn’t an issue because there is no content. And I’d argue that making changes to an application are easier with Flex (Flash is a bit iffy).

    Also, like some have said, Flash is clearly the only effective way to put video, sound, and other rich media on your website. So I believe you can’t compare Flash and Ajax, they are two completely different technologies that do two completely different things.

  29. @Sasha: Thanks for your comment. I see what you mean with RIAs not containing any content, and I agree that some applications are like that. The thing is that people use Flash for all sorts of things, including publishing of content. That’s the kind of Flash use I’m against, not embedding sound or video somewhere. Agreed?

  30. Hard to believe this page was written at the beginning of last year (2007). As someone else says, it reads as though it was written seven or eight years earlier, not in an internet era permeated with swfObject and YouTube. The “accessibility” nonsense is particularly dated. Any “accessibility” feature you wish is perfectly achievable in a Flash module or a Flash-only site. You don’t need to buy a program, and you don’t need to design on a timeline to build in AS3. You don’t even need to recode to update text and images. Finally, you’ll never find a Flash developer trashing AJAX out of envy or ignorance. The technologies are not rivals.

  31. @margot darby: Hi, thanks for your comment (so long after the publishing of it). Note that the title of the posts says flash only. Sites using swfObject, or YouTube for that matter are not part of that group of site. Flash is perfectly fine as a complement to good HTML, we agree there.

  32. Ah, yes, a subtle distinction. Personally I regard a Flash site embedded in html and swfObject (or similar code) to be pure Flash nonetheless. It has to get into the browser somehow. If you seriously meant that you’ve seen a lot of sites that are nothing but SWFs, then that would indeed be extraordinary!

  33. I agree with many things you have to say here, but there is a point that has in its confrontation of “graphics” is a bit misleading. The potential for a fully integrated audio, video and animation is what is driving many of these sites in Flash. For many customers, higher capacity Flash for an interactive experience dwarfs all other concerns, though they are legitimate.

Comments are closed.