ColdFusion Muse

Kevin Hoyt on ColdFusion 9

You may or may not know that the Muse' company, CF Webtools, sponsors the Nebraska ColdFusion User's Group (NE CFUG). Actually all the real work is done by our ColdFusion and Linux Guru, Ryan Stille who's energy keeps ColdFusion thriving here in the heartland. Last night we heard a presentation by the affable and knowledgeable (and really really tall) Kevin Hoyt. He spent about 2 hours both in presentation and chatting with us afterward. He was pretty cool and called his presentation a "slide deck" and talked about how the "newbies" put in too many "transitions". Oh you Adobe people and your fancy pants lingo. What will you think of next.

Now in the interest of full disclosure, I'm a ColdFusion zealot. I know that's not news to my regular readers, but it bears mentioning in case I slip up and say something negative. All in all the Muse has been thrilled with each release of ColdFusion and I have waited with bated (or is it baited) breath for each Beta (or is it Baita) version. When CF 8 came out I rewrote our entire tracking and project management system to take advantage of the new UI features. I'm an early adopter and a CF enthusiast. Also I should note that, although I have the beta version of CF 9, I will only be talking about what was in the presentation. Here's my take.

The Skinny

Here's the stuff I remember on which I think it is worth commenting. Obviously there was a ton of other stuff, but my brain (while enormous) is still finite.

  • PDF Text Extraction - Load up a PDF and get back XML structured data with all the text it contains. This could be really useful in several applications that we support. Now the bad news. Kevin was asked, "How does form data inside the PDF come out in the structure?" He said it was up in the air whether form data would be supported - and I got the impression that the answer would be "no". That is truly disappointing. This could have been a great solution to the off-line data collections issues that sometimes rankle developers.
  • PDF Image Extraction - Load up a PDF and it converts all the images in the file to a specific format in a specific location. Right now the image extraction just gives you a folder full of images with no meta data about the images. They need to fix that to make it really useful. Somehow I need to know where in the file the image was located before the extraction took place. Consider the scenario of extracting 30 images from a bulky PDF file into a folder. Without some additional information I really can't tell one image from another. So this might be useful for smallish PDF files with very structured image data and a small number of images, but I think it has some short comings. I also wondered aloud what the conversion process uses. What's embedded in a PDF? JPGs? GIFs? PNGs? Tiffs? Regardless of what's in there the new PDF extractor takes them all out and converts them to one type on the fly. Given some of the nuances of working with images in this sort of automated fashion, I wonder if the results will always be up to snuff. Time will tell.
  • PDF Optimization - I loved this feature. You can "scrub" a PDF and remove scripts, links, and (particularly) thumbnails - all of which can reduce the file size. This is particularly useful if you are generating PDF files for any type of data exchange and you need them to be lean and mean.
  • Full CFSCRIPT Support - I admit I am a cfscript junky. I will sometimes use cfscript when I should be using tags. So the expansion of cfscript to include (according to Kevin) all the CF tags is a plus for me (and will probably make my staff hate me). The example (which I have seen before) is a component. You can create a component in cfcsript and include functions, arguments etc - all within the component. Now I have a few questions about this approach. For one, what are the logistics? I mean, do I create a something.cfc and then use cfscript at the top and bottom and create all my functions in cfscript? Can I mix and match? As usual the devil is in the details.
  • Unified Server Manager - This is an air ap that runs as a background service and allows you to manage "all of your CF instances" on a cluster or whatever. My only comment is that this is ugly and probably a waste of good AIR programmers. What is with the grey on grey interfaces of these Air and flex applications - is everyone afraid to look like a windows ap these days? It's like the whole world has fallen into a Tim Burton film. I look at it and feel depressed and hear Pagliaccio in my head. It makes me want to poke out my eye with an ice pick. Come on guys - I know there's 2 million shades of grey, but I really only detect about 4 so add some contrast will you?
  • Bolt Script Integration - This is actually way cool. You can write CF scripts to extend Bolt. Sadly Bolt is soon be named "CF Builder" - probably by the same marketing geniuses who think grey is the new black (I like what you are doing, but I think you need more Cow Bell). The ability to extend Bolt, add dialogues and code generators etc is really nifty. But the ability to do using ColdFusion is the bomb! Thanks Bolt team. I look forward to all those bolt extensions on Ria Forge.
  • Faster AMF - Now this sort of thing really matters to me. When asked in passing if there were any significant speed differences Kevin said that, while CF 9 would be faster, speed was not the focus of this release. He went on to say that connecting flex to ColdFusion will result in a markedly better transport speed but that was the only real significant optimization. For my money this is great news.
  • Hibernate and ORM - Blah blah blah. Yes this is a needed feature and yes it is cool and yes I can now create objects without worrying about my database code. For my money ColdFusion developers already neglect their database skills far too often so this looks like a slippery slope to me - but easy, yes indeed. Actually I thought it was really neat. For straightforward implementations it looks like an excellent approach and it brings more OO programming syntax into CF. So I give the feature an A+ (now I'm off to create a mammoth view in Query analyzer).

Also of note, Kevin showed us a graph showing the number of ColdFusion developers sky rocketing toward a million by the end of next year. That's impressive and unexpected. I thought we were sort of holding steady. I was gratified to learn about the progress being made and also encouraged with his comments on how corporations having gone down various paths trying to improve productivity are coming back and taking a new look at ColdFusion.

Ok readers, posts like this sometimes raise the hackles of those with a pet technology. Please be polite when commenting and don't make me come back there (I'll pull over... I mean it!).

Comments
Misha's Gravatar Is any news about what version will be available for 64-bit OS, hopefully not only EnterPRI$E version?
# Posted By Misha | 6/17/09 10:47 PM
Hemant Khandelwal's Gravatar We are listening carefully to this request :)
# Posted By Hemant Khandelwal | 6/18/09 1:47 AM
Hemant Khandelwal's Gravatar We have treated performance as a feature in this release, just like we did in CF8. So there are many performance improvements that will be there in Centaur.

Watch out for more information and white papers when we release Centaur.

Thanks,
Hemant
Adobe ColdFusion Team
# Posted By Hemant Khandelwal | 6/18/09 1:53 AM
Mark Kruger's Gravatar @Hemant,

I'm glad you are considering a 64bit standard version - good news.

As for performance, I think Kevin just wasn’t emphasising that issue. He had a lot to get through. I'm sorry if I left the wrong impression.

-Mark
# Posted By Mark Kruger | 6/18/09 10:42 AM
Pat Whitlock's Gravatar Thanks to Mark and Ryan and CFwebtools for hosting the user group. And thanks to Kevin for the great presentation on the future of CF. Even with the demo issues, we got a lot of really good information. I am excited to be a part of this community and look forward to getting further into the cfscript features and new possibilities that Centaur and Bolt are bringing to us. Good recap Mark, as always.
# Posted By Pat Whitlock | 6/18/09 12:35 PM
Marc Truitt's Gravatar Any word on SharePoint integration? The Exchange integration was nice in CF8, but interfacing with SharePoint would be great.
# Posted By Marc Truitt | 6/22/09 12:46 AM
fgwenger's Gravatar Last week (June 18, 2009), Ben Forta said that he would share more about Sharepoint integration "in the next week or so". Should be soon.
# Posted By fgwenger | 6/26/09 7:34 PM
James White's Gravatar The features for the most part sound good. I am no huge fan of Hibernate and ORM. I like writing SQL and maybe I'm in the minority. Having used Hibernate for Java development, I think Hibernate is ok for Java, because you often have a number of other factors to be concerned with, but CF, I see no reason why a good CF developer should not know how to write good SQL as well. Beyond that, I am very much looking forward to the release of CF 9.
# Posted By James White | 6/29/09 2:37 PM
Adam Presley's Gravatar With Hibernate ORM integrated into CF I don't think getting people to write less SQL is the issue, or at least it shouldn't be. The focus should be more on relying less on loose SQL all over the application, and more object-modelling for tighter, scalable, and maintainable applications. All too often we write the query to fit the specific need instead of wiring up objects we can reuse in the future.
# Posted By Adam Presley | 7/6/09 4:18 PM
Mark Kruger's Gravatar @Kevin,

Hey.. thanks for the comment. I like that take. In other words, we can start with the object model sooner rather than fleshing out a DB Schema and then allowing it to color subsequent decisions. I like it.
# Posted By Mark Kruger | 7/6/09 4:22 PM



Blog provided and hosted by CF Webtools. Blog Sofware by Ray Camden.