10 Things ColdFusion 10 Really NEEDS

I was reading a ColdFusion 10 Wish List today (I am behind on my blog reading) and it is largely filled with minor tweaks that are a bit too myopic for me. I think Server-side Actionscript is interesting, particularly to Flex developers looking for a back-end, but almost everything else on the list struck me as missing a broader view.

From the general list there are things like incorporating Omniture (a web analytics tool), adding message queuing (I assume this is essentially incorporating JMS directly into the language. By the way, you can do this today with the JMS Gateway), calling a CFC from Java(CFCProxy already exists too), queryparam for LDAP, multiple datasources for ORM, and NTLM support.

Really??? This is what we want for ColdFusion 10!?!

Well I want more from Adobe than that. I know we are all still catching up to ColdFusion 9 (maybe even 8,) but there are 10 serious changes that ColdFusion NEEDS.

  1. Replace JRun
  2. I'm sorry, but if it's dead bury it. Get the engine to the 21st century. There are several viable options out there including replacing it with GlassFish, Geronimo, or a commercial application server.

  3. Overhaul Reporting
  4. ColdFusion ReportBuilder is a crusty outdated application built for windows only and very few people use it because of that. ColdFusion Builder deserves an Eclipse-based report building tool that understands CFML. Either update Jasper Reports or implement BIRT. If this is done right, Adobe sells more ColdFusion Builder and more ColdFusion... we get better report building tools out of the box.

  5. Overhaul CFDocument
  6. It's common knowledge that the underlying HTML renderer in ColdFusion is ICEBrowser. ICEBrowser did a decent job with earlier versions of the HTML spec, but found it commercially unreasonable to try to keep up with that. Its End-of-Service Life is next year. http://www.icesoft.com/products/icebrowser.html

    It's time to implement WebKit under the covers. WebKit is also the rendering engine used in Adobe AIR, so maybe there could be extra benefits to using this. If WebKit won't do the trick, hopefully Cobra can, or perhaps they go to just supporting XHTML with Flying Saucer. Whatever the answer is, it is probably not to stay on an unsupported OEM.

    A lot of people use this to generate PDF, it needs to be solid and it needs to work with later revs of the HTML and CSS specs.

  7. Fix Server Monitoring
  8. Server Monitoring was a terrific feature in ColdFusion 8 that just didn't make it all the way there. Either spend the time to get it there, or FusionReactor has their act together, partner with them to create an OEM'd version. They get an upsell opportunity for those in need of Enterprise Monitoring and the rest of us get a better Server Monitor.

  9. Re-think Flash Forms
  10. Flash Forms were a great idea when they came out with ColdFusion 7, they are an even better idea today. They probably need to be re-envisioned. But let the server-developers create code within their CFML that creates a rich UI! ColdFusion developers that don't want to go out and learn an entire new development language and paradigm should still be able to leverage the Flash Platform.

  11. Fix Application Deployment
  12. Sourceless deployment is simply not easy enough. CARs are not a bad idea, there just hasn't been enough time spent on making using them easy. Add a deployment wizard to ColdFusion Builder that then brings up my Server Manager so I can point > click > deploy.

  13. Make a Free Edition
  14. Yes, I said it. ColdFusion needs a Free Edition! This was tried once before and failed miserably and so those with corporate memory at Adobe sometimes bring that up (although really the only person left from that time is Ben Forta.) Here's the deal, like everyone else in the world one of these days I will get around to moving my blogs over to some free third party provider (blogger, posterous, tumblr, etc.) Why? Because I'm not going to pay $1299 to run a blog on CFML. All I really want is to stay with my warm and fuzzy CFML while staying with the platform I am familiar with. Give me an edition that just has the nuts and bolts:

    • CFML and CFSCRIPT
    • AJAX and Flash Forms
    • File Handling
    • XML Parsing
    • CFQuery (but I don't need the DataDirect drivers... all the databases provide their own)
    • CFMail
    • CFFTP
    • Deployment
    • BlazeDS (Hey it's free in supports the Flash Platform initiatives, so toss that in too)

    Keep the rest to yourselves. I just want to be able to run a blog and a wiki without paying for a commercial application server for my home computer, and without learning PHP. If you did that, maybe you'd win back some of the PHP market and even create a vendor market around ColdFusion again. Just give me something that has no more features than the free platforms. Worst case scenario, you make a better investment in expanding use of the Flash Platform.

  15. Add real support for Instant Messaging
  16. IM gateways were a cool idea, but supporting XMPP and Sametime is meaningless. Get the other gateways in there. While you're at it, make them part of the default language or easier to administrate. Maybe there is a way to make Gateways more approachable in general.

  17. Update the Web Services Engine
  18. The underlying web services engine is still good old Apache Axis 1. While that is great for backwards compatibility, Apache Axis2 is considerably faster (4-5 times faster) and supports many new features. Axis2 was first introduced in 2004... I would say it's mature at this point. Hot deployment and Asynchronous calls would be hot!

  19. Add a Workflow Engine
  20. Business Process Management is extraordinarily important these days. ColdFusion is often used to build custom business processes. Wouldn't it be awesome to drag-n-drop your way to a new application workflow?

    Take the work that has been put into LiveCycle Workflow or maybe jBPM. The Business Process engine should tail into ColdFusion Components nicely. Implement either LiveCycle Workflow Designer or jBPM Process Designer with some ColdFusion awareness into ColdFusion Builder and you have a winner.

While I appreciate that there are specific needs we all have for our projects, I think the 10 items I have outlined could dramatically change the direction of the product for the better. ColdFusion has recently seen a return to being respected and watched by analysts and media, a resurgence of customers upgrading after several years of waiting to see which way the wind would turn, and an increase in the number of developers using ColdFusion overall. Now is not the time to tweak. It is time to show that not only is ColdFusion surviving, but it is done with just getting back to its former strength on a new platform and instead is now ready to go back and re-invent itself while respecting its original vision, and take on the next set of challenges.

Push for greatness, go ColdFusion.

Jason

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
Tony Garcia's Gravatar This is a great list, Jason. One point I'd like to make though: I'm already running blog software on CFML without paying $1299 for a license. It's called Railo.
# Posted By Tony Garcia | 12/11/09 2:30 PM
Todd Rafferty's Gravatar #1 - Agreed.

#5 - I thought the answer was "Use Flex"? Anytime I hear anyone ask a question about the flash forms, you get a bunch of cringes and a scolding that they should be using Flex. I believe the flash forms are just there for backwards compatibility.

#7 - With Railo / OpenBD available and able to match all of your requests (including BlazeDS), why should they bother? In fact, some of the guys on the Railo mailing list have been able to get all this working from a thumbdrive as well.

#8 would be cool.

#9 is long time coming.
# Posted By Todd Rafferty | 12/11/09 2:31 PM
John Rice's Gravatar Great list. Nicely thought out.
# Posted By John Rice | 12/11/09 2:34 PM
Todd Rafferty's Gravatar btw, Jason, what's your excuse for not being on twitter and chatting with the rest of us in the #ColdFusion community? :)

http://twitter.com/webRat/status/6576377275
# Posted By Todd Rafferty | 12/11/09 2:46 PM
Oscar Arevalo's Gravatar These are all great points, however there is one thing that worries me about the direction of ColdFusion. With every version it seems that we add 30-40 (dont know the actual number, probably larger) new tags and functions into the same namespace. Yes, they do provide great features (cfmap, all the spreadsheet and image functions, etc), but it doesn't seem to be a viable path in the long term. At this rate, by ColdFusion 12 the language will be impossible to manage with twenty gazillion tetraillion tags and functions!

On my opinion its time that CFML moves in the same direction as other languages and start providing all those features as packages or libraries, and keep the core language (CFML) very basic and simple.

This way, adding support for google maps, spreadsheet, images, etc won't require full new versions of ColdFusion, just releases of new packages or libraries that can be downloaded and just used. You know, like a little language called Java.

Adobe should save the full releases for things that change the guts of the application, not for adding new functions and tags.
# Posted By Oscar Arevalo | 12/11/09 2:47 PM
# Posted By Todd Rafferty | 12/11/09 2:52 PM
Brian Rinaldi's Gravatar Awesome list Jason. Nice work. You are right, we developers generally think small language enhancements that will improve our productivity over big picture improvements that will drive the platform and adoption forward.

Was this list in a priority order? If not, its funny because you more or less hit on the order I'd prioritize these but they are all top-notch suggestions. Nice work!
# Posted By Brian Rinaldi | 12/11/09 2:52 PM
Jason Delmore's Gravatar @Tony and Todd
I appreciate the efforts that the Railo and OpenBD teams have put in to create their offerings, they are still different and would require learning the nuances of their respective platforms rather than just taking what I already know and not using some tags. :)

I also believe that more companies would be compelled to use a free version of ColdFusion than they would be to use Railo or OpenBD.

I am in no way Anti-Railo or Anti-OpenBD, I just think Adobe's strategy should be to make a free edition for the ColdFusion product regardless of what is happening with other CFML vendors. I'm suggesting it as a way to compete in the larger market being swallowed up by free platforms like PHP, Ruby, Perl, and JSF market, not to keep from losing market share in the CFML market.

I'll have to join twitter. :)

Cheers!
Jason
# Posted By Jason Delmore | 12/11/09 3:08 PM
Alfio's Gravatar I agree with John, That is a great list. I think the free edition would definitely cause a lot of attention on it own.
# Posted By Alfio | 12/11/09 3:21 PM
Tony Brandner's Gravatar Great list Jason, agreed! Always bothered me that the reporting tool fizzled and that server monitoring seems like an afterthought.
# Posted By Tony Brandner | 12/11/09 3:30 PM
Todd Rafferty's Gravatar @Jason: Your list of "Free stuff" you said you wanted from a "free" CF engine. You stated that OpenBD / Railo are different and would require learning the nuances. Uh, the only exception to the entire list is the cfajax stuff.

BlogCFC / MangoBlog both run on Railo/OpenBD and very well I might add. CanvasWiki as well as Codex Wiki both run on Railo (Don't know about OpenBD).

Railo supports everything else on the list with very little difference from Adobe CF. I'm sorry, but I'm not buying it as it sounds like excuses. For the price tag of free, I can live with some nuances and learning something new.
# Posted By Todd Rafferty | 12/11/09 3:33 PM
Jason Delmore's Gravatar I missed responding to the comment about Flash Forms and just using Flex. I think it's perfectly fine to say "When you hit your limit with this, go use Flex directly", its the same answer as with AJAX. If you hit your limit with the built-in components, go use the AJAX calls directly.

The original Flash Forms idea was very cool, just build a form... all forms are pretty much the same right? You have some text boxes and some select boxes, you click a tab and an animation changes to a new screen. It isn't that tricky and there is no reason I need to learn Flex to be able to say how I want a simple form to be drawn.

But, when I do want to do more than a CFFORM, CFINPUT, and CFSELECT let me just grab the MXML source ColdFusion was making and go build your Flex app.

Give me an easy win and maybe people will accidentally start learning Flex and making that Flash Platform even more popular. :)

Jason
# Posted By Jason Delmore | 12/11/09 3:34 PM
Jason Delmore's Gravatar Again, I am not anti-Railo or anti-OpenBD. I am trying to say what I think Adobe should do with their product. I think they should make a free edition as part of their strategy.

Maybe next week I will post what I think Railo and OpenBD should do for their strategy. :)
# Posted By Jason Delmore | 12/11/09 3:45 PM
Todd Rafferty's Gravatar Oh, I know what you're saying. I've been clamoring for some time now for the same thing. I've just given up that fight for Adobe to actually listen to the developers that are passionate that just want to be able to use cfml for little things, such as their wiki / blog. That's why I think Railo/OpenBD fills that gap quite nicely.

I'm curious what you think Railo's strategy should be so... list away. I'll make sure the Railo team looks it over. :)
# Posted By Todd Rafferty | 12/11/09 3:50 PM
brian's Gravatar wow, if this list did come to pass maybe I can avoid having to learn c# for another 10 years
# Posted By brian | 12/11/09 3:57 PM
Sami Hoda's Gravatar Excellent post. Subscribing...
# Posted By Sami Hoda | 12/11/09 4:00 PM
TJ Downes's Gravatar Jason, your top 3 are also my top 3. Good write up!
# Posted By TJ Downes | 12/11/09 4:00 PM
Henry Ho's Gravatar Nice list! Gotta love it!
# Posted By Henry Ho | 12/11/09 4:04 PM
Tony Garcia's Gravatar @Jason,
I completely agree that Adobe should offer a free edition of CF with the "nuts and bolts" as you put. I think that would be freakin' awesome for all the reasons that you outlined. The only point I was trying to make with my comment was that, until that happens (IF it does), you have options now with the open source engines. Although I have to say that using Railo didn't reallly require me to do anything differently or learn new things compared with Adobe CF.
# Posted By Tony Garcia | 12/11/09 4:16 PM
Jason Delmore's Gravatar Maybe I should not have included a free edition on my list. I did not want that to be the focus of the post, in fact it was number 7 but is quickly dropping lower in my mind as you guys have so clearly articulated that solutions already exist. :)

In all seriousness, I want an "Adobe ColdFusion" free edition. Why? Not just because I want a blog, but because I want internet start-up companies to choose ColdFusion. Start-ups are across the board choosing a free open source platform (largely PHP.) I would love to see start-ups choose ANY CFML engine, truly and absolutely love to see that. My CFML skills would be no less valuable to them if the engine they use is Railo.

However, I think a free edition of ColdFusion from Adobe would attract far more attention than the other engines have been able to so far. You can argue that Railo is still making moves on that front, and they are, and I hope they are successful.

If you want to run a free CFML engine, you can today, but I would like the decision makers at Adobe to understand that having a free edition for the ColdFusion product would support their broader platform adoption strategy.

As you say, there are options for free today, so there really shouldn't be anything for them to lose. :)
# Posted By Jason Delmore | 12/11/09 5:04 PM
Gary Fenton's Gravatar +1 for full IM support. It needs to be modular (as the gateways already are) that are easily updatable for when Microsoft, Yahoo, etc change the spec or their server names as they have done in the past. Would be cool if CF had autoupdate and you can select what elements you want it to check and update by itself.

Good list, Jason.
# Posted By Gary Fenton | 12/11/09 6:46 PM
John Allen's Gravatar This list is nearly perfect.
# Posted By John Allen | 12/11/09 6:58 PM
Axel Schultze's Gravatar EXCELLENT list Jason. How about putting together a single list where we all can contribute and ALL can vote on each others suggestion. At the end we have a real good idea what we all want

I put something up on UserVoice
http://cf10.uservoice.com

Please add your top 10 or vote on the once that are already up.

Thanks
Axel
# Posted By Axel Schultze | 12/11/09 8:18 PM
Tony Garcia's Gravatar @Jason,
I"m not arguing with you. Did you miss the part where I said "I completely agree that Adobe should offer a free edition of CF... that would be freakin' awesome for all the reasons that you outlined." ;)
No need to defend your stance to me.
# Posted By Tony Garcia | 12/11/09 9:10 PM
Marcel Bennett's Gravatar I think the best move forward is cfjs that Alan Williamson has been working on for Open Blue Dragon http://alan.blog-city.com/cfjs_alpha.htm if that makes it into both Railo and a free version of Adobe ColdFusion I think combine the most important scripting language of our time with the most powerful tag syntax and the most powerful front end a Java application can have and Cf10 or more importantly cfml as a whole would see massive growth.

Oh and for anyone who votes for features to be added to Railo feel free to comment/vote on cfjs: http://railo.uservoice.com/pages/21016-general/sug...
# Posted By Marcel Bennett | 12/12/09 12:33 AM
Russ Michaels's Gravatar A FREE version of CF may seem like a good idea, but really it isn't, consider the resulting flak.
Everyone will whinge about the limitations, no matter what they are, and will start poing out that "Railo does this, or Open BD does that" and comapring the 3, which will of course be an unfair comparison as they are FULL products.
There is absolutely no reason for Adobe to even consider entering this arena when it is already well covered by Railo and BD. They have the FREE developer edition which I think is sufficient for anyone who wants to use Coldfusion.
ColdFusion is meant to be an enterprise product and this is where I believe Adobe wish to position themselves, and quite rightly so. What they need to do is make sure it really is enterprise class compared to Railo and Open BD. The suggestions on Jasons list here will go some way toward this, especially getting rid of JRUN and integrating a better, lighter and faster engine.
One of the big pluses of CF vs the others is the ease of install, which I think will continue to give them the edge as well.
If they were to release a free edition then I do not believe that limiting the tabs and functionality would be the right move, as it would be a flop like cfexpress for the above reasons. Better that they remove enterprise features or limit the number of simultanious connections so that it can only be used for personal low traffic web sites.
# Posted By Russ Michaels | 12/12/09 7:58 AM
Adam Lehman's Gravatar Great list, and very well worded. It's almost as if you had some hand in planning v10. ;-)

As far as a free version goes, it's definitley something we'll be exploring for Link (v10) as it's always been reviewed with our GTM plan.

The CF ecosystem is very delicate and fragile. If a free version cannibalizes our revenue then we end up with less resources (engineering, marketing, OEM, conferences, etc). While it's important to grow the community, we can't do it at the expense of the community. But I do strongly belive there is a middle ground. Our Enterprise customers might be able to subsidize our independent and small business customers, if we substantially raise the bar for them.

Technically, there are a few things on this list I don entirely agree with, but I agree with to problems they are trying to solve.

-Adam
CF Product Manager
# Posted By Adam Lehman | 12/12/09 10:48 PM
Jason Delmore's Gravatar @Tony - I wasn't directing my previous comment at you, it was actually at how much attention that one comment got (and continues to get.) I actually think the rest of the features are more interesting. :)

I want a free version so more companies will be compelled to choose CF for the first time. I actually think those that still use ColdFusion won't care that much that there is a free version. I want the other features for my business, that doesn't care about a few thousand dollars for Enterprise.

@Marcel - The first language I programmed for the web was Server-Side Javascript. Yes, Netscape came up with the idea in the mid-90s. It was, well, a language syntax. I guess if it made a come back I already know it. So w00t to the possibility of another language making a comeback. :)

@Russ - Limiting the performance wouldn't really solve the market I think Adobe should attempt to go into with a free edition. I would not use a free edition to get people interested in using it for personal use (although I would want to use it myself for that.) There is a huge market of start-up companies out there that choose PHP because they are building intellectual property from scratch and want productivity with decent performance. ColdFusion has better performance AND better productivity... but they will choose PHP because 1000 servers running CF costs A LOT of money. And let's face it, if you're building Myspace, you don't pay 5 Million dollars to have HTML to PDF conversion or CFPresentation...

Also, there are a lot of Enterprise products with free editions: Oracle Express Edition, SQL Server Express Edition, Websphere Community Edition... Having a free edition doesn't position your whole product line as not Enterprise.

Getting more companies to choose CF, even if its free, means more Adobe customers to cross sell to, more Flash Platform use, and more ColdFusion Builder sales. There is a market there, and there is a monetization strategy, the product just needs to be repackaged to address it.

@Adam - I'm like one of those ex-quarterbacks talking on Monday night football... all I can do is talk about what I think the guy on the field should do. Go run with it my friend. :)
# Posted By Jason Delmore | 12/13/09 11:02 PM
Marcel Bennett's Gravatar @Jason
Server-Side Javascript is rapidly growing in popularity due to jQuery and John Resig's Env.js project which puts a DOM model into a server (rhino) context. If you look at the number of SSJS implementations it is growing quite rapidly but non of them have taken off yet as developers are looking to see which one ends up the most popular and installed in the most hosting environments. That's where I feel CFJS could win that by ending up on far more hosting installs and with far more users than any other SSJS could. But only if it is done before someone creates a SSJS server to kill all others.

Oh and I also agree with some of the comments on no need for a free ColdFusion, Railo or Open Blue Dragon more than catter for that need as far as I am concerned.
# Posted By Marcel Bennett | 12/13/09 11:37 PM
James Buckingham's Gravatar We'd really (REALLY!) like to see some kind of support for the application scope across clustering.

I don't understand why sessions are supported but if the application scopes aren't identical on all the servers at the time one goes down then things are going to break anyway.

We have "solutions" in place to make sure application scopes are refreshed at certain times (without a server restart) but really this is something that we shouldn't have to think about.

So for the 3rd version in a row now PLEASE Adobe can we get shared application scopes :-D
# Posted By James Buckingham | 12/15/09 11:18 AM
Todd Mathews's Gravatar Overhaul Reporting - Yes, yes, yes!

Workflow Engine - +1,000.

These are the types of things that make CF great. These are the visionary aspects that would have been incredible 5 years ago and are becoming pretty mandatory today.

CF rocks at business apps and getting real work done. I'm tired of getting shoved towards .NET to do 'fluffy' stuff.

We also need the ability to fully utilize .NET components easily (stuff like Telerik and etc.) or we need our own flavor that makes it simple to drop new functionality in easily.

Worflow, Reporting - That's real world stuff that makes us all look good and makes it much easier to get CF subscription renewals and keep the flame burning.

I don't want to use .NET for everything - CF is great for getting real work done quickly without tons of junk getting in the way or using a sledge hammer to drive thumbtacks.

Push CF back to the front of the pack for doing Agile work that lets us focus on business logic and process instead of coding ourselves to death or getting beat senseless by noob devs whacking stuff together with .NET wizards and fancy UI controls that look incredible but are functionless shells distracting users from the complete lack of business logic and process they need.

Yeah, we can use .NET to throw Outlook look and feel into every app but it's obscene to watch these .NET kids throw a billion controls on a page because they look cool and not because they solve a real business problem for users.

That's what CF is for. It just needs a new batch of bright and shiny splashed on it again.
# Posted By Todd Mathews | 12/17/09 2:37 PM
cfJeff's Gravatar While I love developing in CF, my primary job ends up being integrating existing systems with CF (for which it is really well suited).

I would love to see a basic CMS and/or a personalized start page (like iGoogle) included with CF or sold as an add-on by Adobe.
# Posted By cfJeff | 12/21/09 10:29 AM
Adam Cameron's Gravatar Cool list: better thought out that others I've seen (for the reason you cite), including my own internal thoughts of what I'd like to see in the language.

Have you raised all these points on the CF bug/enhancement tracker? People making lists like this on their blog seems to be only doing half the job of getting it onto Adobe's radar, in my view. Other than obviously AdamL's seen it here...

I think a good thing to do would be to raise these points as issues, and encourage your readers to share your voice and go ave a vote. Democracy at work.

--
Adam
# Posted By Adam Cameron | 1/1/10 1:51 PM
Ben's Gravatar I would absolutely love to see video conversion tags such as a cfvideo or something like that - railo has a commercial option for $100. Same thing with S3.
# Posted By Ben | 1/2/10 12:26 PM
Marcel Bennett's Gravatar How about built in Hudson server for continuous integration and MOST IMPORTANTLY a freaking code analyser that can take in preferences and report back if a developer is not adhering to company code style guides!! Now THAT would be freaking awesome! Guarenteed clean code, w00t!
# Posted By Marcel Bennett | 2/4/10 3:24 AM
BlogCFC was created by Raymond Camden. This blog is running version 5.9. Contact Blog Owner