The following is an interview conducted between Michael Smith and Charlie Arehart, independent consultant and frequent contributor to the CF community, regarding Charlie's thoughts and opinions on the newly released ColdFusion 8.
Michael Smith: We have heard that ColdFusion 8's new features focus on three areas: developer productivity, integration with external environments and technologies, and rich Internet experience. What are some of the other cool new features in ColdFusion 8?
Charlie Arehart: Well, as with most releases, there are lots more features than are often publicized. It's understandable: Adobe needs to pick the key points that would motivate new sales, but fortunately there are many, MANY new features that are purely developer focused. And while many of them have been talked about a lot in blogs and such, I think people would be surprised to learn still more. In fact, a couple of months ago I started doing a "Hidden Gems in CF8" talk at various user groups. I can't possibly repeat here all the little surprises I found. I'll be offering it at the upcoming CFUnited Express in Chicago http://express.cfunited.com/go/chicago/2007/, the day before MAX. Folks can also view older presentations via my site, http://www.carehart.org/presentations/
MS: ColdFusion has always been seen as a great language for data interaction, but not so much for designing great-looking front end user interfaces. What do you think of that?
CA: Well, it's not that CF didn't try. There were UI elements in earlier releases. They just weren't very effective (whether the Java or, to a lesser extent, Flash features). More important, CF didn't stop you from creating great-looking end user interfaces. You just had to do a lot of work yourself, such as to build Ajax-style interfaces. The beauty of CF8 is that it provides so much now for you to build such features automatically, with very little code. This isn't even among the things I consider "hidden gems", since many have written about it. While the autosuggest feature (of CFINPUT) gets a lot of play, I can't stress enough the power and ease of the new HTML-based CFGRID. It's just NOT the "your father's CFGRID". :-) There's lots more (CFLAYOUT, CFWINDOW, CFPOD, and more). Besides the Adobe resources on the topic, you can find lots of coverage of these things (with examples) at the sites of bloggers like Ray Camden (http://www.coldfusionjedi.com/), Ben Nadel (http://www.bennadel.com/) and of course Ben Forta (http://www.forta.com/blog/), to name just a few.
MS: What are your thoughts on the ability of CF8 to make dynamic presentations?
CA: I assume you mean the new CFPRESENTATION tag, right? With it, you can create Adobe Connect presentations on the fly, including their being driven by CFML-generated data. I think that's one that a lot of people are not noticing. This happens in each release. With all the noise about some key first- and second-tier features (not to mention all the hidden gems), there are some features that go unnoticed. As with this tag, some features solve a problem that perhaps is not yet widely observed by people. That doesn't mean it's not useful. Just that they'll need time to learn to appreciate it. It's really pretty intriguing and could be kind of paradigm-shifting, akin to how CF made dynamic HTML so easy. Of course, not everyone sees the need for Connect presentations now, but time may change that. It could be compelling for presenting information on demand in a new form.
MS: How would you rate the debugging features in Enterprise?
CA: Well, many will know that I have been a big proponent of interactive step debugging CFML. I fought for it remaining in CFMX (it was in CF 4 and 5 and we lost it in 6), and when FusionDebug came out last year I was a big fan, and still am. So now CF8 includes its own debugger. For those who've not tried one at all, it's great to finally have one for free. Note that it only works on CF8. You cannot use it in CF7. That's where FusionDebug still has value, as it works in 6, 7, and 8. There are also some minor differences between the two. But really they are a lot more alike than not. They're both Eclipse plug-ins. As I said while evangelizing FusionDebug, the same must be said about the CF8 debugger: don't worry if you prefer Dreamweaver or HomeSite+ (or some other editor). You don't really HAVE to switch to using Eclipse (or CFEclipse). You can just use it with the least you need to know to do debugging. The CF docs (the Developer's Guide) has a chapter on it. and again I did a talk on both CF8 and the FusionDebug debuggers at CFUnited. That presentation is available on the CFUnited site. .
MS: And what do you think of the new monitoring feature?
CA: There again, some will know that I've spoken previously on the 3rd party tools, SeeFusion and FusionReactor. So I can't help but contrast the new CF8 monitor to those. First, I want to clarify again that the CF8 monitor works only with CF8. You can't use it to monitor CF7. Also, it is an Enterprise-only feature. You can't use it with the Standard edition. But here's great news: you CAN use it with the free Developer edition, and to be honest, for many people that will be where they use it more than even in production. I know that may seem a little counter-intuitive: isn't a monitor tool meant to monitor production? It certainly can, but there's great value in using the tool(s) in development, to help you isolate and resolve problems before they even get to production. I'll say that this too is a topic on which I've done a lot more writing. I have a 4-part series coming to the Adobe Developer Center. Part 1 is already posted (http://www.adobe.com/devnet/coldfusion/articles/monitoring_pt1.html), and its focus is indeed using the monitor in development. The latter parts will focus on using it in production, including the multi-server monitor as well as the alerts and snapshots features. I want to say as well that a common misconception is that the monitor "must incur a lot of overhead". That doesn't need to be true. As I discuss in an article-length blog entry series (http://carehart.org/blog/client/index.cfm/2007/6/15/cf8_hiddengem_monitoring_incredibleinfo, there is an incredible amount of info you can get with zero overhead. I know many won't believe it. Do check out the resources above.
MS: You've mentioned FusionDebug and FusionReactor (and SeeFusion). What's their future?
CA: This is a very common question, and the natural conclusion many make is that CF8 must be a death knell for those tools. I mean, why would anyone pay for what's included for free? But let me remind you: the CF8 tools work only with CF8. How many of us are still running on CF7, or 6 (or even 5 or 4)? Since these 3rd party tools all run on 6 through 8, they will have great value and a large market for a long time. Of course, since the CF8 monitor is in Enterprise only, that's another point in the favor of the 3rd parties. More important, note that CF8's monitor is really built atop the Admin API, which means that the 3rd parties could add the same info into their interfaces. Just as the 3rd party CFML engines are leading to innovation in CFML that we are seeing folded into CF (and vice-versa), I'd argue that we will see the same in monitoring and debugging. I'm still quite enthusiastic about all the tools in this space, and in fact I wrote a longer article-length blog entry to address this question:http://carehart.org/blog/client/index.cfm/2007/5/23/scorpio_debugger_monitor_and_the_other_vendors
MS: Any thoughts on the new CF8 Administrator?
CA: I suppose you may be asking me about this because I'd done a talk at CFUnited on the CF Administrator. It was a boot camp introduction to the Admin. I really didn't focus too much on what was new in CF8, since we had to get the presentations in well before CF8 was even released in beta (In fact, I only added discussion of the CF8 debugger to my talk on FusionDebug when Adobe asked me to speak on it as they planned to release CF8 topics at the event.). Anyway, I can share what's changed, as I've done an article-length blog entry on what was new in the CF8 admin: http://carehart.org/blog/client/index.cfm/2007/7/3/cf8_admin_changes. But at a minimum, here, I'd like to point out that a significant change (again returning something we had in CF5) is the ability to allow individual users to be granted access to the Admin (and also the RDS feature). Folks should definitely check that out, as often there may be value in letting one or more developers have some limited access to the Admin, such as to manage datasources, mappings, etc. Again, this is discussed in the CF docs (in this case, the Configuring and Administering ColdFusion manual). All the CF 8 manuals are available online at http://www.adobe.com/support/documentation/en/coldfusion/, which points to both the PDF and livedocs forms of documentation. If anyone had trouble with the CF8 docs early on, those problems have been solved, as I wrote about in an entry at http://carehart.org/blog/client/index.cfm/2007/8/3/cf8_livedocs_working_commenting_and_more.
MS: Are there any more features worth mentioning?
CA: Well goodness yes. There's a great list at: http://www.adobe.com/products/coldfusion/features, and most of those listed there have another page with still more detail on each feature.
MS: I will look forward to learning more at your CFUNITED/Express talk Hidden Gems in CF8.
I hope folks will indeed come see that and more at the event, many of which are topics (like mine) that were not offered at the CFUnited conference in June (and are not being offered at Max, either). Folks can learn more at http://express.cfunited.com/go/chicago/2007/ See you then.