Future features of ColdFusion

I posted a request the other day asking you, the ColdFusion community, to give me your ideas on what we need for the future of ColdFusion. The entry and your comments are here.

I have to admit, what I see is overwhelming. The vast majority of ideas are around language constructs, cfscript enhancements, application framework items, etc... which is great, we need those ideas. I did see a few requests for audio and video features... respectable additions but none of them are going to be the "Big" feature for any future release. And yes, yes, we do need an IDE. A really great one to make our lives easy! I hear you! But, what I don't see a lot of is... well... features! :)

I mean, we all love the javascript style operators in ColdFusion 8... but could you convince your boss to upgrade to CF8 for that, or was it because the PDF and AJAX features made something very difficult or costly, cheap and easy?

What I'm driving at is this... Should the next release of ColdFusion be about making everything we already do well, better? Or are there still functional problems that we can help you solve?

And if so, what are they?!

Don't get me wrong, I love the comments on the older post, I just want to see if I can get some thoughts on some "bigger ticket" items. :) Not that I don't have my own ideas, but I want to hear yours!

Cheers! Jason

Comments
João Fernandes's Gravatar Want big features?
Let start asking big:
1) Bundle CF with A Limited connect server and LCDS Deparmental.
2) Add CFMeeting and generate a connect meeting room on the fly
add eventgateways to support listening for behaviors inside the meeting (like voting, chatting, enterRoom etc)
3) Eventually an interface to communicate with a SIP gateway?
4) Unlock all XDD limitations for CF9
5) Add policy server capabilities into CF
overall I think CF should be the aggregator of Adobe Enterprise Technologies
# Posted By João Fernandes | 9/18/07 3:24 PM
Will B.'s Gravatar Just posting so I can subscribe. I'm curious what "Round 2" brings up.
# Posted By Will B. | 9/18/07 3:46 PM
Neil Middleton's Gravatar Hang on, so what you asking isn't necessarily "What would make CF better in the next version?", but "How can we get you to buy CF9?". For me, these would invoke two different responses.

For me, CF9 should contain what it does now, but improved. Almost a CF8++. For sales though, you'll need that "killer" feature. For me, I don't know what that is, as I don't come across a huge amount of problems day to day, other than doing heavy lifting on the data tier.
# Posted By Neil Middleton | 9/18/07 3:54 PM
Sam Farmer's Gravatar Document Conversion.

Including, but not limited to, doc to pdf or flashpaper. And yes flashpaper is important (for embedding in Flex apps for instance).
# Posted By Sam Farmer | 9/18/07 4:01 PM
Scott Stroz's Gravatar 1. The ability to create and send mail items with <cfexchange>
2. A Flex based interactive log reader, kind of like http://flogr.riaforge.org ;)

That's all I have right now.
# Posted By Scott Stroz | 9/18/07 4:02 PM
Todd Rafferty's Gravatar Jason, correct me if I'm wrong, but didn't CF8 do a little bit of both? Why can't we continue down that same path? Besides the AJAX stuff in CF8, the thing the other thing that sold my boss the most was the performance enhancements. I told him out of the box that CF8 would already add to ROI due to the speed increase, etc. So far, I'm not wrong and our customers are happier.

Did my boss care that I could now stitch together multiple PDFs without a 3rd party app and such? No. There's a line to what is important and every company's line is different. I think Adobe needs to keep going what what they did in CF8 and follow that path.
# Posted By Todd Rafferty | 9/18/07 4:10 PM
João Fernandes's Gravatar and upgrade flashpaper to AS3 format please!
# Posted By João Fernandes | 9/18/07 4:10 PM
todd sharp's Gravatar Following scott's blatant self promotion:

<cfimagecropper> (http://cfimagecropper.riaforge.org)
<cftimeline> (http://cftimeline.riaforge.org)
A sweet Ajax based CFC Explorer that lets you test your CFCs (yeah i know i didn't win anything in the best of scorpio, but i've fixed some of the bugs) http://cfcexplorer.riaforge.org/

Seriously though...I do like the idea of CF8++ (maybe 8.5) that builds on the 'making difficult stuff like ajax easier' concept. For example there are so many YUI things you guys could have tapped into that would have rocked my world...like <cfcontextmenu> or a YUI flavored <cfslider>. I'm all about this kinda stuff - though I'm probably the minority??
# Posted By todd sharp | 9/18/07 4:11 PM
Neil Middleton's Gravatar Just thought of something.

Being able to code 100% in a script based format. Either Actionscript 3/4 or CFScript. I also think that would go a long way to improving CF's reputation...
# Posted By Neil Middleton | 9/18/07 4:14 PM
Will B.'s Gravatar Oh, Lord no! Not Actionscript! I had a hard enough time trying to learn Flex. AS would just make my easy CF life all that much harder. Yes...I love CFScript, and maybe over a few years y'all can make it more Acriptscript-y, but not in one fell swoop!
# Posted By Will B. | 9/18/07 4:17 PM
Terrence Ryan's Gravatar My comment got swallowed so I'm going to give a rehash. Sorry if I was just impatient

Video: I still think that a suite of video tags and functions will be a killer feature. I know it might cut into Premiere but I don't think they really are in the same market. Allowing companies to create their own YouTube has some value. We've been doing video for awhile, and CF would have been a huge help to us: http://spike.wharton.upenn.edu/media/

Standards and Excessibility: Recylced from before but certifying that ColdFusion HTML output will be compliant and accessible would be a great feature.

Search: Alternatives to Verity would be great. I recently kludged Verity to work,because I didn't want to bother with Lucene, but that would be a cool additional tool to have in my toolkit.

Enterprise Integration: I frequently have to drop down to Perl to deal with an legacy application with a bizare interface. In most cases I could have coded an alternative if I had a cftelnet, cfsocket or cfsnmp tag to use. I would think being an easy bridge from old technology to all of the new options you have included would sell some units.

Identity and presence Management: I spend a fair amount of time coding the connections to tie this IM account with that domain account with this application user. I don't know if there is anything ColdFusion can do to make it easier, but figured I would add it.

Was that more of what you had in mind, Jason?
# Posted By Terrence Ryan | 9/18/07 4:23 PM
Todd Rafferty's Gravatar I think CF needs a better patching system as well btw. With CF heading into the depths of ajax and such, libraries updates are going to be needed. Ext 2.0 is coming soon and majority of that looks to be an amazing upgrade for cfgrid, etc. If FCKEditor releases something tomorrow, people that don't already use FCKEditor stand-alone are going to want their CFTextarea fixed to be the latest and greatest.
# Posted By Todd Rafferty | 9/18/07 4:28 PM
Rob Gonda's Gravatar +1 on ditching YUI and adding EXT 2.0
I love the SIP integration idea.
Ability to consume gzip'd content with cfhttp, cffeed, etc.
+1 on multiple search engines:: lucene
Leverage Java Frameworks such as ehCache and Acegi
# Posted By Rob Gonda | 9/18/07 4:57 PM
Scott Stroz's Gravatar I got another one... when Adobe acquired Interakt, they got a sweet little RTE named KTML. It would be cool if that could be used in place of FCKeditor, or if other RTE could be supported, such as TinyMCE.
# Posted By Scott Stroz | 9/18/07 5:00 PM
Aaron Longnion's Gravatar I guess my first set of suggestions weren't juicy enough (http://www.cfinsider.com/index.cfm/2007/9/14/What-...)

Round 2:
11) cfDrupal

12) I'm not an OO zealot, but for those who are... give them as much OO capabilities (keep them *optional*) as possible. We don't want to continue the trend where OO developers from Java or .NET backgrounds completely ignore/ridicule CF because it isn't fully OO.

13) CF .NET - I know you can integrate somewhat with .NET in CF8, but Adobe should put together a BD .NET version that blows the BD version away because it has all the CF8/9 capabilities, including Event Gateways, Flash Forms, Flex and AIR integration, etc.

14) hooks into PHP and Ruby (and possibly other major languages)

15) to add to other comments about a "real IDE"... I'm guessing they're talking something as robust (though better than) Visual Studio .NET.

16) cfCaptcha

17) thinking of ways to bring folks from other languages to CF.... maybe like .NET let's you write in C#, J#, VB etc. and it compiles to .NET, CF could do something similar with cfscript syntax?

18) cfGoogleAPI and cfYahooAPI

19) cfAIRWidget - wrap it around stand-alone CF/HTML/AJAX/Flex code. Save it, and it compiles into an AIR widget that you can distribute to customers and the like... Then, us CF developers can start distributing our own ideas for FTP clients, mini browsers, IMs, IDEs, media players, DB clients, etc... and we wouldn't have to learn .NET, C, or Java to make it happen.

20) cfVOIP

21) cfMakeMeDinner

22) cfGetMeAGirlFriend ;D
# Posted By Aaron Longnion | 9/18/07 5:24 PM
Andrew's Gravatar condition ? iftrue : iffalse operator
fix nested cfloop on query
cold fusion studio 6 (yes, i'm still using cfstudio 5)
# Posted By Andrew | 9/18/07 8:09 PM
j's Gravatar +1 to KTML if only it were possible.
# Posted By j | 9/18/07 8:25 PM
Brian's Gravatar Hire Ray Camden and upsize his applications as deliverables within the package for Enterprise Use
# Posted By Brian | 9/19/07 10:27 AM
David's Gravatar Hi Jason,
Some of this is a little high-level/abstract - I'm not sure what level of detail you are looking for.

1) Better integration with Adobe Chats. What I want to be able to do is offer webcasts from inside my branded site.

2) Workflow extensions. I know that Adobe has workflow tools - can we integrate them into the CF framework? Many CF installations support intranets. Adobe has great document support. CF now has document/PDF integration. The next logical step, for me, would be introducing workflow.

3) Extend CFPresentation - allow better user interaction, for example form submission. I want to show a user some slides, and get their feedback via form submission. I was told I could do some Flash remoting for this, but the CF integration with a flash form would be better. Also, maybe branching based on user feedback (to different slides)

4) A built in Survey tag (CFSurvey), that supports branching.

5) Built in SAML support (CFSAML)

6) Reporting enhancements. I have to be honest, I have to look further into CF 8, but this is what I'm thinking. Flex has great flash based graphs, but they are quite a bit of work, when it comes down to it - with labels, tips, etc, etc. CF reporting is easy, but a little too static.

Here's a quick example of how to enhance charts, is to enable "binding" on charts. If I click one area of a CF chart (or CF report) another chart will change / get populated. Kind of like with Flex, but it doesn't need to be super complex.

Also, introduce AJAX features into CF Report. (yeah, sorry, I know I'm vague)

I'm in the healthcare industry, and I can't tell you how important reporting is.

7) AIR Support
I know the last one is a hot button category, but consider this: The end result of a CF app is HTML/AJAX. I know that its server based. However, if there were guidelines for creating AIR apps (example, not in-line SQL, need to use back end CFC's). The CF/AIR "wrapper" will need to know the base URL for the CFC's and will access them as web services. I'm not expecting it to be a "one-step" process.

Well, you asked for "big picture" ideas, and there you have them! I'm thinking off the top of my head here - so some ideas are a little incomplete (or just plain crazy). I'll post more thoughts if I get them, or maybe we could catch up for a beer at MAX (I'm on intronetworks).

Cheers,

David
# Posted By David | 9/19/07 1:39 PM
Jason Delmore's Gravatar These comments are awesome. So, yes, this is what I was looking for. Feel free to keep them coming!

I agree that there needs to be a mix of features and general improvements. I think general improvements are easier to find... I think most people could come up with 10-20 improvements for CF off the top of their head.. and that includes the entire CF Engineering team. :) But, the tricky part, is to look outside what you are doing today and think about what you want to do tomorrow... and how your life could be made easier by putting a few simple words in the comments here! :)

I'm not trying to figure out what features would "convince you to buy" the next version of CF... I want to know what you or your company sees value in. I mean, I love my car... I own a 5 year old Passat... my previous car was a Passat... my next car... will not be a Passat. Why? Because they haven't done anything to the latest version that make me see additional value. So... I will opt for a change... might be good, might be bad... but if I don't see value in just having new, why buy?

What I want to supply you with, is a compelling set of reasons to upgrade... I think you should feel like "this is just too good to be true", "We can't live without this". That was our target for CF 8 and I think we did a pretty good job of it. And I believe we (Adobe and the ColdFusion team) have the ability to deliver that again... we just need create the plan to do it. With your help, I think we can make the next version of ColdFusion even more compelling. Isn't that what you want from your software? To be convinced that you need it? Not just to have something that looks newer... but something with more value. I know that's what I want...

So, feel free to tell me that language features would provide a compelling reason for you to upgrade. Hell... I'm a developer, I love those ideas. But, at the end of the day, realize that your probably not the one deciding whether or not you get to use that new feature... and I need a set of compelling reasons for that person as well. :)

Cheers and please keep the great ideas rolling!
Jason

P.S. Perhaps I will setup Soundings when I have some time to add polling features. :)
# Posted By Jason Delmore | 9/19/07 3:39 PM
Adam Ness's Gravatar So in addition to the developer-specific suggestions I left <a href="http://www.cfinsider.com/index.cfm/2007/9/14/What-... the other entry</a>

The video suggestions are really something... Yahoo Video, GOogle Video, YouTube, etc... are all based on Flash Video, and who knows more about manipulating Flash Video than Adobe?

Seriously, ability to input, merge, reencode, and clip video together, then output a video player swf would be pretty cool. Of no use to me in my daily work, but then most of the "Killer Features" really aren't.

While I think the <cfgoogleAPI>, <cfdrupal>, KTML, EXT2 are fun ideas, It seems odd to me to integrate support for specific software packages that only a select group of folks are using into the core language. One of the big advantages of ColdFusion used to be that it worked with any database server, and you didn't have to change your code (much) if you were moving from Oracle to MSAccess to SQL. Likewise, it would be nice if <cfsearch> worked with Inktomi, Google Applicances, K2, or Lucene, and <cfexchange> was deprecated in favor of <cfpim> which would talk to Exchange, Lotus Notes, iCalendar, or any of a variety of PIM softwares.
# Posted By Adam Ness | 9/19/07 3:45 PM
James Buckingham's Gravatar I'd love to see a way of targetting a particular Instance on a Server.
Setting up stuff like a schedule to move failed mail into the spool of each instance is a pain just now because our Round Robin keeps catching the requests and "randomly" throwing them around.
That and updating stuff like the server configuration of each server which we currently have to keep throwing constant CFHTTP requests at until they're all done.
# Posted By James Buckingham | 9/20/07 4:41 AM
David's Gravatar Sorry for chiming in again Jason - but in general, I'd like to see CF9 be more integrated with other Adobe technologies. Obviously, I mean integrated further. Flex and PDF features are great, of course.

We're researching the design/develop workflow here, and on the face of it, the CS3 tools look great (specifically, we're looking at starting with Fireworks). The end result seems to be HTML, which is great, but I'm not too sure it takes advantage of the great new CF features - cfimage, just as an example, or some of the AJAX controls included (there is spry integration, though, I guess).

Again, I'm being vague, I know, but I wanted to spark some thought (as you requested). Let me put this into perspective - we're trying to be more of an "agile" development department, and the particular methodology we have selected hinges on creating the UI templates first - storyboarding, if you like. Eventually, we'll have to get that over to CFML, and the details in between are a little murky right now. So, it may not be a CF9 feature, per say, but could be an integration effort.

Again, hit me up if I can be more specific, or just hit me, if I'm talking jibberish.

Cheers,

Davo
# Posted By David | 9/21/07 10:57 AM
Ryan TJ's Gravatar We have 50+ CF instances in about 7 clusters or standalone servers, a central management console would be nice. Using car files does not suit the need nor is it fast. Features like changing DSN/cfadmin login info and CF settings across a group of servers. Being able to produce a list of servers and datasource names that use a certain db or use a certain db login. Then being able to update those to a new login. Very helpful to enforce the password change policy. Being able to pop trusted cache for a group of servers. Yes the admin api is there but not the central console.

Also exposing this grouping of servers & instances via the admin api so we could write things that may not be included in the admin console. Like getting all instances for one app/cluster and hitting a certain script on every instance, to pop cache maybe...

Parts of this are already there in the monitoring piece, its just going beyond that to an enterprise management console.
# Posted By Ryan TJ | 9/25/07 10:44 AM
Dan Sorensen's Gravatar I was excited when Adobe choose FCKEditor because I thought they did it for it's available Coldfusion Image Library and File Browser plugin components. I was really surprised to find out that the built in variety of FCKEditor didn't include either of those. So for CF9, I hope that the Rich Text Editor makes uploading files and photos really easy as well! It would even be great if the photo uploader was enhanced to make it easy to resize (and reduce file size) the photos using CFIMAGE.

I know that's all something I could do myself today with CF8, but it's needed over and over in so many applications that I'd prefer to just have the tool prebuilt in CF9 so that I just need to configure and run in my own apps.

Preferably the File and Image browsers would support multiple libraries as well. (So that we could have different libraries per user rather than one big library per application.)
# Posted By Dan Sorensen | 9/27/07 1:46 PM
Neil Middleton's Gravatar I'm going to ask for something I'm going to call "Heavy lifting". Basically the ability in CF to do some heavy work without the server falling over.. Pushing around big recordsets, playing with large files, doing massive string manipulation etc.

For me, these changes would make CF infinitely more usable..i.e the core is extremely fast and capable for the simple things, but there is still the "hard stuff made easy" aspect as well.
# Posted By Neil Middleton | 10/2/07 6:34 PM
Mark Mandel's Gravatar I would love to see CF9 be supported on a Debian based Linux distribution.

This is more based on a preference over Redhat based distributions.

I've noticed that CF8 seems to plug along very nicely on my Ubuntu development machine, so I am hoping you guys are already half way there.
# Posted By Mark Mandel | 10/2/07 8:32 PM
Terrence Ryan's Gravatar I was talking about SSL certs and ColdFusion at Max, and had the thought that making importing CACerts more user friendly might be a good thing.

Granted it's pretty well documented, but it is a security feature, changing the process from command line app to a gui in the administrator might reduce barriers for people using custom CA. You could then add that as a bullet point to your security pitch.
# Posted By Terrence Ryan | 10/5/07 8:55 AM
Luis Majano's Gravatar A better way of loading Java classes and libraries than the usual system we have of placing them on the cf server class path, restarting, etc. (And not using Mark's JavaLoader). CFJAVALOAD

A way to do java scripting.

A transaction manager.
# Posted By Luis Majano | 10/5/07 6:22 PM
Andrew's Gravatar New operator for components.
x = new Component(args)
and if args are passed just call .init with those args.
# Posted By Andrew | 10/5/07 6:25 PM
Scott P's Gravatar What about a integrated version of FMS? - similiar to the LiveCycle Data Services ES that was included.

video conversion tags

Server level application firewall security similar to mod_security or even mod_security support

gzip compression - ability to turn on/off gzip compression at the server/application level
# Posted By Scott P | 10/6/07 1:28 AM
Andrew's Gravatar option for CF not to set explicit variables:
form, url, query
so that I have to use: form.var, url.var, query.var
# Posted By Andrew | 10/6/07 11:26 AM
Tim's Gravatar What about adding Stored Procedure support inside the report builder? I know you can pass in a query to an already built report, but it would be nice to show the list of stored procs along with the tables and be able to use them in the report building process.
# Posted By Tim | 10/8/07 8:42 AM
tc's Gravatar Everyone has good ideas, but I think they are all in the box. Where I would like to see CF go is even bigger.

To start out with, how can CF be interesting to attract more developers. One area to do this is to expand
usage by web hosting companies. This involves both price points and manageability. The goal is for web hosting
companies to be able to offer CF hosting with MySQL database connectivity for the $5 per month range. The details
is in how to get there. CF Hosting should be on par with PHP hosting, even with the fact that PHP is free. The key is
in the configuration and manageability, and the ability handle shared hosting environments better than PHP.

A second area to attract developers is to beef up free developer IDE resources. This most likely means concentrating
energy to make CFEclipse environment work great with the product and to release basic Flex IDE as free. View CFEclipse
as your entry level tool, like Microsoft has with its Express editions. Paid tools can have add on's, such as CFC Class building
wizards (e.g., Data Access Layer Wizard).

With CF product itself, you need to continue to make it that Intranet platform of choice. This means more connectivity to
other products, like you have done with Exchange. Examples of features to add are: built-in tags to work with Microsoft
Membership and Personalization Database/Sharepoint databases, built-in tags to work with various workflow products (in
addition to Adobe's own workflow, such as Microsoft's baseline .NET3 workflow provider), and built-in replication services, so
that one can replicate website content among clustered web servers. Along with features, the other biggest factor that would
be of great benefit is in documentation. Adobe already provides great documentation, but more is needed for setup and tuning
in clustered environments. This area is rather skimpy in the documentation. This is an area where CF can shine.

Other ideas are:
- Get rid of JRUN as base J2EE engine and instead use open source J2EE engine (Tomcat, Geronimo, JBoss, etc.)
- Offer middle-tier pass through of client authentication (e.g., Oracle Impersonated login, Trusted SQL Login) for true client to database auditing
- Add request auditing/logging features (to answer meet Government and other audit requirements such as HIPAA)
- Expand Web caching in product (e.g., similar to Oracle Cache)
- Management of Server instance separate from server instances being ran
- Replication of Server instance settings (for Clustered servers, i.e., set CF Server settings on one server and have deployed to all clustered servers)
# Posted By tc | 10/10/07 6:25 PM
Matt Riley's Gravatar I might be a little late to the party on this one, but how about a free production grade version of ColdFusion Server? This would be a version that would specifically address the "Why would I buy ColdFusion when ASP/PHP is free?" arguments. I have run into these arguments all to often because executive management generally does not consider the total cost of ownership when it comes to these platforms. This is especially true for companies that are not IT or software companies.

I have found that the cost of ColdFusion at times falls into an unfortunate middle ground of expenses. It's not the typical item that has to be carefully considered in a multimillion dollar annual budget (like a datacenter expansion). At the same time when the question is asked "What can we cut from the budget?" the expense of ColdFusion does stick out enough in an itemized task group budget that it often gets singled out (at least in my experience). And these discussions often do not include advocates of the platform. It is the Directors and VP's that have a budget to balance that make these decisions.

This proposed free version of ColdFusion would have to have enough functionality that it makes sense to use in a production environment. This version would be targeted at small to mid-sized businesses, particularly companies that are not IT/software companies or companies that do not run mission-critical applications on ColdFusion. The current Standard/Enterprise editions would still be targeted to business that run mission-critical applications.

My second suggestion is a bit more radical. It would be to take a more Microsoft-type approach. ColdFusion Server would be free (all editions) but Adobe would build and sell a world class IDE for ColdFusion. This would be designed to outpace all current free or inexpensive offerings available to ColdFusion developers (specifically CFEclipse, Dreamweaver and HomeSite+). In order for this to work, however, the IDE would have to be nothing short of life changing for ColdFusion developers. This is because the tools we currently have (at the minimum) reach the level of "good enough".

The potential advantage to this approach would be an apples-to-apples cost comparison with the Microsoft tools. No longer would the cost of the server come into consideration. At this point, management would consider the cost of Adobe tools against the cost of Microsoft tools. Management would never ask the question "Why would I buy ColdFusion when ASP/PHP is free?" because management would be purchasing the same type of product whether they go with Microsoft or Adobe.

I admit that these suggestions are radical, and in the end may not be practical, but I think Adobe needs to do something radical in order to take the ColdFusion platform to the next level. I look forward to the days of ColdFusion version 15 or 20 but Adobe may need to consider an unconventional approach to secure the future of ColdFusion.
# Posted By Matt Riley | 10/16/07 11:50 AM
Jason Delmore's Gravatar It's never too late to the party. :) I definitely appreciate your sentiments. The only issue I find with your argument here is... if we made CF free and charged for the IDE... then we would no longer have to deal with "Why would I buy ColdFusion when ASP/PHP is free?"... That is true, but then we would have to deal with... "Why would I buy the ColdFusion IDE when CFEclipse (or insert other open source project here) is free?"! ?

Right?
# Posted By Jason Delmore | 10/16/07 1:18 PM
David O Malley's Gravatar Jason/Matt, it’s an interesting model, and you can argue that it works with Flex Builder. I was at MAX recently, and I’d say (unscientifically) 95% of flex developers used Flex Builder. So, it CAN work – it would need to be kickass, though, as Matt pointed out.

Many in the community call for a free version of CF, with scaled back functionality – personally, I think this will just dig CF into a hole. The FUDers will simply compare ASP/PHP to the free (scaled down) version of CF, and we’ll be spinning our wheels.

The personal concern I have is regarding the future of the enterprise version of CF, which is something our company uses. Now, as a package (JRUN, CF development platform, CF Monitor), CF Enterprise is one of the cheapest J2EE solutions out there. Adobe needs to get out of the “Challenger” category and into the “Competitor” category though. I’m concerned with the announcement that JRUN will no longer be developed – will I need to buy BEA or Web Sphere to support CF Enterprise in the future? If so, that would be a HUGE burden to shoulder.

I don’t know how MS gets away with its “Free” tag. I mean, Visual Studio Pro costs as much as CF Standard. How is that free? At least CF scales well – add another developer, costs stays the same, but not so with MS solutions.

Still, I’d impress in Adobe to push the pricing model for CF9 – get it to less than $1k, if possible, and show the IT world a move in the right direction. It’s a tough line to walk, though, better features cost money, and I’m glad we have all the features we have.

Cheers,

Davo
# Posted By David O Malley | 10/16/07 2:56 PM
Matt Riley's Gravatar Jason,

Thank you for your response. You are correct. That is the admitted challenge with this approach. As I mentioned the IDE would have to be "nothing short of life changing". Of course I know that's easier said that done. I'm sure Microsoft has spent an unimaginable amount of time and money to bring Visual Studio to where it is currently. Microsoft must have considered these challenges when they released their Visual Web Developer Express product, a free slimmed down version of their main line of development tools. There's also a ton of community driven IDE's for ASP.net and C#.

I can't help but notice that Microsoft's bait approach seems to be successful for them. They give the developers a ton of "free" tools and include enough functionality to learn the technology but exclude enough functionality that they will want to upgrade. SQL Server Express is another perfect example. My SQL friends tell me that SQL Express addresses the "free" issue with MySQL. Small companies could deploy SQL Express and if they grow enough, they could easily upgrade to SQL Standard.

I also concede that it may be difficult for Adobe to go in this direction when they try to calculate their ROI on the time and money spent on free server software AND the time and money spent developing a world class ColdFusion IDE. Adobe might end up having to charge so much per license that users would continue to use current tool set. I haven't compared quarterly reports, but it may be safe to say that Microsoft might have a little more capital available for this kind of R&D (not to take anything away from Adobe).

At this point I think I have successfully argued against my own suggestions. However I think my overall suggestion would be to encourage Adobe to not be afraid to go in an unconventional direction. For example, if we take a step back from specific features and look at all the major technologies (HTTP, XML, encryption) and buzzword technologies (AJAX and the like) that are out there, ColdFusion already can work with all of these. And if it can't, we have access to the underlying Java technology (and now .NET integration) to build our own feature set. There is very little that ColdFusion can't do.

Of course there will always be those "propeller-head" type features that hard core developers might want and Adobe should always take care of their current customers. But it may take something more than new features or the "Big" feature, as you stated, to get new customers. In my experience, it still comes down to a .NET vs. CFM debate. Why do developers choose ColdFusion (we already know why), but why to business executives choose the Microsoft platform (even though we know the TCO is higher)? I think it comes down to brand recognition and a perceived higher level of reliability. Executives see Microsoft as the brand name and ColdFusion as, well, sometimes they don't know what a ColdFusion is. They hear reports from their task group managers that the applications are have some trouble. In their mind the answer is simple, switch to Microsoft.

Before my response goes into infinity (to late, I know) I would point your readers to Brian Meloche's blog (http://www.brianmeloche.com/blog/index.cfm) and a post from Larry Clarkin (a Microsoft guy) http://larryclarkin.com/MicrosoftGuyAtAColdfusionB.... Ultimately Adobe needs to not only be willing to be unconventional with the product but also aggressively (and I mean really aggressively) go after business executives and break the Microsoft barrier. I really care about the future of ColdFusion but when ASP.NET/C# jobs out number ColdFusion jobs some times 30 to one, it's difficult for me to see the future of the platform.

Thank you,

Matt Riley
# Posted By Matt Riley | 10/16/07 3:59 PM
Michael's Gravatar - Matt Rileys idea of a low budget CF with only a few features and a simple (as usual) installer especially for web space providers

- IDE again: I'm still using Homesite+ but Adobe should CF stronger bundle with eclipse for an easy quick start

- CFCONFERENCE: A CFML web specification - to have CF in the news (even BlueDragon, Railo and Smith are good for business)

- I personally don't like CFSCRIPT but it seems people are too familiar with messy code looking like php or asp. So give it to them.

- Don't forget: http://www.teratech.com/blog/index.cfm/2007/10/18/...
# Posted By Michael | 10/22/07 3:50 AM
Fernando Barros's Gravatar As same as I did at teratech blog, I'd say I'd like to see a better IDE, like Microsoft has with Visual Studio Team System. Have you ever seen the new testing tool, colaboration and project managment? It's really good.
It'll be a great feature to sell Coldfusion for medium and big teams.
# Posted By Fernando Barros | 10/23/07 7:13 AM
Jared Rypka-Hauer's Gravatar Jason,

I've said this several times now, but the two features I see making a huge impact for CF9 are thus:

Pluggable search engine... make it easy to remove Verity and use other engines, from Lucene to Bob's Phat Search Server... maybe even integrate the API with Google's search API? I know it can't be 100% open because you'll have to implement a wrapper for every engine added, but, perhaps in the spirit of event gateways you can expose a Java search API that could be extended by anyone to use a new search tool.

This is my big one... my legacy if you will:

Add Administrator extensions and tags in the vein of CFQUERY/DSNs to allow people to more easily integrate payment gateways into their applications. Provide a list of the most popular ones like you do with databases, then config options for auth keys, etc., and add <cfauthorize />, <cfpayment />, etc., to make using ColdFusion THE PLATFORM for doing ecommerce sites! w00t!
# Posted By Jared Rypka-Hauer | 10/25/07 1:20 PM
Brian Klaas's Gravatar - Leveraging Adobe's video expertise in CF9 would present a huge value to content and education-driven Web sites. Not having to go to the command line via <cfexecute> and run ffmpeg (and know the intricacies of ffmpeg) would be a big boon to generating a ton of Flash video.

- Inclusion of something like Sean Corfield's Scripting for ColdFusion 8 project so that we can more easily integrate PHP or Ruby applications in to our CF applications. There are a heck of a lot of developers (and their bosses) who would see value in being able to utilize popular tools like PHPBB in a relatively simple, straightforward manner inside of their larger CF apps.

- Inclusion of process management akin to what's in LiveCycle. It would be great to be able to use a service like that for routing, state management and notification within our ColdFusion apps (rather than having to build something on our own which will be far less feature-rich and not nearly as robust).

- Really expand the capabilities of <cfpresentation> to include automatic PPT to <cfpresentation> conversion. Corporate, scientific and education presentations are done in PowerPoint (well, in Keynote too, but to a far lesser extent). Being able to rapidly generate Web-based presentations without having to make the content HTML would be a big benefit.

- Leverage Connect and what they're doing with CoCoMo. If you have the license to run the Connect server locally or if you have a service agreement with the hosted version of Connect, make it simple to create users, meeting rooms, send invitations, or, via CoCoMo (which will be live before CF9) encapsulate pre-built Flex apps that do things like just show a whiteboard and users, or just show the audio/video chat and the text chat. There are a lot of Web applications that are dying for presence and collaboration and Connect is a great tool to make that happen. There's an API in Connect for doing a lot of the administration -- just wrap it up and make it easy, 'cause that's what CF does best.
# Posted By Brian Klaas | 11/1/07 8:58 AM
Andrew's Gravatar One feature that I would love is ability to set a flag not to automatically
create variables for URL and FORM scopes, so that I have to type URL
or FORM.
Same goes for query when looping.

Also, new framework for building pages.
for example the page would look like:
<CFPAGE EXTENDS="MyBasePage">
<CFFUNCTION Name="OnLoad">
<CFFUNCTION Name="OnInit">
<CFFUNCTION Name="OnAuthenticate">

<CFFUNCTION Name="DoSomething">
</CFFUNCTION>

<CFFUNCTION Name="OnRender">
<CFBUTTON OnServerClick="DoSOmething" Value="TEst">
</CFFUNCTION>
</CFPAGE>
# Posted By Andrew | 11/1/07 10:18 AM
Brian Lesser's Gravatar 1. Fully Integrated ActionScript 3
The current JavaScript implementation is next to useless as it only supports dynamic SQL and therefore is open to SQL injection attacks. It also doesn't support things like CFLDAP etc. ActionScript 3, fully integrated into Coldfusion, would be brilliant for developers working in Flex. Then integrate support for server-side ActionScript 3 into Flex. Developing everything in one language and in one IDE would be a significant step forward.

2. Strong FMS integration
The current FMS gateway requires setting a single connection in an XML file. Collaborative applications in FMS require creating multiple and dynamically changing application instances. Coldfusion needs to be able create and manage multiple NetConnection objects on the fly. We need an elegant way to create NetConnections and Remote Shared Objects on the fly and manage them - including their callbacks - without stepping down into writing large complex Java helper classes such as a NetConnection Manager.

3. Choose some (open source?) Java engines, wrap a rich API around them, and ship them as modules that can be accessed as needed in Coldfusion. Just the engines NOT full applications with a user interface and business logic. For example do a little work to integrate something like JackRabbit as a CMS engine. Build it in already packed with an easily accessed ActionScript 3 API and ready to go. Ideally, you would have engines for calendars and scheduling, wiki and blogs, workflow and BPM/BPEL, presence and instant messaging, identity management (every app needs it and does a mediocre job of it), document translation, etc...

Thanks for asking!
-Brian
# Posted By Brian Lesser | 11/4/07 7:45 AM
Ben D's Gravatar Hi Jason,

Integration. I think further integration with other Adobe and non-Adobe products would make Coldfusion a much stronger product. Before you think 'more of the same', integration can fundamentally shift the role of Coldfusion - most importantly into the consciousness of key decision makers.

Most radically, consider including features from or bundling express versions of FMS and Livecycle. Most people has no idea how easy Flex combined with FMS makes 2-way videoconferencing. Nor do they see much of anything about Livecycle. Allow people to taste these products in Coldfusion. This increases the value of Coldfusion, but it is also an entry point into the dedicated server versions.

Regardless of whether you bundle the functionality or not, other Adobe server-side products should be ridiculously easy to use in CF. Its great that you included LCDS express in CF8, but it still isn't trivial to use. AMF, Flex Messaging, data push, Actionscript proxy etc are all terms that confusion the hell out of me. Simplifying the CFADMIN screens and including testing tools (eg. a testing flex client) would be make the whole technology more accessible.

Imagine writing a Flex 2 or Air application in MXML on a CF page. What does CF add to that equation? Maybe the CFMXML can have remote connections to CF or LCDS server cooked into the SWF. Maybe flex libraries (SWC files?) can be automatically generated by the server based on a data CFC?

Similarly for FMS, I can imagine that having defined a (bundled or remote) FMS server in CF admininistrator the user could immediately start working with high-level CF-style productivity code like <CFVIDEO> (inserts a flex movie player in the current page) or <CFWEBCAM> (inserts a flex application for 2-way only video conferencing).

I don't know a lot about LiveCycle, but since it is an Adobe technology, CF should be able to talk to it natively using powerful tags to recieve and update information. I think Adobe should consider including PDF form rendering in CF, since investing heavily in PDF forms probably increases the value of LiveCycle, rather than the opposite.

For AJAX integration, although I appreciate how far we are down the road of using YUI, I think CF should seriously consider forming a strategic partnership with Spry. What stands out about Spry as a library is that it ridiculously simple to do amazing things (like Coldfusion). From your perspective developing CF tags for spry is a simple activity too. Being an Adobe product you can influence its development, share some budget and maybe rest easy knowing that your entire javascript codebase is consistent, well managed, compatible with other libraries and has a stylistic appeal that sometimes gets lost in other brute-force CF solutions.

(And have you noticed the number of designers working in Spry who really need an easy back-end solution? )

I think deprecating CFSCRIPT and moving on to the latest flavour of AS is another radical idea that has merit. How many flex developers find themselves writing some form of backend code? I would guess a lot. Increase the incentives to choose CF as a backend server by using AS on the server side...

... Which implies the availability of a complete API exposing all the functionality exposed by tags. Recognise that CFScript (and AS if it comes) is generally used by power users. There is a tendency for CF to lose valuable developer mindshare when they "graduate" from Coldfusion. Enhancing their language tools and access to high-productivity libraries means they won't wake up one day and discover they work mostly with Java objects and may as well be working in a pure java shop.

A high level API would also allow CF developers to retain the CF productivity boost into their 'power-user' days, and I imagine it would help with the CF Team's development and debugging efforts as well.

Anyway, I have other comments RE integration and what it might do for Coldfusion, but I need to go to trot on. This is turning into an opus anyway :)
# Posted By Ben D | 11/15/07 9:38 AM
Cage's Gravatar I would say that being able to create AIR apps from ColdFusion code (given some guidelines) would be huge. Also, I like the idea of a better IDE. Enhancements to reporting, via PDF generation / data integration into PDFs, improved graphing capabilities, etc would help out a lot as well. Improved AJAX capabilities...
# Posted By Cage | 11/16/07 8:20 PM
Justin Time's Gravatar I've been out of the CF world for a couple years but two features I always wanted were:

- Url Rewriting built into the server. Rules could be set in the CF admin.

- Scripting syntax for writing CFCs ... actually, making a lot of the non-UI tags available to cfscript. I always found the tag-based syntax clunky for non-html files.
# Posted By Justin Time | 11/19/07 4:56 PM
Christopher Chin's Gravatar Don't know if someone already requested this, but here goes: SES URLs built-in capability. Useful for those of us who want to do ecommerce and get some good pageranking. Just my 2cents.
# Posted By Christopher Chin | 11/22/07 2:18 PM
Sami Barasi's Gravatar The killer server: Bring together Flash Media Interactive Server 3 and Coldfusion Server Enterprise!!
# Posted By Sami Barasi | 1/16/08 1:58 PM
william's Gravatar I'd like to see a actionscript engine in the new CF so I can do server side AS. Additional I'd like to see the ability to transfer functions or even classes back and forth from Flex and Cold Fusion via AS engine..
# Posted By william | 2/25/08 1:22 PM
Chris Pyle's Gravatar I seem to be late to the party but I support much of what has been said.

I've been doing CF development since version 2 on floppies but after using AS3 for the past few months with Flex the suggestions about replacing CFSCRIPT with AS3 sound great. Otherwise I'd vote for making CFSCRIPT a first class citizen with non-udf access to everything available in CF tags.

Either way I'd like to see more effort put into making the Flex/AIR - CF RemoteObject setup simpler and easier for beginners to access (the XML and cross domain hoops could be better documented and integrated into the CF administrator / Flex/Eclipse interface).

Obviously full featured LCDS functionality would be great to have included in CF. It would be a gift to developers (one install process gets you the whole local dev environment without Tomcat etc.) and would give CF server a built in advantage over PHP / Rails / .NET which would still need WebORB, etc. Including LCDS in CF server could make those services available from existing shared CF hosting providers at a much lower cost of entry, greatly increasing their exposure and use by the developer community. CF server should be leading the way in this area for Adobe.

If Adobe really wanted to boost Flex / AIR development they could merge CF and LCDS into one server product, make AS3 (or 4?) an available standard language across everything, and even reduce the server price tiers so that the PHP / Rails / Java / .NET alternatives would look much less attractive in comparison, especially to small shops / independent consultants.

I'm sure there are many financial and technical hurdles to this kind of thing happening but this is a wish list right ;).
# Posted By Chris Pyle | 3/11/08 5:11 AM
Chris Pyle's Gravatar To follow up on my last post...

I re-read many of the previous posts and it's clear that my understanding of the current LiveCycle offerings is limited. I just went to try and get a copy of LCDS to install on my dev environment alongside CF8, unfortunately there seems to be no support for OS X.

After more digging I noticed that CF8 includes some version of LCDS...and felt pretty dumb. Thanks Adobe for including this, I am excited to dig into it. I should have done some more reading before I wrote the message above but I'd still love to see AS3 support in CF server.
# Posted By Chris Pyle | 3/11/08 5:51 AM
Aliaspooryorik's Gravatar First up I'd like to say that it's great that the CF team are so open to the cf community to have their say.

I agree that cffeed has to support gzip, and that a free 'Express' type IDE is a great idea to encourage new users to go for CF over other languages. CFEclipse is great, but for someone just starting out with writing code are they really going to download Eclipse, then get the CFEclipse extension + Aptana etc when they can have a simple download and install msi/exe?

Video support would be a killer feature, but why not also include audio as well?

One thing that I would love to have that hasn't been mentioned is a group attribute for the cfloop tag that works like cfoutput query="x" group="y". It would make my code so much neater!

How about multi language support a bit like the SetLocale. I not exactly sure what I mean but being able to build multi language apps would be a real selling point for CF.

CFC paths - can we do it from the web app root or be able to navigate up?

AMF support for CFC webservices.
# Posted By Aliaspooryorik | 3/29/08 6:15 PM
Aliaspooryorik's Gravatar One more thought - how about a web based database viewer for cf datasources?
# Posted By Aliaspooryorik | 3/29/08 6:25 PM
Aliaspooryorik's Gravatar Sorry, one more - you've got me thinking now! How about a good way to serve large files as cfcontent doesn't quite cut it.
# Posted By Aliaspooryorik | 3/29/08 6:27 PM
Aliaspooryorik's Gravatar Would it be possible to show the SQL statement for failed queries as well as successfully executed ones in the error? That would be really handy for debugging!
# Posted By Aliaspooryorik | 3/30/08 3:32 PM
Matt's Gravatar Make all the cf tags that create output generate valid markup, perhaps in the format specified by some server setting (most don't generate valid xhtml currently)
# Posted By Matt | 3/31/08 11:05 AM
Andrew Deren's Gravatar It would be nice to have "new" keyword to instantiate components.
<cfset x = new NameOfComponent()>
just an easier syntax than CreateObject("Component", ..)

also, if it allow arguments and implicitly call init method, that would be great:
<cfset x = new Something(3, "helo")>
would be equavilent to:
<cfset x = CreateObject("component", "Something").Init(3, "helo")>
# Posted By Andrew Deren | 3/31/08 1:43 PM
Ben D's Gravatar Some more *big* ideas:

<CFAJAXPUSH /> - Push data to an Ajax client for use in bind expressions using an dimensionless flash object

<CFAJAXTIMER /> - Sets simple JS timeout

<CFAJAXPROXY cfc="mymanager" jsclassname="MyPrivateNamespace.mymanager" /> - Allow private object namespacing

[All Ajax Tags] - Automatic JS dependency inclusion with JS require() function (no cfajaximport required). Graceful degradation.

<CFAJAXIMPORT scriptsrc="/my/implementation/of/cf /js/interface" /> - All JS libraries loaded dynamically through CF bootstrap. Open CF JS API for customisation

<CFCACHE action="put" scope="application" value="#mycfcinstance#" key="myCfc" /> - General extension CFCACHE to handle everyday application, session, etc caching in a safe way without CFLOCK

<CFCOOKIE> - Extend to use flash shared objects
<CFIF hasJavascript()> - Self explanatory

<CFMESSAGING action="send" topic="" > - Include a reliable messaging agent with CFADMIN support for use with Flex-messaging, inter-CF, JMS, SMS, Ajax etcetera.

<CFSET application.taglibs = {} />

<CFFILE action="copy" retries="nn" compare="true" />
<CFFTP action="put" retries="nn" compare="true" />

- Ant-style file-comparison for CFFILE AND CFFTP. Option retry count for robustness

<CFANT /><CFANTTARGET><CFANTTASK name="" type="cf" />- Integrated ANT or other deployment/automation tool. Can call CF code
# Posted By Ben D | 4/7/08 10:12 AM
Codex's Gravatar Keep it simple, do the things everyone has wanted for years.

1. Go faster
2. Can do everything in cfscript
3. A proper IDE

The lack of these things hurts CF's credibility.
# Posted By Codex | 4/9/08 4:46 AM
shopping's Gravatar I'm all for Aaron's comments about OO. We do need more OO capabilities (yes, keep them optional.) I'm not one who ridicules ColdFusion, but some more OO capabilities (or options) would do me just fine.
I do think that the video and stuff can be added maybe in a future release. To be honest, you should consider doing an 8.5 where everything is just enhanced and wait a while before you do a 9 release – making the 9 release a real big deal. That's what I would do anyway.
# Posted By shopping | 6/6/08 11:46 AM
abul's Gravatar 1) <cfphone number="555-555-5555" option="call">
2) <cfphone number="555-555-5555" option="sms">
3) <cfphone number="555-555-5555" option="readMSG">
4) <cfphone number="555-555-5555" option="ListenMSG">
# Posted By abul | 6/13/08 9:00 AM
Ben Davies's Gravatar Some more:
1. A general update and review of all tags leveraging third-party code to include
a) latest versions
b) more functionality from the third party

Eg. <CFCHART>

2. On the subject of CFCHART, the use of the charts to setup drilldown capability is hampered by the limitations to the URL parameters. If you could sneak an ID into a CFCHARTDATA tag for use for this purpose it would be great.

3. <CFMAP long="45.4" lat="54.6" zoom="8" googleid="XXX" /> (this would probably be cooler than it would be useful)

4. The ability to create PDF forms.. PLEASE! If the Acrobat team give you any grief, well, ignore them :)

5. I said it before but it still makes sense: Consolidate your server range (Livecycle,FMS, LCDS). Think of all the millions of dollars that could be in your budget!

6. NTLM support for CFHTTP, scheduled tasks, etc. Some of us live in M$ networks, afterall.

7. Support for some additional formats in CFPRINT: RTF, TXT, HTML, etc. (you could transparently PDF them first).

PS > Missed you at WebDU!
PPS > Where do we go to find out more information about the open process initiative?
# Posted By Ben Davies | 6/14/08 4:17 AM
oil paintings from photos's Gravatar I’ve just checked the comments you got. They’re indeed overwhelming. I never thought ColdFusion is in demand. I wonder what will the next batch of comments will show up this time.
# Posted By oil paintings from photos | 7/1/08 9:16 AM
Richard Davies's Gravatar I've got a great feature request... how about fix all of the little bugs and idiosyncrasies in ColdFusion?

For example, it drives me crazy that you can't conditionally disable a <cfform> control:

<cfset disabled = "false">
<cfinput type="text" value="can you edit me?" name="test" disabled="#false#" />

Since an HTML input control with a disabled tag with ANY value (even "false") is interpreted as disabled="true", cfform should not pass the disabled attribute through to the <input> tag when the value is false.

I'm sure there are lot of other little bugs and gotchas like this... but none come to mind at the moment. Going through the livedocs comments would probably reveal most of them.
# Posted By Richard Davies | 7/11/08 2:00 PM
Richard Davies's Gravatar Woops, my code should have been:

<cfset disabled = "false">
<cfinput type="text" value="can you edit me?" name="test" disabled="#disabled#" />
# Posted By Richard Davies | 7/11/08 2:01 PM
shag's Gravatar i know i'm a bit late on this one, but how about the sql to show up when in debug mode and there is an error with the execution of the sql. i'd like to be able to turn debug on for the sql and know what it looked like in order to determine why it had the error.
# Posted By shag | 7/14/08 1:07 PM
BlogCFC was created by Raymond Camden. This blog is running version 5.9. Contact Blog Owner