I have been a long term developer and supporter of the ColdFusion cause. I have been developing in the language for more than 10 years and have come to appreciate it as a convenient and reliable way to build web applications.
What is ColdFusion, may you ask? Well it is an application server language. In it’s day, people paid for this kind of thing, but these days application server languages are mainly free and/or cheap to install. However, Cold Fusion is not free, and it’s not that cheap. Anyway, that is beside the point.
The thing is, ColdFusion has not changed much in the last 5 years, well not in my mind, at least. When ColdFusion MX came out in 2004 it was groundbreaking, extraordinary. The whole thing was re-written in Java. While it was not as fast as it’s predecessors it became reliable, and so many new things were added on – component support, web services, native Java support – it was such a breakthrough that it made any later release seem like a bugfix more than anything else.
And in my mind that is exactly what CF7 was – a better working version of ColdFusion MX. Sure, it had some fluffy cfdocument tags thrown in and some minor syntax improvements but nothing revolutionary. CF8 introduced .net support and image manipulation, as well as better performance, but let’s face it, most people were using .net via web services (which is more standardised albeit less efficient) and using tools like CFC_Image to manipulate images. Furthermore, developers had started to adapt their practices to match the performance limitations of CF7, which, involved implementation of best practices anyway. So, CF8 wasn’t of any big help, to me at least.
It leads me to consider that Adobe has effectively “shelved” ColdFusion – some people are baffled by this concept but let me explain. Consider that Adobe sells 1000 copies of ColdFusion every year – lets face it that even this figure is ambitious considering that most people don’t need to buy a copy of CF every year and that many new projects are looking to start in Java or .net these days. Anyway, 1000 copies equals around 4 million dollars, given that all copies are the enterprise version.
However, Adobe would only receive half of this due to retail markup and distribution costs. Out of this comes marketing, admin, and support costs, which might leave around a million dollars for Adobe to play with. Consider that the average developer costs 100K per year and say that they have 5 or 6. Then there might be a manager or two, or even a tech lead who gets a little more – after all this Adobe might get a little profit – then there’s taxes… Which leads me on.
Adobe ask for around 25K for an enterprise license of LiveCycle, which, like ColdFusion is a Java based app that generates business documents (no, really) – Yet they can only ask around 4K for a ColdFusion license – why would this be so if Adobe hadn’t realised that about 4K is all they are going to get before they start scaring developers off? So it leaves them between a rock and a hard place.
Given that ColdFusion is pretty well established as an app server, in that it is relatively bug free and reasonably reliable – do they even need to continue development, or just shelve it and use it to push their *other* front end products? I would be leaning toward the second option.
Which leads me to the next point. In my mind, ColdFusion is “old hat” – while it was excellent in the 90’s and pretty good for the first half of this century, it’s becoming out-competed by the likes of .net and Java – not due to ease of development nor performance, but simply because more people out there know Java and .net – these languages are taught widely and are more trusted, simply due to the reputation of their respective vendors.
As said earlier, Adobe are between a rock and a hard place – and this is supply and demand in action – if they made it cheaper, more people would use it. However, then they would need to increase support and invest in their reputation as an application services vendor and for that they would need money, hence they would need to increase prices and effectively kill demand.