The upcoming launch of Macromedia's Flex Builder development tool is a timely reminder that the AJAX crowd didn't invent the idea of Rich Internet Applications (RIAs). Flex redeems Macromedia's ubiquitous Flash browser plug-in, which earned notoriety as the originator of all those useless and highly annoying 'skip intro' pages built by clueless Web 1.0 website designers. It brings Flash into the Web 2.0 era, turning it into a presentation layer for accessing back-end server resources, including web services.
Why would anyone need something like Flex, now that we have AJAX? Although AJAX is good at getting information from the server and presenting it on the client, it has very limited client support for graphics. Whereas Flash is so good at presenting graphics that it's been abused for that purpose for most of its existence. But in the hands of a good on-demand application developer, Flash is an excellent vehicle for turning data into easily interpreted graphical information. This type of treatment can turn around an application from one that's clunky and unintuitive into one that's a joy to use.
Another RIA platform worth noting is DreamFactory, which is purpose-designed to build rich clients for on-demand applications built with XML and web services. The most popular application produced so far for Salesforce.com's AppForce platform is DreamFactory's DreamTeam, which uses the capabilities of its RIA plug-in to create a feature-rich and user-friendly teamwork automation package.
I asked DreamFactory's CTO Bill Appleton a couple of weeks ago whether he was at all fazed by the advent of AJAX, and here's what he told me:
"If you look at the number of moving pieces in an AJAX application, once you get beyond about a hundred, it gets very complex. With DreamFactory it's very easy to develop an application with fifty to sixty thousand moving pieces."
Maybe that delta will narrow as AJAX toolkits become more sophisticated, but it's going to be interesting to watch this battle play out over the next year or so. All the buzz about AJAX may help to reinvigorate interest in existing RIA platforms like Flex and DreamFactory, and who knows which one will turn out to be the most widely used in the end?
One thing is certain: the days of when people dismissed Internet clients as hopelessly inferior to native Windows clients are past. Everyone now understands that very sophisticated application functionality can be hosted in the browser, using its native capabilities plus some downloaded code. Applications should no longer be thought of as having a single runtime location: the Web allows them to execute co-operatively in real-time on the client and one or more servers. "It's almost a new class of applications that's fully on-demand and fully leverages the desktop," Bill Appleton told me. "We're really using both ends of this pipeline very effectively."