Monday, July 16, 2007

The AJAX vs Flex fight continues

Over at Schematic, there is a wonderful summarization how Forrester missed the mark when comparing AJAX and Flex. I won't bother summarizing it here. You should read it for yourself.

As a designer/developer having built large scale Enterprise web applications using both AJAX and Flex, I have to stand up and whole-heartedly agree with Schematic. I guess the folks over at Forrester have never actually built an AJAX application and had to deal with browser compatibility issues, memory leaks and the obvious sub-optimal UI you end up with in the end.

While much of the Forrester report seems to be incorrect, I have to disagree most with the statement that AJAX is faster to develop and easier to learn. I have had the opportunity to build the same application as both an AJAX and a Flex application and I can say without a doubt that the Flex version took about 40% less time to develop, has a much better UI and works seamlessly on multiple browsers and platforms. When we made the decision to build it in Flex we had very little experience with Flex as most of our previous applications were all AJAX. Yet, it was still faster to develop in Flex.

In my opinion, if you are building or rebuilding a new application, as opposed to enhancing an existing one, Flex or Silverlight are the obvious choices. OpenLaszlo is out there too, though I have not seen a compelling reason to choose it over the now OpenSource Flex. Now, before someone comments with "OpenLaszlo can generate DHTML" let me say, that generating DHTML seems to be something like Un-alchemy where you turn Gold into Lead. While Silverlight looks promising, Flex is a few laps ahead in the RIA race.


Raju Bitter said...

Well, here are a few reasons for OpenLaszlo:

1) You can run the apps with Flash 7,8 and 9 (we actually have people switching from Flex to OpenLaszlo just because the relatively low adoption rate of Flash 9!!)

2) If you don't want to fight with browser incompatibilities for Ajax, why not use OpenLaszlo? We have some of the cleanest JavaScript code generated, compared to other Ajax toolkit. If we say "DHTML", that means Ajax!

3) We reach over 40 million people monthly in the US only with OpenLaszlo technology (

Here's a quote from Dave Devollo ( on OpenLaszlo: "We chose Laszlo over its competitors for the maturity of OpenLaszlo’s development environment and the company’s commitment to our success. Our job search application is among the most attractive features on today, and given its importance to our core business, we wouldn’t have trusted any other partner to help us get it right."

And Tom Conrad, CTO of Pandora radio on OpenLaszlo: "Our just-now-launched music discovery service, Pandora, is an OpenLaszlo application. It wouldn’t be fair to finish up our launch without a tip of the hat to the amazing Laszlo team and open source community.

Eight months ago when we sat down to figure out how were were going to deliver a compelling zero-install discovery and listening experience across Windows, Mac, and Linux in record time we considered everything you can imagine: plain old HTML, AJAX, Flex, OpenLaszlo to name just a few. In the end, Laszlo was the clear winner on all fronts. Mature, reliable, and the perfect tool for the job. This outcome was only remarkable in that the decision was made by some of the most capable AJAX developers on the planet."

I could add some more quotes, but this should be sufficient.

Best regards,

Rob McKeown said...

Given the increased speed of Flash Player 9 plus the relatively HIGH adoptions in mature markets (approaching 85% back in March), the "runs on earlier versions of flash player" argument doesn't sway me.

As for AJAX (yes I know that is the same as DHTML), having been done in the weeds building AJAX apps, I understand how difficult it is to make things cross browser and perform well. While the folks at OpenLaszlo may be confident in the AJAX they generate, I have seen many developers, managers and clients start to be less confident in AJAX in general. Most of the time this is due to a prior bad experience with regard to performance or development time/costs.

As for having reached 40 million people and the quotes from satisfied customers, I don't doubt that OpenLaszlo is a great technology and that you can build great things with it. I use Pandora all the time. In fact, I was "Pro-OpenLaszlo" for a long time. However, the main draw was that it was a free open source equivalent to Flex not a superior choice. And with Flex open sourced and free (mostly), I don't see the draw anymore.

Raju Bitter said...

Yes, the 85% is a good number, if your customers are in that group of up-to-date internet users. I've heard numbers being reported at around 70% by customers.

We'll eventually have Flash9 bytecode generation for OpenLaszlo, going somewhere into the direction of early 2008.

And my experience from conferences, web developers and consumer electronic companies is a very different one. Go to an event called Mobile Monday (mobile industry meet-ups) and ask them about Flash. I bet 90% will tell you: we don't care about Flash, give us Ajax.


Rob McKeown said...

The mobile arena is one in which I haven't gotten involved. I focus mostly on web-based and desktop applications. So I can't really speak to it. I imagine building apps for mobile devices presents a lot challenges beyond just the technology choice, especially with regard to User Experience.

Glad to to hear you, OpenLaszlo that is, is staying in the game. Competition is always a good thing. The more choices the better.

Anonymous said...

quote on : "relatively low adoption rate of Flash 9!!"

loool, may I ask what is the reason you are concluding there is relatively "slow adoption" for flash 9, is there any specific reason? or maybe because flash player 9 is lot faster than previous versions?
or maybe it is something that you would like to believe to have a self-convincing reason to believe that openLaszlo still has a chance,
openlaszlo had a chance before untill they started to go into direction that flax departed from,