Wednesday, August 03, 2005

The Perfect RIA Storm

For those of you not familiar with the movie, The Perfect Storm, the primary plot device centers around the conflux of seemingly random weather events to create a storm at sea of unimanginable proprotions.

I think this might be a good anaology of what we're about to see in the RIA (Rich Internet Application) space. We've been hearing about the virtues of RIAs all the way back to Flash 5. It was the first Flash release that let us do a little programming in there to do something other than just annoying intro screens. (See the link to the movie above as a prime example) Since then, each successive release of Flash has given us dramatic improvements in coding capability while at the same time having us suffer through ActionScript's early growing pains.

Now that ActionScript2 has been around for a while and is based on an ecma standard, I don't think we will see radical changes to Flash's programming language. Most likely, we will see refinements and improvements to the language as the product moves forward, allowing developers to increase their skills as the language matures. Personally, I'd really like to see a regular expression object added to the language, but that has as much to do with the player as the authoring environment. I've got my fingers crossed, but I'm not holding my breath.

The ColdFusion community is getting more and more comfortable with the (relatively) new component architecture introduced with cfmx6. While many cf devs are struggling to push the component architecture into MVC (model-view-controller) development frameworks to deliver traditional web applications, little do they realize they are building the development skills that will be necessary to supply RIAs with an integration layer. OK, most of them DO realize it, they just have a job to do that doesn't let them focus on RIAs yet. The best part is, it will be a very short mental leap to move from an MVC based framework to an RIA. Basically, the view
gets replaced with the new technology and you are able to push a lot more funtionality to the client that currently requires a trip to the server.

It's too bad MM hasn't been able to synchronize the releases of Flash and the Flash Player with updates to the Flash Remoting included in CF. Maybe they will in the next release. Currently, CF, in my mind, is the technology of choice for supplying RIAs with data. It's possible that the next release of Flex may change that.

We can't forget about Flex, either. While I haven't done a lot of work with Flex yet, the work that I have done was in copying an application that I built in Flash. Let me just say that the increases in productivity are dramatic. On the order of 10 times faster as long as you don't require custom flash work in your app. With Mike Chamber's recent announcement that the next release of the Flex authoring tool will be able to compile it's files that can be deployed without the Flex server, a LOT more developers are going to have the chance to take a look at Flex's mxml language.

I'm really looking forward to seeing what gets incorporated into the next release of Flex. I would not be suprised if we get the ability to set up data persistance objects using server-side actionScript. This could be truly amazing if we are able to create data bindings that chain all the way back to your database. You would be able to build internet applications that would "feel" like you were editing data directly in your data store. This is purely speculation on my part, I have no knowledge of anything going on inside MM, but with the work being done with Hibernate, I can easily imagine something like this getting leveraged by the product.

There is a lot of buzz right now about AJAX. Gmail being the app that really brought it home for me. They also have some extremely interesting work in Google Maps. Both are applications that have broad, popular exposure. There are going to be a lot more web citizens beginning to expect this type of web experience. Personally, I think that Flex and Flash based RIAs kick AJAX based RIA's butts. Unfortunately for developers that aren't exposed to the Macromedia RIA technologies, AJAX is all they have to work with. Right now, I don't know any developers that I think would be up to pulling off anything other than the most basic AJAX applications.

Microsoft is working on the only commercial competitor to flash that I have found. From what I've read so far, it's still a year away before a release and will probably require a computer upgrade in order to run. Currently, it requires a 30+meg download for WinXPSP2 users or an upgrade to Windows Vista. Mac and *nix users need not apply. Compared to the lightweight and ubiquitous Flash Player, it almost seems like a non-starter. I imagine that eventually, MS will push the technology into use for rendering desktop apps which will force adoption for some. It wouldn't suprise me if the consumer adoption of Windows Vista is even slower than WinXP.

Because of all of these events and the definition of the Flash Platform, I think we could be looking at the formation of a Perfect RIA Storm. It's still just a forecast at this point, but there are definitely some signs. Worst case scenario, Flash based RIAs dissappear like mist on the wind, displaced by AJAX, Vista and The Next Big Thing. Best case scenario, we see an explosion of RIAs that changes the nature of what people expect to see in a web application.

Personally, I'm hoping for the latter.

No comments:

Post a Comment