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.

23 thoughts

  1. While ColdFusion is great, the price tag certainly stunts its adoption. I can have a virtual hosting account for $14/month and get JSP/Servlets and PHP from several hosting companies. ColdFusion virtual hosting starts $25+/month universally. I would much rather spend a little more time on the programming side to save on the deployment side.

  2. Ben, great article thank you. I have been involved and still am in many decisions regarding what app-server to go with. What I see as one indication of ColdFusion’s longevity is the number of books out there on CF. Naive though this may be I assume that publishers see the promise of profits from the books they publish. In addition in the world of RIA’s CFMX and FLASHMX really have no peers as a combined platform, no one is anywhere near that level of integration and sophistication for RIA apps. And yes our future is very much nailed to the CF mast because we enjoy our day-to-day work and are doing well thanks to CF.

  3. That’s exactly what I expect to hear!
    Go for it Ben! We all have much more fun, work and things to do ahead than we can imagine.
    []’s
    Alex

  4. Where would ColdFusion be without Ben Forta? That’s the question I’d like answered.
    Great job Ben!

  5. First, I must say I totally agree, I am actually surprised that you had to even write about this. I assumed Macromedia made the CFMX java move because they saw the handwriting on the wall. I for one am VERY thankful to those at MM that pushed for this move. Without the java move, I don’t think I could honestly still be selling my customers on CF.
    The only complaint I have been seeing lately regarding cost is the new push for occasionally connected applications. We need some kind of low cost way of running ColdFusion as a single ip not connected application so that the same code can run locally when disconnected and work similar to how the app runs when connected. Yes I know developer edition runs like this, but the licensing would prevent any sort of distribution to customers. Any thoughts, or am I talking crazy.

  6. Thanks for the great article Ben. I agree 100%, the main concern right now is the long-term viability of ColdFusion. It’s not easy to address it, but I think MM can do a lot by communicating more about its road map for ColdFusion. One of the very few things I really miss from the old Allaire days is the fact Allaire consistently communicated their future plans for the server platforms, I don’t think MM is doing a good job on this.
    I understand the legal implications caused by talking about future products but, as you noted, server-side products and technologies require a long-term commitment. I can change tools, IDEs and the like in a matter of weeks, even days, but choosing a server-side technology will affect years. Such a commitment has to be sustained by a consistent flow about the future road map of the product.
    I think MM roots in tool developing are shoving their limits here, I don’t care about what next version of Fireworks or Dreamweaver will look like, it’s not critical for me, but ColdFusion is a different beast actually, even Flash, if you embrace it as a platform, requires a similar level of commitment, since it’s not *just* a tool anymore.
    I don’t have a solution for this, but I have the strong feeling better communication would help. I am with you, I think ColdFusion 6.1 is amazing and I am doing great things with it but in order to confirm my long-term commitment to ColdFusion is already time for MM to start telling me what’s next

  7. I agree, 6.1 version makes ColdFusion the best Application Server we could use, and his (low) price isn’t a real issue. For now, all things are wonderful, starting from the Macromedia and Community Support.
    As ColdFusion Developer, I feel a lack of trust to the future of ColdFusion. Now we are happy, but we don’t have a so clear idea on what will happen tomorrow. Java opens a new world for us, but now we are wondering if we have to invest our time in other technologies or not.
    Simply, we don’t know what Macromedia is planning to do for the incoming year with ColdFusion and ColdFUsion developer. Royale? Central? Which role will have ColdFusion? There are planning new important update? I guess no, because I don’t have any notice about them. But I’m not sure of this, because we feel always that Macromedia is hiding us something. That’s no a good way to trust the developers community.
    I could say the same things about JRun.
    (Ok, we don’t believe in a complete IDE for developing CFML: we have lost our best CFML editor, HomeSite, waiting for upgrades that never will come. That’s sad!)

  8. Giampaolo, as you (we discussed it on the italian CFUG) I am with you. I am already aware about future versions of WebSphere and WebLogic, with details about new features, even if I never visit IBM and BEA websites, the info were pushed so far that they managed to reach me anyway. I can also read about .NET 2 and I don’t even talk about PHP.
    IBM, BEA and Microsoft are talking about their products road map and plans, why MM can’t? Why we are left in the dark?

  9. I don’t buy into the argument that the first poster gave about spending more time on the programming side to save on the deployment end.
    If you take the given example that v-host account can be…lets say even $20 more a month for php vs CF…that only adds up to $240 saved over the course of a year.
    I dont know about you, but $240 doesnt add up to much development time for me.

  10. I agree with Jeff. If you consider a very modest rate of $60/hour you better hope the extra time spent not using CF doesn’t exceed four hours.
    I also disagree with Jeff. The MM CF Exchange has a lot of good stuff on it. However, I find that some other languages seem to have a lot of excellent (and free) "wheels" already invented. Nucleus (http://www.nucleuscms.org) is an example that comes to mind. It is a PHP MySQL based “blog” tool and it is very customizable and very high quality.
    These free "wheels" can be save huge amounts of time/money. To come up with a functional core like Nucleus CMS would take way more time than most of my clients would be willing to pay for. But they can afford to pay for some of my time to make some tweaks so it fits their needs. If Nucleus were ported to CF I would use the CF version in a heartbeat.
    One exciting CF "wheel" I recently discovered is the Open Source FarCry CMS (http://farcry.daemon.com.au). The CF community needs more and bigger free applications like FarCry CMS that will help drive adoption of ColdFusion. A collection of free little widgets on the MM CF Excahnge is nice, but some big apps would make using CF more enticing for a lot of developers.
    Maybe I need to broaden my horizons but I think FarCry might be the first of the “big” Open Source apps in the CF community. But the CF community doesn’t have a free Project Management tool like PHPCollab (http://phpcollab.sourceforge.net). PHPCollab created by the need for a SiteSpring replacement. SiteSpring was a Macromedia product. Why doesn’t the CF community have something like PHPCollab?
    Don’t get me wrong. I don’t think people should work for free. Yet there certainly are a lot of people putting their quality work out there for free. There are also lot of great small tools people have written in ColdFusion and generously shared as Open Source. Most of those free tools are widgets that don’t match the scale and complexity of something like FarCry or PHPCollab. My overall impression is that CF community is not as generous as other communities. Perhaps that is the cost, of the cost of CF.
    If I’ve forgotten to mention a “big” Open Source application written in CF I apologize. Please share.

  11. I’ve been involved with ColdFusion for 9 years since August. Long time.
    CF has never been better! Love it, use it. Hate it, don’t use it. Noone has nor will force it down your throat.

  12. FarCry is nice but consider that – in most (shared hosting) environments it would be difficult to even get it installed. I’m not giving up on it getting installed on my new RedSky server but won’t be putting all my eggs in the one basket.

  13. Great article! Although completely unnecessary to me, it can help new CF adopters to use CF without worries. After all, if a product is good and has huge success, are any other commitments words and speeches needed?
    Thanks Ben!

  14. Great article Ben! There is one thing I would really like to see, and that is a better scripting language. Actually, a language within the language. This way, developers that enjoy a script-like syntax could create entire applications through scripting. Believe it or not, I work with people that actually say they don’t like cf because it’s tag based and doesn’t *look* like a really programming language. As for me, I’m on the wagon. The CF wagon that is. Thanks again Ben!

  15. Some good points raised here. And even better – some good questions. I’m actually about to be in on some very important strategic discussions on choosing an app server and I think I’ve won the productivity debate.
    That said, I need to be armed with a better picture of where this product will be down the road (or if it will even be at all?).
    Macromedia is a great company with some very impressive products, but few would argue that the real bread & butter for them is Studio MX w/ an emphasis on Flash.
    In a nutshell: we need more confident guidance from MM. No news is not necessarily good news.

  16. I would add one other reason why ColdFusion has a great future – the support of the CF community and user Groups worldwide. An alternative language is no use to me if I can’t get help from my peers when I run into a problem.

  17. I love coldfusion, and i hope to die with a cf_beer mug in my hands.
    Unfortunately, my company is pushing away from coldfusion to java, So I must begin the extensive java and oo crap training to learn java.
    Why do companies get hooked onto languages, specifically because it is a newer language, therefore must be better. Rather than use the current language for which we already have personnel trained in.
    Why do they always seem to trust outsource companies more than their own personnel?
    Oh well, long live coldfusion!
    The Purist

  18. Just a note, although most readers of this probably already are aware of it, the issue of cost is addressed very well by the BlueDragon Server Free Edition (New Atlanta). I have used it with code written for CF 4.01, 4.5 and 5.0 with great success. Currently it is my local dev environment for CF and I am able to move the code to production CFMX servers with no problems.
    – Chris

  19. MM would go a long way with their developer community if they created a publically known poison pill to ensure they won’t ever sell out to Microsoft. You might say having the language on top of Java is already a poison pill, but this is microsoft, they’re known for acquiring technology they don’t even use just to kill it.
    I know it’s hokey to bring up the Microsoft/Macromedia dead horse, but this is something that sits in the back of a lot of peoples minds. The only thing keeping a lot of developers on CF and not PHP is that CF is not microsoft. If somebody said 3 months ago that microsoft would sue itself to rid its browser of the flash plugin, wouldn’t have people called that hokey as well? I think so, but it happened.

  20. I agree with Adam!! It’s not Microsoft, and that is the most important thing to me! Plus, it’s a good quality product with a successful past and a bright future. I will be using ColdFusion for years to come.
    Thanks, Ben for keeping everyone’s eyes focused on the important aspects.

  21. I have to admit that I’ve been retreating to the "safe" world of of learning java for the past six months. The fact is that ColdFusion makes more sense now than it did during the dot-com boom-time. In those days, budgets were unlimited and nobody would be fired for going J2EE. CF was more risky because it was not IBM, Sun or another product. Now that rational thought and ROI have come back, the fact is that you can build an app in CF in 1/3 less time.
    Java has a framework for building libraries that CF has struggled with…CFC’s take care of that to a large degree. Essentially, CFMX gives you most of the advantages (and maintenance efficiencies) of OO without all of the baggage of JSP/Servlet architecture. If you need additional libraries from Java, it has never been easier to include them.
    PHP has a community of evangelists, open source projects and a free server. This is much more formidable. However, they are mired in a problem that CF apps often suffer from: coding convenience is not an excuse for bad code. There are MANY examples of ugly PHP code just there are MANY examples of bad CF code. Because they do not have strict enforcement of coding rules and are easily approachable, many cut their teeth on these languages.
    The fact is that we need to be better evangelists for CFMX. We need a stronger community and we need to start sharing (i.e. Open Source). In that vein, I had the same question as Jeff: "Why isn’t there something like phpCollab" and started cfCollab on sourceforge (http://sourceforge.net/projects/cfCollab). We are just in the beginning stages but this type of project may make a difference in the longevity of CF.

  22. Ben, I’ll tell you why I left ColdFusion. First, I did so with a heavy heart. I loved it, still do. But it didn’t make sense anymore. My problems began with the first version of MX – my CF4.5 App wouldn’t port to MX. I opened a bug with Macromedia. They acknowledged it. Said they would fix it. They even refunded my incident charge. It never got fixed. I couldn’t get my app to MX because of poor support for Oracle. It just wouldn’t work. Oddly, dotnet and CF 4.5 supported my Oracle needs when MX could not. My app is still running fine on CF 4.5. So, we paid more than $5K for our first copy of enterprise MX in my development environment. Assuming I made it work, we were looking at the prospects of buying 9 more copies for my test and production servers. $50,000 in CF, when I could simply install dotnet on the exact same server for nothing. Explain that to the CFO. Just today I went to monster.com and did a cursory search using keywords "dotnet" versus "ColdFusion". dotnet won 1600+ to 139. The market for us CF developers just isn’t there like it was before. We made the decision, and left, not because we wanted to, but because we had to. I’m sure my story is not unique.

Leave a Reply