Welcome!

Simon Horwith

Subscribe to Simon Horwith: eMailAlertsEmail Alerts
Get Simon Horwith via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: RIA Developer's Journal, ColdFusion on Ulitzer

RIA & Ajax: Article

CFDJ Editorial — Good 'ol CF" and the New Frontier

Web is a frequently changing landscape

Let's face it, the web is a frequently changing landscape - more so now than it has been since its inception. When the term "Web 2.0" first set the industry on fire, I have to admit, I was not terribly excited.

The idea, after all, is based by and large on the idea of applications being, well, like the kinds of applications that Macromedia had already been talking about and showing us for about four years... since the release of Flash MX and the term "RIA" was coined. Still, I did think it was great that the industry as a whole was finally on the same page about the importance of delivering great user experiences and about how that will be achieved, though, as far as implementation technology goes, AJAX (not Flash) received all the industry attention.

Whether they want to spin it this way or not, the reality is that Flash 9 and the Flex 2 platform/product suite is Adobe's answer to AJAX. Though it'd be fair to say that Flex 2 competes with AJAX, it's also fair to say that the two technologies simply complement each other very well. Adobe has made it clear that they think AJAX is neat and that they are in no way trying to compete with it; and to compare Flex 2 with AJAX is like comparing apples with oranges... Flex 2 is an entirely different beast and is way out of the league of AJAX. I agree with this line of thought: Flex 2 offers significant performance benefits, a true rapid development environment, visual effects, widgets, and other features, and platform ambiguity... all out of the box. The same cannot be said for AJAX.

Getting back to discussing industry trends in general, there has been a recent trend in online software services and social networking applications. The MySpace phenomenon is the best known example of social networking online - users create their own page (their own 'space' on the Web) and via that page are able to interact with and link to their other MySpace 'friends'. Many other social networking sites sprang up - based on sharing photos, videos, etc., with "friends". In addition to social networking, web apps that are focused on user convenience and productivity have also been gaining in popularity. By "convenience" I mean that the software is centralized (on the Web) and accessible from anywhere, is free, and runs in a browser with nothing more to install. Examples of this type of software include Gmail and Google Calendar.

We are now on the cusp of realizing a whole new Web. The ability to create more intelligent, functional, and better looking Web applications (RIAs) using Flex and/or AJAX, coupled with the popularity of online social networking applications, means a new type of experience for people who use the Web... no, for people who use computers. For business users and developers, this includes not just socially aware applications but a whole new class of online collaboration services as well. Another category of Web applications radically changing are search engines.

Here are just a few examples of these types of Web applications that should give you a good idea of what's coming:

  • Live Plasma (http://www.liveplasma.com/) - a visual search engine for music/video information... with a slick Flash UI
  • Krugle (http://www.krugle.com/) - we've all used Google to look for code or tech advice - this search engine is devoted to just that. Yes, a search engine for programmers!
  • Vyew (http://www.vyew.com/content/) - what's that in the sky? It's a WebEx, it's Breeze, no, wait... it's Vyew. Yes - free online collaboration and presenting much like what you get with a product like Breeze.
  • Dabble DB (http://www.dabbledb.com/) - this site, like many of the next generation apps I've been watching, is still in beta, but it's soon to go "V 1". Dabble DB offers an easy to use interface to online databases that users can create or import to their servers. It's very robust, data can be shared or extracted (as PDF, RSS, and many other formats), and includes not just standard AJAX data views but also calendar views of your online data.
So what does all of this have to do with ColdFusion? Well, nothing and everything. The bulk of these applications are developed using client side technologies, and we all know that ColdFusion is a server-side programming environment. But CF is still an environment for developing dynamic Web applications, and many of these next generation Web applications, especially the more robust web apps, do still require some server side component. I've written in the past about the fact that CF serves an important role in intelligent client side apps by offering database access and other functionality as part of a services tier... but is that all CF will be reduced to in the future?

With much optimism and enthusiasm I say, "no". The ColdFusion server team is now aggressively working on the next major release of CF - currently code named "Scorpio." While many of the features have yet to be decided or publicly announced, it is clear that the CF Team has no intention of "laying down". At CFUnited, the premier CF annual event held last month in Washington, DC, two cool features were shown during the opening keynote. One was the ability to create online presentations (rendering as Flash) dynamically using a few simple CF tags - think of it kind of like a merger between CF and Breeze (though that's a very general statement to make). The other was the ability to render, manipulate, and access data within PDF Forms... yet another new feature that will make ColdFusion an integral part of how companies do business on the Web.

While those two new possible features (I say "possible" because until the final release of the product, everything's open to change) don't necessarily have anything to do with creating the types of next generation web applications I discussed earlier, other features certainly may. ColdFusion MX 7.02, the free upgrade formerly code named "Mystic," added terrific support for Flex 2. Coupled with the Flex Builder 2 CF wizards, the current version of CF and FB2 make it easier than ever to supply data and services to Flash applications via CF. This is more than just Flash Remoting, though CF MX 7.02 does have a new Flash Gateway that supports the AMF 2 protocol. The CF Wizards make Flex/CF application development ridiculously fast and easy, and, being a guy who typically likes to write everything manually, are the first wizards I've seen in any CF-related product that I not only enjoy but find extremely useful (yes, they also generate really decent code). The new features in CF also includes a gateway for pushing content to Flex 2 and the ability to integrate CF and Flex Data Services. Flex Data Services, among other things, makes it very easy to coordinate data persistence on the server by controlling who can access and modify data at the record level. It also allows content pushes to Flex applications - another very useful feature that AJAX doesn't nativly support but that would be extremely useful if one were, say, building a social networking application.;)

I didn't want to talk about next generation Web applications and CF just to point out the strength of Flex and the new hooks for integrating and communicating between the two. Not too long ago, Damon Cooper blogged about a new feature that one of his server team members prototyped for CF 8 (the feature is an enhancement to give more programmatic control over asynchronous threading). After reading that, and knowing that the server team is currently hard at work coming up with features for the next release, I decided to post an "open letter to the CF Server Team" entry on my blog in which I listed many of the new features that I would like to see in CF 8. This caused a kind of chain reaction in the CF blog community and to date, dozens of bloggers have also let the CF Server Team know what they'd like to see in the next release. Yes, Damon and his crew have been commenting on the blogs and letting the community know that they're paying a lot of attention.

This type of feedback will help ensure that going forward, each next release of CF will have the features that we, the CF development community, needs in order to meet the demands of a rapidly changing Web and the day-to-day demands in our respective office environments. If you don't already have a blog, you can get one at any number of places, including from sys-con at http://www.blog-n-play.com/. I'll conclude my editorial this month with a simple question - one that you can now go blog about immediately... "What would you like to see in ColdFusion 8?"

More Stories By Simon Horwith

Simon Horwith is the CIO at AboutWeb, LLC, a Washington, DC based company specializing in staff augmentation, consulting, and training. Simon is a Macromedia Certified Master Instructor and is a member of Team Macromedia. He has been using ColdFusion since version 1.5 and specializes in ColdFusion application architecture, including architecting applications that integrate with Java, Flash, Flex, and a myriad of other technologies. In addition to presenting at CFUGs and conferences around the world, he has also been a contributing author of several books and technical papers.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Steve Larsen 08/25/06 09:27:48 PM EDT

Simon,

Thanks so much for noticing and mentioning what we're doing at Krugle. Most appreciated. To stay in touch, check our blog: http://blog.krugle.com/

Steve Larsen
Co-founder and CEO
Krugle