Scott Barnes talks ColdFusion 10

Posted by Neil on April 12, 2008

Now, I’m not wanting to start yet another “CF is dead, moan moan moan” thread running here, as frankly, I think they are a waste of everybody’s time and achieve nothing.  However, I would like to reproduce here a post that Scott Barnes, Product Manager at Microsoft for the Rich Client Platform Team, and Mr MossyBlog, has posted on the CFAussie list talking about improving the CF Community:

 

Yes, I did get promoted and thankfully no more Evangelism. I find the Evangelism scene, political, annoying and if i have one more heated debate with the competitors over something minor and trivial, I’ll retire and go paint landscapes..

My new role is Product Manager in the Rich Client Platform Team (WPF/Silverlight).


Now that’s out of the way.


Let me share some of my learned experience around technology adoption (specifically in Australia/New Zealand), and specifically brand awareness. Right now the benefits around why Coldfusion aren’t there, in that they may technically be there but the fact is there is limited marketing around the product and not just the product but also the community surrounding the product.


My previous role was an Evangelist, and i bet if i asked anyone on this list what does that mean, I’d get various answers. An Evangelist role within Microsoft is simple, help folks with new emerging technology not by ramming it down their throats, but simply connecting them to people. In that, it wasn’t my job to make you buy ASP.NET or adopt Silverlight, but if you showed an interest I’d connect you with some folks whom can either pay you to do the job, help you learn the technology or provide you with some overview/understanding of what the technologies we had offer could do. I’d also promote the new technology and with our team, do presos etc.. that and travel the world and attend really cool parties (but thats boring right). Evangelism is crucial to keeping technical communities alive, as it’s not only a contact sport but it’s one that scales quite well - if architected correctly. Find generals in the field, help them, support them, provide as much as you can to enable them to scale. Right now you folks don’t have Coldfusion Generals.


I mentioned at last years WebDU that Adobe should consider MVP programs or similar nature (I did myself no favours by doing this) and got laughed at, as if i was spreading some FUD around or something. MVP programs are extremely successful inside Microsoft communities, we ensure these folks are kept in the loop as much as possible and can call on the evangelists etc anytime should they need anything, some would say they are almost blue badges themselves. They also have no issue with beating us around the head should we screw up - some have and done really good job of it - we don’t punish them for it, we instead fix whatever the heck we stuffed up on and apologise (should it be our fault) as to punish them would cause 20,000 times more pain for us then the original problem causes (basic math right).

Some fun facts about MVP’s todate:

Worldwide there are more than 100 million participants in technical communities.
Of these participants there are only 4,000 MVPs located across 93 countries, spanning more than 30 languages and more than 90 Microsoft technologies. There has been a 10 percent to 15 percent MVP audience growth in countries such as China, Russia and Korea Over the past few years new regions with MVPs include the Republic of Congo, Ghana, Nepal, Macedonia and Macao In recent years, a handful of MVPs have been awarded in new categories such as MSN, Xbox, Visual Studio Tools for Office, Microsoft Dynamics and Visual Studio Team System.


MVPs are a diverse group that includes accountants, teachers, artists, government workers, engineers and technologists. Now, who’s laughing? I’m not. It takes a lot of work to get someone into the MPV program, and just because your the most popular guy/girl on a mailing list doesn’t automatically make you an MPV. It’s not whom you know, it’s what you know and I can say outloud, the paperwork internally to get someone on this program is an effort - but worth it in the end. My point is really raw and simple. Call it FUD, i don’t care - in fact i’d prefer to keep the politics out of this one. I spent a lot of years waiting for the Coldfusion scene to pickup. I like most of you at times took the crappy jobs while the market picked up, I also waited for Macromedia to finally get some budget to market and so on.. we got told a lot of promises and fast talkings at WebDU/MXDU’s of past and yet nothing much has occurred. Year after year the Coldfusion question would come up, same or similiar responses would pacify us for only so long…

eg:
Remember Suncorp high-fives? Guess how many CF developers are left - over to you Darren.

I raise this point simply to say guys, enough. You have got realistically limited choices:

- Start acting like a community and foster better relationships. Don’t bring in the same muffin eaters, look for new ones.

- Understand what motivates adoption in today’s market.

- Older generation developers switch to languages simply due to boredom, perception of no work and last but most important of all, lack of support by the brand whom owns the language. 

- WebDU should be bigger each year, but this year we’re not even attending simply because I couldn’t get an ROI story out of it. I’ll be honest, year on year we attend, we really get low value out of attending. We’d rather focus our energy on events like WD07, BarCamps etc as these folks are not only agnostic but open to technology discussion, less about brand politics. 

- Put more pressure on Adobe to get the budgets or better programs in place. I’m amazed that we in Australia have 13 Evangelists whom are kept busy 24/7 and Adobe has 0. One Evangelist for APAC? - how about you have your own local Adobe celeb to lead you instead of waiting for the US guys to fly out once a year? 

If you think this thread is doing my employer any favours, think otherwise and i’m sure i’ll get some feedback for it (Today is my last official day as Evangelist so i have a small amount of free reign here). I leave this as simply a parting gift to you folks before I head over to the US. I loved working in the Coldfusion space for many years, despite our petty email squabbles and thread wars - Taco Fleur, you’re still cool - there have been some real quality friendships made out of this community (actually most of my best friends are Coldfusion Devs from past) I’d hate to see that die off, but perception = reality and remember that. You can sit there and take it or whine about Microsoft all you like, but we didn’t create this problem and more importantly there was a reason why i simply down tools and went over to Microsoft not knowing a lick of .NET and it wasn’t to get one up on the Adobe/Macromedia crew.


That being said, my inbox is open to any whom wish to adopt .NET :)


Regards,
Scott Barnes
http://www.mossyblog.com

 

Any thoughts or comments - especially from Adobe, gratefully received…

Please Adobe, give us a public ColdFusion bug tracker 11

Posted by Neil on April 10, 2008

At the moment Adobe are giving out a whole load of JIRA love, the bug tracking system available from Atlassian (and quite understandably, it’s a cracking product) with the presence of their Flex bug tracker, and now, their Flash player system.

After a quick twitter conversation, it would appear that there is a lot of demand for a ColdFusion bug tracker, so we, the community, can communicate our issues and ideas back to the developers as we need.  The end result can only be a better, more robust, stable, and capable product for all.

Historically, these trackers have only been available during product alphas and betas, using the old mmbeta.macromedia.com system, which to be honest, is a pile of cack.  However, regardless of how bad the tracker, that communication was still in place.

So, come on Adobe, give us a bug tracker.  Transparency is the key.

If anyone agrees, please leave a comment below - consider this a petition.

ColdFusion 8.0.1 makes it to Macworld

Posted by Neil on April 10, 2008

I’ve just been nosing through some of the feeds I am subscribed to and was pleased to see that ColdFusion 8.0.1 got a mention on the Macworld.com website.

Although the article appears to be aimed at the not-so-tech savvy and even if it does smell of an Adobe authored press release, it’s still nice to see it out there being put in front of people not so familiar with the product.

The more people aware of the new evolutions the product is going through at the moment the better.

Look Ma!! ColdFusion* IS free AND scalable! 6

Posted by Neil on April 01, 2008

I thought I would write this article for two reasons, firstly as an effort to stomp on a couple of myths that are surrounding ColdFusion, and also to provide a neat little one stop round up to those who are interested in ColdFusion and what it can offer.

To give you a little in the way of background, ColdFusion harks back from the mid nineties and since then has gone through many different guises since then, ranging from the original Allaire product based on a C codebase, to the current range of options coming in both Java and .NET flavours.

Now, a quick jaunt back to the original ColdFusion if you will.  Allaire produced ColdFusion from July 1995 up until they merged with Macromedia in 2001.  In this time the product moved up to version 4.5 and it had a range of cool features, but it was somewhat hampered by the platform it was built on, a 100% C codebase.  This caused ColdFusion to get a little bit of a reputation (that you, dear reader, might still see as truth).  These versions weren’t overly performant, couldn’t scale that well, and suffered from a lack of any real component functionality other than the custom tag paradigm.  For some reason, this old version of ColdFusion appears to have shaped the reputation of the platform for the last seven years.  I’m not overly sure why this is so, but stuff happens.

Since the arrival of Macromedia’s CFMX 6.0 in May 2002, ColdFusion has been a whole separate beast to that that has come before.  For a start, it’s written in Java - it’s essentially a blooming great lump of servlets - so the scalability issues have definitely been addressed.  There are plenty of massive sites out there running CFML at their core, Adobe.com being one, MySpace, 192.com, parts of eBay and AOL amongst the many many others. Plus, CFML platforms are available from at least four seperate vendors, and comes in a variety of flavours.  

So, as you can see the current reputation of ColdFusion is pretty much now 100% unfounded, and there is plenty of press out there that will tell you the same thing if you care to look. But now we get to the crux of this article.  What’s out there for CFML and how much will it cost you (if anything)?

In a nutshell, there are four vendors out there that I am aware of: Adobe, New Atlanta, Railo and the Smith Project.

Adobe

This is considered as many as the primary (and for some, only) vendor of a platform for CFML - i.e they develop the product ColdFusion.  This is now in it’s eighth version with a ninth planned soon.  This is a Java based application that can be run on a variety of J2EE platforms such as Adobes JRun 4, Tomcat, JBoss et al.  This comes in two closed source versions, Standard and Enterprise ranging from around $1299 to $7499.  This is quite a significant wedge of money, but at the end of the day it is widely proven that the productivity of ColdFusion makes up for this.  However, paying for closed source software isn’t everyone’s bag hence there is some options also available from…

New Atlanta

These guys have been producing their BlueDragon CFML server for around six years now, and follows roughly the same development path as Adobe.  Bluedragon is definitely the major competitor to the market.  New Atlanta kick out several versions of Bluedragon:  for .NET (deployed onto .net instead of Java), J2EE, JX (a standalone Java version), BEA Weblogic Edition, Server (a free limited use version), and most significantly, a newly announced Open Source edition released under the GPL.

This brings forward several new things for CFML.  It’s now available for absolutely no outlay, and the code is open, which brings it into line with other options such as PHP or Ruby on Rails.  People should definitely consider CFML now that this option is there as it makes CFML so accessible.  Chances are that once you’ve given it a go, you’ll be hooked and wanting to try out some of the other editions out there.

Railo

Railo is a swiss company that produces it’s own CFML engine which comes in four different editions : Express (running on Jetty) - a version that requires no install, Server - similar to Bluedragon JX, and WAR for J2EE servers.  Railo is typically regarded as one of the quickest implementations of a CFML engine, and is well favoured amongst those in the know.  Railo is available for free, but only their limited functionality Community Edition. For more information on Railo, please visit their website.

Smith Project

Personally I don’t know a lot about Smith.  It’s open source, and developed in Java, but from what I have heard mentioned on the subject it’s currently very much under development and fairly immature.

 

So, as you can see there are plenty of options available, plenty of ways of getting powerful, scalable (and free if that floats your boat) CFML.  If you look at PHP, Ruby on Rail, ASP.NET or others without considering CFML you are definitely missing out.  Additionally, if you are already a CFML developer and moan about the cost and closed source nature of ColdFusion, you need to open your eyes a little and look at the other CFML options.

Nothing is as easy to write, easy to debug and easy to integrate with as CFML, period.

 

* By ColdFusion, I of course mean CFML, but a lot of people don’t know there is a difference.  ColdFusion is the product marketed by Adobe, whereas CFML is the ColdFusion Markup Language - the syntax.  As far as I am aware, Adobe hold no rights over CFML itself.

There is no silver bullet

Posted by Neil on March 18, 2008

I’ve been a little late to this party but I thought I would post my thoughts on the recent announcement by New Atlanta that they were making their Bluedragon J2EE product open source.

There’s been plenty of people commenting on this already covering pretty much every opinion there can be ranging from wholehearted enthusiasm to nothing but negativity.  There’s also been a couple of posts whereby people have completely misunderstood and thought New Atlanta were pulling out from the CFML market altogether.

So, what are my thoughts?  Well, in a nutshell it’s got to be a good thing for both us as CFML developers, and New Atlanta.  For them it’s undoubtedly a marketing exercise to produce a viable appealing alternative to CF8 that can act as a loss leader into the other NA CFML products.  Overall, awareness of Bluedragon has already increased, and will again once the infrastructure is in place to deal with the product being moved into the community.  More people will check it out to see if they can reduce their software costs, whilst others will take a look purely out of interest.

An interesting option that is raised is that of bundling.  It is now possible, assuming that all the licenses align properly, of bundling CFML products in with a web server, J2EE container and CFML engine - for no cost.  This could give rise to loads of virtualisation options with regard to things like Amazon EC2, as well as pre-baked CFML appliances.  Basically imagine where you are currently using CFML and think how you could change your distribution / pricing models by giving BlueDragon a shot.

But, so far, I’ve only talked about the fact the software is free (as in beer), rather than the fact that people will be able to browse and contribute to the codebase.  How will that effect the community?

In short, I don’t think anything will change in the slightest.  CFML developers are normally not Java developers and therefore pretty much unable to contribute - and all the Java developers out there don’t really have a vested interest in developing a CFML server, they’re gonna go for something that helps them directly such as Eclipse as Tomcat.

This has already been very much proved via the Smith project, a purely open source CFML engine.  At the time of writing this has roughly 60% language coverage coming from only a very small handful of developers.  This signifies that as interest from the CFML community goes - there is none.  Nobody seems interested in developing the platform in it’s open source nature, only the no cost.

So, why is this?  Well I can only think there’s two arguments here.  Firstly, the one of pricing.  Although CFML is very productive and pays for itself in the long term, there must be a number of low cost apps out there that sit behind firewalls that simply aren’t pratical to write in CFML.  For instance, take an app worth a couple of grand.  Why would anyone want to pay out another grand for the software - why would they not use something else?

The second argument is that of people adopting CFML.  There appears to be a line of thought that suggests that if CFML were free to all, then people will come flocking from other communities to use CFML.  Now, I hate to be blunt here, but they won’t.  A free CFML engine (as good as CF8) will make virtually no difference.

Why?  Well, think about it.

Put yourselves in the shoes of a PHP or ASP.NET developer.  What reasons would you have for moving for CFML? Why would you dump a platform that does everything you need for another?  There’s just not really any reason to do so.  These people are happy with what they have, they are happy with the size of the community and the help it gives, and they are happy with the number of jobs available to them.  For them, I don’t think CFML solves any problems.  Look at it the other way - why would you move to PHP?

Something I’ve noticed over the years as a CFML developer is that every six months or so, there’s a conversation across the whole community as to where CF is going.  Is it dead or not?   Is Adobe going to kill CF off or not?  How can we get more people using CFML?

To be honest, does any of it matter?

At the moment, CFML is a stable environment, and serves it’s developers well.  It isn’t a one size fits all solution, and there are things that other developers can do, which we can’t - but at the end of the day we all end up the same.  After all, there is nothing binding us to CF, we don’t have to use it for everything.  There is not some sort of sworn allegiance to CF that prevents us from using PHP/ASP.NET once in a while.

You simply must use the best tool for the job at hand.

There is no silver bullet.

Using jQuery and ColdFusion 7 with a little JSON glue 1

Posted by Neil on February 01, 2008

Yesterday, while presenting at the UKCFUG, a question was asked:

"How can I get ColdFusion to return me jSON encoded data, when I am still on version 7 and then use that data in jQuery?"

Well, I said I would blog the answer so it would be nice and clear, and this is that blog post.

In a nutshell, anything javascript loves jSON, the Javascript Object Notation (javascript speaking natively in simple terms). However, while in ColdFusion 8 you can easily get CFC's to return jSON encoded data, ColdFusion 7 did not include this, so we need to get a little more imaginative. Whilst not impossible by any means, it is definitely a little more tricky than in CF, so use that if you can.

To start off with, you obviously need some sort of function to get you your data to return to jQuery. Something like this should do:

[The requested file http://neilmiddleton.com/Mods/http://neilmiddleton.com/Mods/2008/02/cf 7_datasource.txt could not be found]

Now, thats a pretty simple function, nothing special at all. So how is this invoked? Well, one way of doing it is to create a gateway CFM file that calls your method and returns the result to the page (and this is by no means the only way). However, for this to render the data on the page it needs to convert it to something that takes the form of a string (jSON perhaps?). This is where you need to look at 3rd party code as there is no serializeJSON function in CF7.

Luckily, there is just such a bit of code, jSON.cfc . By using this we can convert pretty much anything into a jSON string for display. Like so:

[The requested file http://neilmiddleton.com/Mods/http://neilmiddleton.com/Mods/2008/02/cf 7_datagateway.txt could not be found]

So, now we have a URL that gives me some jSON data. All that is left is to write the jQuery to get this data and handle it. Luckily for us, that's real simple too:

[The requested file http://neilmiddleton.com/Mods/http://neilmiddleton.com/Mods/2008/02/cf 7_jsonscript.txt could not be found]

Put all this together (with Firebug in Firefox) and you should see the variable you set in CF appearing in your browser.

Now as I said, there are other ways of doing this, so have a think about what you're trying to do and you could probably find at least five other ways.

If you want to download jSON.cfc, it can be found here:

jSON CFC

Is ColdFusion a dirty word? 12

Posted by Neil on January 25, 2008

I've just got back from London's installment of the Flex 3 / AIR pre-release tour at the UK Flex user group in Shoreditch. Around 200 people turned up to listen to James Ward and Serge Jespers from Adobe talk about the upcoming Flex 3 and AIR releases. During the two hour session, BlazeDS was also covered for an hour (for some strange reason).

However, something got me (and a few of the other guys there) and that was the way that the Adobe guys talked when referring to the server-side. Only once throughout the entire session did either of the Adobe evangelists mention the C word (i.e. ColdFusion). To add to it, two demos were done of server-side interaction with Flex. One was in PHP, and the other Java. At no point was CF mentioned when in both cases it was an ideal platform (and a sister product).

What's with this? Adobe had the perfect opportunity, a room of a load of Flex developers, few of which were CF developers, who could have been told that CF was the ideal companion to Flex....or do Adobe not see it that way any more? Would they rather not mention it outside of the CF community?

I was also somewhat surprised afterwards when talking to some of the other Flex developers at the session. When told I was a ColdFusion developer most of the time, the response was generally one of surprise. Some of the comments made implied that these guys (who are surely in the Adobe / MXNA arena quite regularly) were somewhat surprised CF was still actively used.

This got me wondering, why is this? Well, I took a quick look at indeed.com's job trends graphing system for some sort of ideas as to the usage level with what seemed to be flavour of the night, PHP.


ColdFusion, PHP, ASP.NET Job Trends graph

Here's a chart showing the mentions of three technologies in job ads in the US over the last three (ish) years, ColdFusion, PHP and ASP.NET. Something for me stands out here, things are on the up for PHP and ASP.NET. Now bear in mind that the market is growing every day, more and more web developers are working worldwide than ever before so I would expect to see a growth. But...CF is a flatline. Surely this means that the number of ColdFusion jobs out there is actually diminishing as a percentage share of the web development market? Surely this means that ColdFusion is going backwards? I would hazard a guess that all those guys in the CF arena are those who have been using it for more than 3 years, and are perfectly happy with it, as they should be. It looks to me like there is no growth in the ColdFusion job market, and after seeing how the evangelists market it outside of the community, I'm not surprised.

Now, I'm not planning on kicking off a whole new "Is CF dead?" thread, they are largely a waste of time, but I do wonder if sometimes Adobe would rather it just went away leaving them to reap the rewards from the Flash Platform (the reason they bought Macromedia) and PDF and the creative tools.

As a footnote, I'm a ColdFusion developer, I have been for years and I like using it. I also have no problem finding new jobs.

ColdFusion Code highlighting with GeSHI 6

Posted by Neil on January 21, 2008

If like me, you are a ColdFusion developer using Wordpress as their blogging engine, you might have a need to occaisionally put code samples into your blog posts. With tools like Ray Camden's BlogCFC and ASFusion's Mango, this is very easy as they have been designed to do this from the start. However, in Wordpress you need to do some fiddling first.

Ultimately there are a few code highlighters out there that you can use, and I have chosen to use CodeViewer, which lets me upload files of code that then get converted into a nice highlighted form. From here I have a variety of options of things like allowing you guys to download that code in it's raw form. The highlighting is done via another plugin called GeSHI, the Generic Syntax Highlighter. This is a long term open source project designed to create a PHP based syntax highlighter that can be used from a number of other applications (such as Wordpress) and supports a vast range of languages such as AS3, T-SQL, ColdFusion and others.

However, after saying all this, the currently bundled CFML parser does not contain any of the new CF8 syntax, and has only a limited number of attributes listed. Therefore, I have sat down and updated the language file to include all CF8 tags, functions and attributes, which means that should you be using GeSHI, you should have no real problems with any of the new CF8 syntax.

To download the file, click here. I have also sent off the file to the GeSHI admins in the hope that they can include it in a future release. If you can see any problems, and need some help, please don't hesitate to contact me.

Download CF8 GeSHI Language File

My new favourite tag….. 5

Posted by Neil on December 13, 2007

Wait for it....

CFHTMLHEAD

"Is that all" I hear you cry? Maybe even a "WTF is CFHTMLHEAD?"..

Well, to quote the documentation:

"Writes text to the head section of a generated HTML page." Simple eh?

Adobe.com gets a facelift 3

Posted by Neil on December 07, 2007

Yup, the new adobe.com went live today, sporting a look mirroring that of the dev center.

Interestingly, ColdFusion is no longer listed on the front page (or the products page) as one of the top products, it's now buried in the drop-downs.