Over the past few months I have met with over twenty user groups, briefed about a dozen members of press, visited dozens of customer sites in numerous countries, and addressed more conferences than I can recall. In all, I have had the opportunity to chat about ColdFusion with hundreds (or thousands) of customers, potential customers, partners (many of whom have built their businesses around ColdFusion and Macromedia products), hardcore techies, decision makers, and more. It’s part of what I do, and I love doing it.
But things are different now. Over the past year or so the questions have changed, the objections to ColdFusion have evolved, and the concerns have been refocused too.
Traditionally (as in just a few years ago), the primary objections to ColdFusion were: 1) ColdFusion does not scale, and 2) ColdFusion is proprietary. For a while it seemed that all I was doing was addressing these concerns, perpetually in fire-fighter mode. And I know that lots of ColdFusion users and advocates felt the same way. Those objections seemed to be all we wrote about, they were the first questions asked at user groups and the subject of endless discussions on forums and talk lists, and they were also terrible distractions. In fact, I would go so far as to suggest that some of the important mistakes made in the CF4 era were misguided attempts to address at least one of these objections, but that is history at this point.
The interesting thing is that I almost never hear these objections anymore. I don’t even remember the last time someone asked about scalability (as an objection), and the proprietary concerns are almost never heard of either. I am not sure I can fully explain why this is. It is not, as some have suggested, that there is simply less interest in the product and I thus talk to far fewer people. While the demographic of whom I meet has changed somewhat, and some user groups and conferences are seeing significantly reduced attendance, that is more a symptom of economic changes and employment woes than anything else. The fact of the matter is that I am meeting as many customers and organizations as I did several years ago, and we’re still selling product, and we are still attracting brand new customers. Rather, I suspect that the changes are the result of several things including a maturation of the marketplace, and most importantly, ColdFusion MX.
ColdFusion MX represented the single biggest investment in ColdFusion since the product’s creation some eight years ago. In retrospect, had we had known just how complex and costly the port to Java would have been I am not sure that we’d have actually undertaken the task. More man hours and resources went into building ColdFusion MX than any other prior version of the product. And the result? ColdFusion MX, or more importantly ColdFusion MX 6.1, is an exceptional product, one that we are rightfully proud of. It is fast, and stable, and reliable, and flexible, and extensible, and it supports more platforms than ever before, and most importantly, it talks all the right standards and buzzwords and acronyms. We can debate implementation details forever, but one point is a given, the Java underpinnings, the repositioning of ColdFusion as a Java application (as opposed to a server), the emphasis on CFML productivity as “just another way to leverage Java”, the fact that at runtime ColdFusion is pure Java, all of these have helped settle the scalability and proprietary objections once and for all. That’s a good thing.
Or put differently, had the Java port never happened we’d not even be having this discussion, we’d be looking back at what was once a stellar product, reminiscing about the good old days, while sifting through the employment ads. There is no doubt in my mind that the complete vital organ transplant that is ColdFusion MX has given the product and language a new lease on life. Whether planned or just incredibly fortuitous, that is something to be grateful for.
That is not to say that I no longer hear objections, I do. But the two most commonly heard objections nowadays are: 1) ColdFusion is not free, and 2) uncertainty about the future and long-term viability of ColdFusion. The first objection is not new, we’ve been hearing that for years (it would have ranked as #3 on my prior objection list), and there is no good solution for that one. Yes, we know that ColdFusion will save you money in the long run by reducing development and maintenance costs, and yes we know that ColdFusion is remarkably inexpensive taking into account all the included runtime services. We’ll continue to make that argument, and will continue to meet some success depending on who it is we are talking to. There are some developers who can never be convinced, and that is fine, so long as there are some who can be. The truth is, there is no good free ColdFusion business model, and even if there were I am not sure that it would actually really change ColdFusion use and acceptance one way or the other at this point.
The second new objection, however, is a serious one. This subject has come up repeatedly over the past couple of years (especially since the Allaire-Macromedia merger) and the concerns show no signs of abating. Nowhere was this more apparent than during my recent trip to Japan (which is what triggered the thought process that resulted in what you are reading). During my three days in Tokyo I met with press representatives from six different publications representing an incredibly diverse spectrum of interests, from hardcore Java coder to database developer to general Web developer to everyday computer user. The presentations went well, the questions were (for the most part) good and right on target, and then came the clincher. Every single member of press wanted to know one thing more than anything else: “what is the future of ColdFusion, and what can you tell me about long term product positioning and direction?”. They were not just asking this as part of their repertoire, and they were not trying to be difficult (the Japanese are way too polite for that). What they were asking, in as many words, was: “unlike client products and tools which can be changed or replaced rather easily, server-side products and technologies require a longer term commitment, and so part of making fair and balanced decisions about ColdFusion use necessitates that long term plans be taken into account, without that information the commitment is just too risky”. And they are right, there is a lot to be said for warm-fuzzies, server decisions have to feel right, and that goes beyond public statements and press releases and product specifics. ColdFusion MX, and the incredible investment that went into building it, is an important statement of commitment, but there needs to be more.
For me personally, the direction is clear. We have an incredibly compelling story to tell, probably the most compelling story that we’ve had in a long time. And all indications are that the story is getting out there, ColdFusion is doing much better now than it did say a year ago. With the recent release of ColdFusion MX 6.1 (tightening up ColdFusion MX, simplifying the editioning, and further embracing the world of Java and J2EE) ColdFusion is better poised for success than it has been a several years. Do I think that ColdFusion can see the stratospheric momentum of the late 90’s? No, definitely not. Nor can any technology or software or language, times have changed (and for the most part that is a good thing), and every vendor has had to come to grips with this reality. But at the same time, ColdFusion is doing well, applications are being built and deployed, experienced users are finding ways to push the product beyond what any of us imagined possible, and brand new developers are discovering the pleasure and productivity that is uniquely ColdFusion.
Sure, there are objections, there have been since day one. But unlike the earlier objections which took Herculean efforts to overcome, the current objections are actually easier to address, all it will take is an ongoing demonstration of commitment; commitment from partners, commitment from the developer community, and most importantly, commitment from Macromedia.
The case against ColdFusion has changed, but the ColdFusion story and value proposition have not. And each time I receive thankful e-mail messages from grateful users (and I receive these almost daily) I am reminded that we can, and must, overcome the current objections too.
As for me personally, I’m in this for the long haul, I’m still having way too much fun.