Kay lives here

working with the web

ColdFusion 8 – what’s all the fuss about?

The answer to that question is, of course: a lot.

There’s been much coverage elsewhere, and I have bookmarked a veritable ton of blog posts exploring this new feature and that new feature. It certainly sounds like the Adobe engineers have been busy implementing a great number of little things that altogether, make for a great release.

It’s now in public beta, but I’m waiting for a free CF8 beta hosting account from FastHit in order to try it out, rather than messing around with virtual machines and what have you.

There are a few features that are of particular interest to me:

  1. Image manipulation with a built in CFIMAGE tagMy partner Dave wrote a CFX tag in Delphi for manipulating images back in CF4.5 days. It served our needs well, even after the release of CFMX, when the ability to call Java libraries made native image manipulation a possibility.

    The reason I stuck with the CFX was quality – the built in image resizing, at it’s most basic level, looked horrible (no smoothing) and didn’t have great compression rates. Later, other developers released CFCs that called more complex Java methods and referenced other libraries, and they were much better – some free, some commercial.

    However, a built-in image manipulation tag is something that a lot of developers have been requesting for a long time, and it seems Adobe has decided to listen. Possibly, the fact that ColdFusion engine competitor BlueDragon has a CFIMAGE tag was a factor. It will be very interesting to see what the quality and compression of CFIMAGE is like compared to the third party tools available – given that this is Adobe we are talking about, I’m sure it will be very, very good. Also whether the tag’s attributes match what BlueDragon has implemented.

  2. Native Ajax widgets and JSONAutomatically generated Ajax terrifies me. Traditionally, any kind of automatically generated code has sucked – CFFORM, anyone? – and given the usability and accessibility difficulties Ajax techniques have to start with, I can easily image developers digging themselves a massive pit with tools given to them by CF8, from which there is no easy escape.

    Maybe that sounds a little dramatic. I’ve become a convert to the Hijax techniques advocated by Jeremy Keith in Bulletproof Ajax, a most excellent book. Essentially, the idea is you build an application that works in the traditional page refresh manner, and then add a behaviour layer that “hijacks” your normal requests and replaces them with XMLHTTPRequest calls. That’s the technique we used for the “My Festival Planner” on the Perth International Arts Festival 2007 site, and it works beautifully. I don’t know whether that kind of approach would be possible with CF8’s built in Ajax widgets. It’s something I intend to explore further.

    Oh, and native functions to read and write JSON-formatted data will be really useful too.

  3. Improved PDF integrationI’m hoping for PDF forms here. Not that I have a use for them currently, but have had in the past and will no doubt have again in the future.

There are some other features that are noteworthy, but which I won’t get to use myself:

  1. Reporting ImprovementsAs some readers may know, I used to be the Reporting queen – however I haven’t had a need to use CF integrated reporting for some time. I was highly critical of Reporting when it was first released, but fortunately most of my concerns were addressed in the 7.0.2 update. I understand that there are new enhancements and further fixes to reporting in CF8, but I don’t have a really demanding reporting project to try them out on.
  2. Debugging with EclipseI can see that some people are excited about this. I used to use debugging back in CF4 days with ColdFusion Studio, so I understand it’s pretty cool. However, I simply can’t bring myself to use Eclipse as an IDE. I’m just… I don’t know… allergic to Java interfaces? Obviously I’m in the minority (although I do know some other developers who can’t stand Eclipse either) and Adobe no longer consider Dreamweaver their ColdFusion IDE or the support might have been in there.

Of course, there are countless other features that are new or improved that I’m not mentioning. The administrative interface and API in particular have been improved a great deal, and I hear that performance has received a boost too.

So much to discover! I’m really excited about this release. I’d love to know, what’s your top feature?

5 Comments

  1. Yeah it is good. Awesome really. But still only Release Candidate so if you find any issues let Adobe know so they can be addressed.

  2. I asked about the AJAX issue at WebDU, I got a very blank stare and few, “what is Progressive Enhancement?” looks. Senior people in Adobe telling me it was not possible to do this with Javascript. The usual sales brush off. Finally I get the truth outside in a one to one. No its not unobtrusive at all, especially the Dreamweaver ColdFusion 8 hooks. But it is very modularised so it can be “enhanced” I’m looking forward to ColdFusion 8 too, just need to find a host and a project to use it on.

  3. I don’t know much about CF but I feel the same way about Java interfaces. With one exception though: Adobe’s use of Eclipse as a Flex 2 IDE. I’ve been Flexing-it-up for a while now and while it’s true that Eclipse guzzles memory, I’ve found it to be a stable and invaluable tool (on a meaty system that can handle it). The debugger is particularly useful.

    I don’t know how or how well Adobe’ll implement it for use with CF but they seem to be quite keen on Eclipse lately. It seems to be a key component for bringing together many of their different web techs.

    It’s all very interesting over in the Adobe camp these days I think. With Apollo, Flex/Flash, CF, the whole design suite… they’ve got all angles of the industry nailed. Apollo in particular really excites me… on many levels that has the potential to take on .NET and Microsoft. Who are no doubt aware of this threat and have already responded with Silverligh? Can’t wait to see how it all unfolds over the next 5 years.

  4. “Hijax” really is the best way to develop any DOM/Ajax apps. It just ensures accessibility and functionality for your app. I believe since CF8’s Ajax functionality is fairly tag-intensive, that may have been the reason that incorporating some form of progressive enhancement wasn’t viable. I asked about dynamically binding events to DOM elements and was told it wasn’t doable. But since they’re using YUI & Ext, I’m fairly confident that with some work, it can be accomplished.

    I also believe that CF8’s time constraints may have be a consideration when looking at allowing hijax-style development.

  5. Shame to hear that you are no longer the “Reporting queen”, Kay. I was about to send someone to you who was looking for a talk on Reporting as of CF8, but when I saw this entry, I realized you may not want to take up such an offer. If you do, and have gotten back into it since when you wrote this in June, please do say so.

    Or if not, can anyone recommend anyone else who’s big into the report builder? Even Dean’s blog (cfreport.org) has been silent since June, perhaps with the focus on getting 8 out the door. Anyone else?