May 12

Marc Hedlund

Marc Hedlund

Flash is Ajax, or Flash versus Ajax, at the Ajax Summit

One of the more interesting debates at the Ajax Summit this week concerned Flash and its relationship to or inclusion in Ajax. The discussion was more interesting because of the Flash demo that Kevin Lynch (CTO of Macromedia, the makers of Flash) gave on the first day -- and maybe also simply because he was there at the table.

Kevin's demo showed a Flash graphing application interacting with JavaScript on a web page -- both while initially loading and later, after receiving input from the user on the page (outside of the Flash movie). (Kevin later wrote up some of the details of this.) Cool example.

Flash continued to come up around the edges of the discussion, sometimes getting knocked a bit (Eric Costello of Flickr mentioned that they were moving away from Flash for showing photos, except when rotating photos (to show you what the rotated image would look like -- not possible, apparently, in JavaScript), sometimes praised or used as a good example of interface possibilities (by Kevin and others). I noticed that when I did some garden-tending on the summit wiki, and put "Flash" on a page called "Companies Behind or Against Ajax" (along with Microsoft, Google, etc.), Kevin moved it to a different page called "Related Technologies" -- and that pretty well summed up his stance, I thought: Flash is a technology that is really useful for Ajax applications; don't think about Macromedia as a company, particularly, but of Flash as a tool. At one point Flash's commercial nature came up when some participants asked Kevin to open source the Flash compiler, but in general that line of thought wasn't strongly advocated in the discussion. Had you not known before coming that Flash is a commercial product, you would not have noticed from the conversation at the summit. Overall I thought Kevin was an excellent advocate for his company and its products' relationship to a new technology trend, which is not an easy job to take on.

When the demos ended and we started to talk about the question of outcomes for the meeting, the group seemed to share Kevin's stance on Flash and Ajax, at least to start. "Flash is Ajax" was the top bullet on the outcomes page. I'm sure a bit of this was in deference to Kevin, who after all was sitting right there, but I also think that people were very impressed by Kevin's demo. David Heinemeier Hansson of 37signals and Ruby on Rails fame said something like, I never thought I would use Flash, but after seeing that demo, if that's what Flash is, I'm interested in it.

Jesse James Garrett, who coined the term Ajax, took a different stance, though, and soon the bullet on the outcomes page changed to read, "Is Flash Ajax?" What is served, Jesse asked, by saying that we're seeing a new and interesting way of making web applications, but then saying that a technology that's been around for a decade is exactly the same thing? Jesse's comments seemed to ignite some dormant fuel in the crowd, and soon we were going back and forth about whether Flash was really a lightweight tool for highly responsive web apps, or was instead a heavyweight tool not suited to "true" Ajax apps. When the moderators finally cut off the discussion so as not to crowd out other topics, Eric Costello complained, "Okay, but the next topic had better be as good as this one!"

This debate is just the sort of rat-hole large groups of geeks love to spelunk. Who really cares whether Flash is Ajax or not? The page will work just as well if we call it Ajax as it will if we don't. I do think, though, that the move towards Ajax web applications will crowd out some uses of Flash -- were I in Kevin's shoes, I would view Ajax as a competitor, one that I'd want to co-opt.

For a few years after Java's announcement in 1995, "dynamic" web applications usually found a home in Java applets -- not that there were so many such applications overall, but where they did exist, Java was often the platform of choice. In the past five years, though, Flash gained popularity as a way of embedding dynamic elements within a web application, and compared to Java, it was a much-improved experience (faster load times, wider platform support, and much more consistency across platforms). Of course, we still haven't seen a great desktop-style app in Flash, and I suspect that at this point we won't. (I have to wonder, in fact -- is Flickr the most-used application ever in Flash, apart from animated ads or standalone movies such as those from JibJab?)

The Ajax model makes Flash (and Java, and ActiveX) unnecessary for some kinds of interface models. When I first wanted to make, say, a dynamically updating table, Java was the only choice; later, Flash was a much more pleasing choice. Now, Ajax/JavaScript offers a number of advantages over Flash: faster load time, consistent interface with the rest of the browser, a standard/free HTTP server backend, and broader development tool support. These advantages and others must be significant -- Google Maps could have been done years ago in Flash, but for whatever reason it wasn't. What I think will happen is that Ajax will be a "worse is better" solution compared to Flash -- that is, it will cover most of the functionality most of the people would want from Flash, and do it messier but easier. Why would I ever do a dynamic table in Flash now?

As I say, Flash has blossomed in other niches, particularly in the worlds of advertising and rich media. The advertising niche is unfortunate for Flash, since tools like FlashBlock remove Flash from pages in order to get rid of annoying ads. On the other hand, Evan Williams made the counterpoint while demoing Odeo -- how would you make a Podcasting application in JavaScript? You wouldn't, so they've used Flash in their development. Eric from Flickr also talked about how easy it was to deploy across platforms with Flash, and how hard it has been to get cross-platform support right for the same features in JavaScript.

Kevin is right to try to position Flash as a useful extension tool for Ajax applications, and there are definitely times where that model will be very useful. I'm glad he was at the summit and advocating for his technology; I think the discussion would have been one-sided otherwise. In the long run, though, I think the rise of Ajax will cause Flash to specialize in media more and more. The JibJabs, Flickrs, and Odeos of the world -- as well as the advertisers, alas -- will continue to use Flash until something better comes along. For the rest, though, Ajax will probably knock Flash aside.

(Disclosure: Tim is on the board of Macromedia, but I haven't talked to him about this topic at all.)

tags:   | comments: 20   | Sphere It

Previous  |  Next

0 TrackBacks

TrackBack URL for this entry:

Comments: 20

  Michael Bernstein [05.12.05 05:22 PM]

"Of course, we still haven't seen a great desktop-style app in Flash"

There are several. The one that immediately comes to mind is gush:

  Brent Ashley [05.12.05 05:51 PM]

Thanks for documenting this, which was perhaps some of the best debate of the two days.

In my brief summary of the summit, I've included the diagram I introduced near the end of the discussion. I think that upon considering an atomic breakdown of the generic elements of Ajax-style apps, it's much clearer that Flash has a definite role in providing tools that we can use to fill in the blanks towards providing full-stack solutions.

  Eric Costello [05.13.05 05:58 AM]

I take issue with the notion that I "knocked" Flash... I thought in fact that I was a wee bit overzealous in my defense of Flash as a valid tool for Ajax applications. In any case, Flickr's change on photo pages is not so much from Flash to Ajax as from Flash to DHTML. And we still feature many Flash apps on the site, most notably the Organizr.

I knew we should have talked about Flash a bit more at the summit :)

  Kevin Langdon [05.13.05 08:38 AM]

"I have to wonder, in fact -- is Flickr the most-used application ever in Flash"

There are much larger more used applications. is 100% Flash and is in the top 20 trafficed sites on the Internet.

  Marc Hedlund [05.13.05 09:15 AM]

Eric, my apologies for the mischaracterization. I do think that Flash took some knocks from the crowd in general, and that Flickr's move away from it called out some of its limitations (load time particularly).

Kevin and Michael, thanks for the examples. While I didn't say this, my thought was that I haven't seen a very widely-used consumer application written in Flash -- something on the order of Google Maps or the like -- other than Flickr. It sounds like the Comcast app is a candidate; are there any others?

Finally, the trackback from has a great set of comments on this -- definitely go check it out.

  Marc Hedlund [05.13.05 09:59 AM]

Also, Caterina from Flickr talks about the Flash-to-Ajax move on their blog this morning.

  nig [05.13.05 07:18 PM]

A great desktop-style app in Flash, Breeze Meeting :

This is just the demo, of course, but the app itself is also Flash (in fact our Multimedia guys ripped a bunch of our source code to make the demo).

This app competes with MS Live Meeting and WebEx in the web conferencing space. Doesn't get much more real than that :). Ping me if you want to see the app some time.

  John Dowdell [05.16.05 03:35 PM]

Marc, if you're seeking particular types of applications which use the Macromedia Flash Player as the local rendering engine, then many have been collected in the Macromedia Showcase:

You can filter by industry, application type, or technology, or can search among these one-a-day highlights too. The write-ups tend to focus more on the needs an application servers, rather than the means it follows to serve that need, but that Showcase is a good way to track many excellent Rich Internet Applications over the last few years.


  Jouk [05.17.05 12:02 PM]

Backbase website contains several AJAX demo's. Including the Backbase Bank Locator. This might be a usefull example of combining AJAX and Flash.

  timbob [05.18.05 05:34 AM]

No app-like Flash? What about ICQ2GO?

  kevin [05.29.05 10:18 AM]

"Serious rocket science". Check out a very mature AJAX product at Jon Udell's weblog. TIBCO's General Interface product is a robust AJAX platform. The product even has a robust visual AJAX authroing environment for making AJAX applications that is iself an AJAX application running in the browser. Check it out.

  Scott Fingerhut [06.10.05 10:44 PM]

You may have seen InfoWorld columnist Jon Udell’s blog and recording of the AJAX tool called General Interface. Here’s the link:

In case you are interested, we (TIBCO) are hosting a free-to-attend AJAX/RIA webinar with the leading Gartner analyst covering rich internet applications. We will also be showing a demonstration and have an opportunity to answer attendees direct questions. Here's the link to register:

  sajid [04.23.06 12:10 PM]

Another great Flash based Web 2.0 application is

  LazyJim [06.07.06 02:08 AM]

How's SVG development going? That will have tight JavaScript integration!

  Paulius Uza [06.27.06 03:20 AM]

The war between AJAX and Flash is OVER. Dot. Check out SwfJax. Dot.

Product page:

  MrMagoo [06.30.06 12:38 PM]

If Google and the rest of those really great search engines can't read my content then I guess me and all my friends will have the coolest "secret" web content around. Free Flash decoder rings for everyone!!!

  ajaxer [11.16.06 06:51 AM]

flash is better to access the user's machine, ajax is better for users web browser. Just like vs

  ajaxer [11.16.06 06:52 AM]

sorry, misspelling.flash is better to access the user's machine, ajax is better for users web browser. Just like vs

  Andrew Shebanow [11.16.06 05:16 PM]

Another good flash application: the new Yahoo Maps, no longer in beta. That site gets plenty of traffic, right?

  Peter [05.12.07 02:30 PM]

Google is into Flash + AJAX too where it makes sense. Check and search for a symbol like GOOG or MSFT. You will realize that the dynamic Flash graph is dynamically linked to the dynamic table of news.

Post A Comment:

 (please be patient, comments may take awhile to post)

Type the characters you see in the picture above.