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.
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!).