You can listen to the podcast and read the show notes here.
Michael: Welcome back to the show. I'm here with Thomas Grobicki. If I'm saying his name right. That looks really Polish there Thomas.
Thomas: Polish. So, you know a lot of different channels, but absolutely.
Michael: So, today we're going to be looking at the true ROI of using ColdFusion, and why that ROI may be much higher. And ROI just in case you didn’t know is “Return on Investment”. So, it's how much value you get out of using ColdFusion versus other languages. And how you can make the business case for using ColdFusion. Overcoming fears you might have about Adobe Eckstein the ColdFusion markets. Dealing with end of life cycle issues with features go away, [and we have a couple of features we're going to talk about going away, and how Thomas dealt with that]. And some horror stories he had migrated from C.F. 10 to 11 a few years back. So, welcome Thomas.
Thomas: Thank you very much. I appreciate the opportunity, and looking forward to sharing my enthusiasm for ColdFusion.
Michael: Me too, we’re here to help ColdFusion be more alive. So, I think knowing that ColdFusion has a good ROI is important because oftentimes even if developers, or CIO’s want to use a technology sometimes, they have to show that it has a good ROI.
Thomas: Right, right yeah, so again I grew up, I’ve been doing software development for a long time. But Avila has been doing ColdFusion for the last twenty years. So, our products are built on a ColdFusion basis. And a lot of times, people… I'm certainly evangelical about ColdFusion features, and things like that. But the bottom line is as a business owner, you have to make the case for why using ColdFusion is better than other alternative environments. And certainly, when you look at ROI factors like people frequently bring up the cost of ColdFusion and then something is free, and ColdFusion costs money. But I don't really ever judge things from that perspective. Yeah, it costs some money. But programming time and server outages, and other things that cost you customers are a lot more expensive than the relatively low cost of a ColdFusion environment.
Even if you're an enterprise user, I know people oftentimes talk about enterprise, and how expensive it is. But it's certainly not a factor when you look at the cost versus even if it saves you a small bit of time in developing your applications, and then it saves you way more than a small bit of time. So, that is certainly a big aspect of it. So, when we talk about ROI, I mean we usually bring it into bear product cost, lost opportunities, how quickly we can bring features to the market, how much effort it takes to build the application. You certainly have to look availability of resources. So, I have concerns about ColdFusion developers, and who's out there. But fortunately, ColdFusion is easy not to use that even if we have to train a new developer in it.
It's somebody who knows web technologies and Database Technologies, ColdFusion is usually not the issue. And when you talk about the cost of things like outages, and how easy it is the fix things. Even upgrading your applications which a lot of people may find as scary. But we frequently will get bug reports, and we have an automated bug tracking system that's built into our ColdFusion application that emails us whenever it encounters an issue. We frequently contact the customer that encountered that bug, and let them know that we've already fixed it before they even know a bug occurred. And we have used some of the database technology features in ColdFusion to create self-sealing databases.
And so, when we upgrade, the system automatically updates the database that it's running on to bring new application features online. All while everybody else is running. We've got hundreds of thousands of people running on our server. The only time we ever take our servers down is when we've run our web servers for so long that basically Windows required for you to read about every 45 to 60 days. So, there's hundreds that rollover, don't roll over well. So that's true, but I don’t want to disparage Microsoft. But its ColdFusion is has proven to be a very robust in the viable environment. And so, that all goes into the ROI calculations and certainly as a business owner, I have to make investments, and that's an important aspect of it.
Michael: So that's great Thomas. Let's just dig down into each of those things you mentioned. The first one was save development time. What do you want… Let's put a number on that even isn't totally accurate, but.
Thomas: Right, so I mean so, if people well, let's say a typical outage, okay. So, a typical outage. I mean we have customers. I mean you provide a sort of a guarantee of reliability to the customers. And they're paying you money for running some kind of an environment, and the environment is them. You have to in some cases the contract says you refund money so outages can cost you money.
Michael: And even if they don't cost money, they cost you reputation [crosstalk] [06:22] trust you.
Thomas: Right so, reputation and like I said our product reliability is a big factor, and we certainly sell ourselves as having a robust strong environment that causes few outages. And we fix problems without taking the server down all the time. So, that is a big factor with our customers. And we run lots of customers and they all know us as having a highly reliable environment that rarely [crosstalk]
Michael: If you're okay sharing it what if you did have an outage for an hour or so, what roughly would by end up costing you?
Thomas: Well I have you know…. I'm sure I want to share that. But you know so each customer has a different sort of we have different refund policies, you know?
Michael: yeah
Thomas: So, we have an S.L.A. that…
Michael: I mean are we talking the cost of a car, or the cost of a house?
Thomas: Probably more the cost of a car, right.
Michael: Okay, so it's pretty important to you that it doesn't do that.
Thomas: Yes so, we have guaranteed SLA's and the SLA isn't they you refund them for the hour you’re down. The SLA typically trigger things like your refund for the day, or you refund them for the week, or you refund them for the month, and those are different negotiated points, right. So obviously, some customers you refund them for the month. That can be a big if you have a long outage. I'm happy to say that we have typically experienced more a better than 99.8 uptime per month which is outstanding.
And that's not using any fancy technology in the hardware, and things like that. That’s simply running servers, and with ColdFusion applications. We rarely go down. I mean most the time we go down because we have to go down to patch Windows as opposed to patching ColdFusion, or anything like that. Certainly, we have the outages due to service releases for ColdFusion. But those are few and far between and minimal.
Michael: So that sounds like the reliability of ColdFusion actually saves you a lot of money, and that's a big chunk of return on investment for you.
Thomas: Absolutely, absolutely. The other the other thing too is I mean again, you look at how much a programmer costs you. Again they're a programmer, of a programmer, or all programmers right in the ColdFusion world. And so, programmers are expensive resources, and there are things in ColdFusion that you just get; web services. I got charting, just even the ability to query aspects of the database, migrating different database platforms, things that cost money, even things like testing, and the reliability of different releases of ColdFusion over different versions.
Those all cost money, you have to apply data, and program resources to that. Like I said, we spent a lot of time in making, building the ColdFusion applications. So, it's robust and it literally any time we get a ColdFusion error, I get an e-mail message, all right. So, that's what allows me to respond quickly. Obviously, if I was getting thousands of e-mail messages a day, I’ll be unhappy, right?
Michael: yeah
Thomas: And I don't. I get mail messages related to mostly some sort of data flaw that we didn't anticipate as an issue. But where we have our programmer jump on those, and like I said, we frequently the message that says to the customer. By the way, you're having a problem with importing this data, we noticed it. If it's a flaw in our program as opposed to procedural flaw on their part. We've already updated the fix so, try it again. And let me say customers are thrilled about that. No waiting…
Michael: oh yeah
Thomas: … days for something to happen. We're literally sit, and test it, and have it up on the site the same day.
Michael: That's great! So, if we had to put a percentage on how much quicker it is to develop in ColdFusion than say Java, or P.H.P. or some of the other languages out there. Let's just pull a number out of a hat, and make a guess as to how much [crosstalk] [11:40]
Thomas: I honestly think our programmers are 50 percent more productive, okay. I mean we… so characterize it. We were dot net developers, we were C. developer, C. plus plus. We’ve done development, and P.H.P., and Perl. Now, we've done development on a lot of different languages. And just the… while I know each of those languages have their own diagnostic tools. Just the fact that ColdFusion allows you to see where it's having a problem, and report to you, that gives us so much effort. And know oh, you've got to recreate the problem. I mean we were able to run a ColdFusion application with its built in diagnostics without trying to recreate problems, and trying to guess what the customer’s doing.
We have all of that recorded at the time the flaw occurs. It's got strong exception mechanisms, it's got threading, it's got all kinds of features that just make it easier for us to gather our diagnostics, and figure out what happened. And fix it without going to the customer and going through a lot of back and forth, and show me what you did, and everything like that. I mean we get literally our trouble tickets are emailed to us from the application telling us what's wrong.
Michael: So, 50 percent savings on time of coding be tens, or hundreds, or thousands of dollars depending on your team size.
Thomas: Right, absolutely. I mean again, every problem is a programmer that has to spend time at the programmer has to go reach the customers, schedule the time with the customer. I mean it's just hours of I’d say dead programming time. I’d rather my programmers be focused on fixing the code, or adding new features as opposed to not that we mind talking to our customers, but we like to talk to them about happy things not how to fix the problems. So, it's rare that we have to actually go back to our customers and consult them on the issue. And we have besides the automated system, we have course have an online system where customers can report troubles. And it's rarely used, and we don't often have customers actually going in manually, or reporting issues.
Michael: And then, you mentioned lost opportunity cost of delayed features to market. That’s because it's quicker to program in ColdFusion?
Thomas: Right so, one of the nice thing that we've been going, we've been ColdFusion user since ColdFusion won right. And we laugh about it, but typically, the new releases of ColdFusion have elements in them. As things like report writing, integrating reports, and applications, or multithreading, or web services. As those things came along even though the support for HTML5. As web security started getting more and more important, each release of ColdFusion brought to bear solutions that if it wasn't in ColdFusion, we would have had to write those ourselves. And consequently, if you have to write applications, or even the component mechanism.
I mean again, one of the languages we were used to be big on was Ada which had this notion of packaging, and that's a component in ColdFusion. And you can create components so, we created components for things like the style of tables we want to use, the pad formatting. So, a lot of our formatting elements are there and components. And we reuse those all the time, and accelerates our software development. And yes, and I know that there are frameworks there. I know there are a variety of ColdFusion frameworks. I guess we wrote our own framework because before there were all these frameworks that I know that people promote from ColdFusion.
We wrote our own. So, at this point, we don't feel like changing, but that just accelerates our development. So whenever we have to write a new feature, we have a ton of code that we just tap into. And typically, we always are excited about new releases of ColdFusion, and the kind of new set of toys that come with it that allows us to potentially release a new feature that would take us a long time to write from scratch. But there are elements in there that… I'm still waiting for that cell phone interface. I know that there are blogs that can do it, but I mean a cell phone interface if Adobe is listening.
Michael: I'm sure they are listening. I was talking to some people Adobe. I have an interview with Alicia from Adobe after this one so.
Thomas: okay
Michael: But let's see if we can put a number on this lost opportunity cost. So and just to explain to people listening, lost opportunity cost means that you might have had an opportunity; maybe you had small sales of products, or you could have sold to more clients. You didn't because you were delayed in developing the features.
Thomas: sure
Michael: If you we’re using a different language.
Thomas: right
Michael: So that if depending on someone's size of markets, and how much they sell their product for. That could be tens, hundreds of thousand dollars, even millions of dollars depending on how big your product is.
Thomas: I characterize it in two ways and because I mean lost opportunities mean you actually missed it because you didn't have a feature. And one of the… our normal approach to sales and marketing is to do tailor demos for the client. I mean when you obviously qualify among all those things. But usually, we listen to the problems of the client has, and we present them with our application. But rarely as an application the exact fit. There’re usually some special case that they're trying to deal with. And it's so easy for us to stitch into place. We've written our menus, and everything like that.
So, we could just drop a ColdFusion application or, hey GN, link it to our menu system and demonstrate a new feature, and see if you're not the full blown set of requirements that’s sufficient that literally overnight, or within a few days have a feature that we can demonstrate. I would say roughly half of our customers, we've won because after the fact, any never find this out if you don't know win. But if you win, you say well what attract, what was the deciding thing? And the people will say well, everybody gave us their can demo. And you gave us a demo that showed that feature that we were dying to have running in your application. The reason we were able to put that feature in as you write it, you drop it into the site, and it's completely separate.
So, it’s not like every other customers impacted, and we're able to link to it from our ColdFusion application that's got a capability of adding pages to excel. And suddenly, you can demonstrate features that are exactly what. In fact, we usually just demonstrate that one requirement because the bottom line is if they have a strong requirement, they want to see that one thing. So, the lost opportunity would be if you could demonstrate that, you're then competing against bigger, real small business, or you're competing against big companies that have got hundreds of developers. But if you can provide that perfectly tailored one requirement that they just haven't seen yet, they're attracted to you like flies to you know what so.
Michael: And I think that's a very common situation because my experience of working with off the shelf software is it only satisfies 80 percent of people’s requirements. And usually, the customization that has to happen always for these things.
Thomas: Right and again, the beauty of ColdFusion is that if you've got let's say a Java. I happen I know there are ways of writing Java, so you can dynamically load things and that. But there's a I know that we have some customers who we've used ColdFusion with dot net, and we're constantly restarting I.I.S. the bring the dot net app in, and doing strange stuff we used to be dot net developers in the early days, and vb.net, and we were constantly restarting things. And so, there's this hesitancy the then I have to keep separate servers that are dedicated to down timing, and things like that. Don't have to do that. I can demonstrate things on our demo servers. I don't have to take it down for other clients are using the demo servers.
I just drop it in, and it's there. They have the features there. And we've done major features. I mean we're not talking about little minor things. We've done major features. We had one client that insisted on having a address field that then linked to a Google map. Overnight linked to Google Maps, wrote it, dropped it in overnight using, guess what? That Google Map capability that's in ColdFusion. I think you came in eleven, maybe it's in 2016. I don't know. I live in so many different versions of ColdFusion. I don't remember sometimes where the feature popped up. But Google Maps is in there, it's very easy to drop one in, right? Way cool [crosstalk] [22:31] and they're doing applications. ColdFusion is really cool.
Michael: It is cool. So many built in things, and it works really well with other tools, other databases, other API’s so. So we've talked about safe development time, better reliability, saving on S.L.A. costs, saving on lost opportunity costs. Any all the things that come into this ROI equation?
Thomas: Well, it always come down, you always competing in this space. We talked I mean lost after to time to market for features. I mean and it's… If you can accelerate your development because I think that the Google Map examples is a perfect case. I mean writing a… we've read a number of interfaces to Google Maps. Again it's for different people. But we've used… Even the capability of dynamically expanding queries and writing queries that… So, we have standard tables that we use in our database and a customer frequently has special capabilities. So, we allow you to expand the tables. So basically, every one of our ColdFusion pages that uses reads and writes of those tables dynamically can pull in the extra data that’s specific to that customer, and the product.
And those are tough features to write in other languages. And believe me, we have some. We still maintain some legacy C. plus plus code which everybody says oh, C. plus plus is modern, right. Well, it is modern. I mean sure, but if you've got a body of code that you've written a long time ago, it's legacy. Doesn't matter what language you wrote it in. Legacy C. plus plus, ancient C. plus plus is hard to maintain even though probably you could rewrite it all, it's hard to maintain. Whereas we have code that we wrote back in CF 1 days. That's sure I'd love to rewrite it if I had a bunch of programmers, and a bunch of money, I'd rewrite it all, right. So, it's always as a programmer, and developer you want to have the prettiest code possible that's elegant, and uses all the latest software technologies. But the bottom line is you can never afford to do that.
So, it's very important that old code continues to run, and you don't have to go back and rewrite it all the time. We have old ColdFusion 1 code, and ColdFusion 2 code, ColdFusion 3 code, and lots of code written in various generation of ColdFusion that continues to run that we don't have to revisit. And we only revisit it if we say we have a major feature, and we want to rewrite the whole thing because we want to improve on something in a huge way. But it's very important to have that capability of not going back, and revisiting your early days.
Michael: So, that's the backwards compatibility that most ColdFusion versions have for old code.
Thomas: right
Michael: And let's see if we can put a number on that. I mean if you see that in other languages where there wasn’t such good backwards compound ability, and you have to do a lot of rewriting, or.
Thomas: Oh, the thing is that okay so, I'll use the C. plus plus as an example, okay. So C. plus plus per se. I haven’t looked at modern C. plus plus in a while. So, I may be saying stuff that's wrong for modern C. plus plus. C. plus plus doesn't have the notion of threads built into it, right. Threads is a separate, there's different environments have different kinds of threading technologies. And so, if you're on Windows, you use one kind of threads, if you're on UNIX you use another kind. And there are libraries, and there frameworks, and things like that. But these are all different things and frequently, one of the things that you fall into with things like P.H.P. is there are lots of libraries that you tend to use, and you start using them, and they're open source.
So, there are people developing them, and you say, well that's good. I can just grab this library, and use it, and it does some useful stuff. But there's also nobody controlling how that changes. So, we have frequently had to revisit, and redevelop older applications because suddenly, the library that we used to use is no longer available. And we are choices to take over the maintenance of that particular thread of the library, or update everything to use a new sequence, right. And that costs we've had that happen in just about every language. And again, we don't like taking over libraries and that's happened a number of times.
And that's a cost. I mean again any time you don't have to maintain a library, it's good. And so, when ColdFusion comes with support from HTML5, or some sort of web services, or the update, because there's a new way it's services, or they support integrating with dot net, or any of those things. Even the upgrade to which in our experience was useful to using Tomcat as an underlying mechanism; that was useful because again, you could do some Java things that you couldn't do before. So, those are all enhancements that would cost you a lot of development times if you had to maintain it yourself.
And again programming time is money. So, if I take a average developer, I'm going to give a number here which people are going to say oh that's way too high, or that's way too low. But let's say your developer cost you 10,000 a month, and not factoring in any other benefits in the United States and things like that. Now yes, you could probably find ColdFusion developers for 1,000 a month if you look really hard maybe not. I don't know. And 20,000 depending on the high cost area, but 10,000 is the number I use. How much did this ColdFusion enterprise cost?
Michael: About seven or eight, right.
Thomas: Yeah, seven or eight so, less than a month's worth the time for a developer. So, if even there's one feature in enterprise that you use that saves you let's say a half a month of the developer's time, and there's trust me, it's not even a half of money when you take developing, talking about it, how are you going to do it. ColdFusion enterprises is nothing, okay. Could you do that in P.H.P. or dot net? Yeah, absolutely, but the bottom line is I've used those other environments and that… It's just harder just by now. You know and people of course who are Dot Net developers I mean the problem with being the language is you tend to get a little bit evangelical. That's why I say go back to the ROI. Don't just take my word for it. Mapped out what it's costing you to do a feature, and see if it's better to do it in some other languages.
Of course if you're not familiar with ColdFusion, you might say well, we have to get all these programmers, and all that other stuff. But there are plenty of consulting companies that do ColdFusion developments. My guess is you get one of those and have them. You don’t have to rewrite the whole application in ColdFusion. That's another kind of thing that people say, “Oh! We have to rewrite everything in ColdFusion”. No, if ColdFusion is good at some feature that you don't have an application, ColdFusion supports web services, web application, do web services write it in ColdFusion, and link it in there. We communicate with lots of applications that are not read in ColdFusion. And we get used by a lot of applications that are not read in ColdFusion so.
Michael: I think we've made a great business case for picking ColdFusion for application development here. And I added up all those savings that we had there from dissaving develop a time, or a lot better reliability, avoiding lost opportunity cost by not having features ready, and the issues that you'd have with the padi libraries if you were using other languages. And the number I came up with if you're going to say 421.3 million depending on the size of your team, and how big the project is, and what's being done with it. I know these numbers are an estimate, but it is nothing compared to how much ColdFusion cost. And ColdFusion standards just over 1,000 dollars. So, even if I'm off by 50 percent on these numbers, you're still going to be way ahead by picking ColdFusion.
Thomas: Absolutely again, and even if you’re picking enterprise, but we use standard for a number of years, and most of the cases, we use standard for most of our clients [inaudible] [32:35] unless it's some very … There are features of enterprise that are important, but we tell people, people say what version to get. I just say get enterprise, its standard is good, and certainly if you've got 500, or 1,000 people, or something like that using your web server, you don't probably need more than standard. We're running routinely 100,000 people a day so. It's on, and until we had different servers, but we had some running standard again and we kind of always are making the case, so for utility. But with enterprise, we don’t have any trouble with that at all. It's just so [crosstalk]
Michael: Yeah, it's great! So, let's look at some of the other concerns people bring up when they're looking at using ColdFusion. One of them is the availability of ColdFusion developers. How do you suggest people deal with that?
Thomas: Well, again, there's an active ColdFusion consulting marketplace. You could tap into that. I mean it is difficult from the standpoint of attracting people to ColdFusion. It's if you use some environments, you're just going to have train people. But the thing is that I've taken developers who are not ColdFusion people, but were as long as they are web tech, web and database technology people. So take for the moment ColdFusion out of the picture. So, what do you need to know to write a web application? H.T.M.L., JavaScript, you need to know sequel, you need to know browser technologies, C.S.S., okay. I just mentioned four or five languages there, have nothing to do with ColdFusion, right. Now add ColdFusion into the picture, right. ColdFusion is the glue that stitches all that together.
So yes, you have to learn the syntax of ColdFusion. And you could hire a ColdFusion person, but I could take any scripting language developer. So Java scripting language, P.H.P., Perl, Ruby; any of those. And I could have them be productive in ColdFusion in a week. I'm not going to ask them to develop the trickiest ColdFusion framework blah, blah, blah. But I am going to say hey, I've got a database here. I've got a database table here, and I need it for this page to do this. They could do that. So people say well, I can't find developers, teach me all about ColdFusion. There's a lot of resources there. The documentation is great. There are good examples.
You can find tons of code, libraries online. To me, that's a kind of a red herring if you say you can't get. Of course one of our business lines is training people so maybe I'm a… don't mind investing in training. So yes, there's an investment there. But the bottom line is that there's ongoing investment, and training in any language. And you're still going to have to have all those other languages that I mentioned that are nothing to do with ColdFusion. And ColdFusion makes it easier for them to do those other things. So the bottom line is it’s have trust. I've struggled with writing queries in C. plus plus, and using frameworks for C. plus plus, the databases, and using all kinds of libraries for P.H.P., and databases.
It's tough, so and on top of that, you do get people who are, oh I use P.H.P. but I also use Mod this, and mod that. And so they come in and they've already used a bunch of libraries. So and they come in and they're upset that they don't see their favorite library is your library. And so in some sense you've got a neutral platform because you get a ColdFusion, and you train them in ColdFusion. They don't get upset that they don't have their favorite library from whatever environment they're coming from so.
Michael: I think it's more important that the programming skills that someone has and they asked you they have, then whatever the first language they happen to learn most.
Thomas: Absolutely and again, it's sort of like an undergraduate. If you have the opportunity go to college and undergraduate they usually have courses in languages, various programing. Here's a loop, here's this, and here’s that you got to graduate in computer science. They say we're using this language. They don't give you a training class in the language. They just assume that as a seasoned developer, you can learn the language in wiki right. Your first assignment in a sense some language you've never seen before. And believe me, I've had to do some squirrelly languages. If you've ever had to use lisp. I've got a background in AI lisp and some of the wilder AI languages. That's a tough language to learn.
Michael: It is a little unusual. Yeah, another concern people sometimes have is fear that Adobe will exit the ColdFusion market. Let's talk about that a bit, and how we can overcome that fear.
Thomas: Well, I mean I know we have a lot of customers that use it; ColdFusion. And a lot of big government customers, and things like that. So, Adobe maintains a lot of products. What I would hope that they would look at that marketplace, and sort of say there are still active people who like the technology, and applications that are written to it. To some advantage, there are open source; or not open source but things like what is… Blue Dragon, and other kind of ColdFusion like environments which again, have similar language elements. So, my feeling is I mean our applications are written in ColdFusion, and we've staked a lot of our company's future on that. But that's a risk. I mean that's a risk you have to evaluate. And like I said we've been using ColdFusion for 20 years.
I mean I remember discussions back in early ColdFusion 1 days when people were saying, “Oh! Perl’s going to take over the world.” And then, when P.H.P. came along, it was P.H.P. is taking over the world. And then, I think P.H.P. is now owned by somebody, right. Somebody took over P.H.P. So, there's a commercial company that does maintenance on P.H.P. And so, then Ruby on Rails has… it was going to take over the world. And so language evolves, and things change, and new languages come along, and Java is not… It's owned by a company, right. Oracle runs Java. So while, I don't think Oracle is going to abandon Java. Oracle could change Java to its liking and it's their product, so they can do that, right. So, I think again it's you have to make that business case.
But the bottom line is like any business case with any languages. You have to say is it worth the risk, and sort of say they've been around, and using it for a long time. And of course, the more people who promote it, and use it, and are interested in it, the more Adobe will say abide that market. So, let’s focus on the market and getting people excited about using it, and all columns out of the business case the more likely the business case is, the better it is. And believe me I would be happy… as I would be more unhappy if I had started using Perl way back when. And we made a decision to not use Perl and to use ColdFusion. I would be a lot more unhappy if we had made the decision to use Perl because again, I don't hear as much about Perl these days as I used to. And so, I don't know maybe there's a big market for it. I don't know.
Michael: No, but there’s still lots of sites written in it, and it’s still used to write scripts.
Thomas: Sure again, but the question is if you picked Perl; and like anything. If you pick the language well, I know there's one language that we were considering that I know that is completely almost off the market; it's gone away and so, again, we've been using ColdFusion for 20 years, that's a long time. And we hope to use it for another 20 years long past might develop.
Michael: So some of the other things that occurred to me while we were talking about why people kind of relax about Adobe staying in a ColdFusion market. I mean they've got a roadmap for ColdFusion and they extends out ten years. That suggests they’re planning to stay in the market for at least ten years which in terms of web development that’s… I mean web development years are like dog years, right?
Thomas: right
Michael: It's got to be several lifetimes of technology development. And I'm not sure exactly how many developers they have on the ColdFusion development team. But I'm pretty sure it's over 50. Someone will probably correct me on the exact number of. But I’m quite sure people invested in this.
Thomas: No, I mean you know we judge… part of the sort of judgment on the I know that there are every time a new release comes out, there are these people who jump on it and say oh look at this situation that must mean it's… they're not investing in it. And we kind of the opposite. We see features coming out, and new versions that are improvements, and show a level of investment that keeps us excited about using it. And makes our lives easier, and we like that. I mean we like that somebody is thinking about what's this, and what's coming down the pipe for again web applications that talk to data bases.
That's the environment that we live in. We both license our product to people, and ship it with a copy of ColdFusion, or provided it in our cloud service, and we need a robust scalable environment, and ColdFusion fits the bill. And I'm literally shipping ColdFusion to people who have never seen ColdFusion. We get it installed. I've never had a problem installing it on whatever cockamamie set up they provide me, and getting my application working. I mean that's the bottom line is I can get a ColdFusion application running on old Windows servers, other environments, UNIX, Linux.
Now we used to support all kinds of variants of UNIX with ColdFusion. We don't do that so much anymore, but Linux. And you know it works; flat out works. I can’t imagine trying to get application. We used to try to support with our C. plus plus application. We used to try to support all those, and we spent so much time trying to get it to run on all these different platforms, and testing, and all the platforms. And God, it was a nightmare!
Michael: I mean the other things I would say to overcoming this fear is that Adobe has the annual C.F. summit, and that costs them a lot of money to put on in Las Vegas. I've done an event in Las Vegas. It is not cheap. And they also next week, they're doing the developer week which is a free online training they provide. And then outside Adobe, I think if I counted them right the six ColdFusion conferences this year. So, lot of support out there. And I was talking to Charlie Arehart on the podcast the other day, and he said he'd heard from Adobe they're selling thousands of new C.F. licenses every quarter. That's no upgrades, that’s people new to ColdFusion buying ColdFusion licenses, and you've alluded to that a bit.
Thomas: Yeah, Charlie is a great guy.
Michael: He is a great guy. He's an amazing person. And does a lot for the ColdFusion community.
Thomas: absolutely
Michael: And then, the other two things that occurred to me. You've always got a plan B which you mentioned earlier. This open source ColdFusion. Lucee CFML is the leading one at the moment. So, that's open source. That's always going to be there. That can't go away.
Thomas: right
Michael: Open source software can never, never totally die. [Crosstalk] [47:14]
Thomas: Right so you know I mean I think we… I have staked a lot on having ColdFusion available and it's… So, I made the business calculation, and I'm not concerned.
Michael: yeah
Thomas: I mean it. People frequently bring that up to me. And again, people there are all kinds of myths around ColdFusion. And I usually quickly put those at the end and I will put our application up against any product similar to ours that from scalability, and performance, and reliability. It's funny how people misunderstand ColdFusion so.
Michael: It is, but we're here to help change that.
Thomas: yeah
Michael: So, one of the other concerns that sometimes people bring up is sometimes features go away, the end of life cycle features. And two we talked about earlier – one was the C.F. report builder, and the changes of C.F. chart. So, let's just briefly talk about those.
Thomas: Yes so yeah, one of the features of course we like to ColdFusion was the fact that we rarely had to revisit things in the migration from a ColdFusion 10 to 11. It changed the chart mechanism had to do with how you specify some of the settings of variables. It's a completely different underlying mechanism. You could do the same thing is just you had to rewrite that so that. That causes a little bit to some extent. And if I had one message for Adobe as well be careful about things like that, or I know they warn people, and about deprecating features, or changing features, and the documentation is usually good about that.
But it would be useful, and they have typically built into the server. They have this feature that warns you about incompatible elements, or deprecated elements, and things like that. It’ll be kind of nice if that feature would have a migrate those elements in there which wouldn't be too terribly hard to do. I mean we usually end up at least building a scanner to help us find, and replace those which is how we handle the charting mechanism. So again, that's of concern. They've added elements to enhance security like the encode for H.T.M.L., and codes for JavaScript, and things like that.
Well, to some extent, I wish that maybe they would just build that into the outputting mechanism; CF output. It knows when it's outputting stuff, and it knows it's outputting H.T.M.L. I mean they could put something in there. We just say encode stuff correctly. I know that that's not always feasible. But they have done elements for security, and security is becoming more and more important. So, we again have worked to enhance the security of written tools, to scan our software, and things like that. And there’re products that you can get that scan the byte code that gives you some understanding of the security of your application. But security is big, so the more they can do… And I know they've done efforts and the editing product. I don't remember. We don't use their editor, but what’s the name of those? ColdFusion builders, is that it?
Michael: Mm-hmm
Thomas: Scans for security flaws. But and one of the big concerns we have of course is with C.F. report that we we've gone from Crystal Reports to the ColdFusion report writer, and that's being deprecated. It still works, and we're still available for download, and you can use it. But the concern real we've invested heavily in and report writing not enough. If it was just a question of here, you have to rewrite your reports, or here we are going to have to migrate to another tool that. I don't care if that will cost money because that we have customers who have learned to use a C.F. report writer, and to write reports. Because our product allows them to upload reports to the system that they want to run. And so, that other deprecated features, that's a biggie.
I hope that Adobe revisits that decision and I understand I'm not married to the C.F. report writer tool. And I understand that it's technology that if they used to that was used to build that is dated which is part of their motivation. But I would love to see at least maybe a report writing tool that could generate C.F.R. files now. They don't want to do it. Maybe they could release the what's inside of those files which are an encrypted, and let somebody else like make a cracker writing a report writer that's compatible with that, or could at least help convert those files to some other technology. And again, most of what's in there is basically just you take a query, and you format it in some way, and so there are commands there to formats.
So, it's probably H.T.M.L. fiveish stuff, maybe some C.S.S., and then betted ColdFusion. That's essentially what the report writer allows you to do. Is take ColdFusion and put it into places in the report, and makes unique. And so, if you open that up and say I'm going to take a C.F.R. page, and turn it into a C.F.M. page, and convert the formatting into HTML5. But you can't do that unless you can get into the guts that. So, their choice is if they're not going to support the report writer is to open that, and make it available for other people. And I don't know what shape the report writers in, but I'm sure there are companies that might be willing to take on to development activities on it if they did want to do it.
Michael: And you said you had some trouble moving from ColdFusion 10 to 11. Was that because of these two features old that was some other things?
Thomas: Yes so, every release of ColdFusion there deprecated features, and deprecated features, they have a lot of… I forget what they call each level. But they have deprecated, so don't use it if you don't need to. But it's still going to work. Deprecated we think it's going away soon, and deprecated it no longer works, right. Now, it doesn't stop working as in it breaks necessarily, but it just doesn't do what it's was there for. Some of them are relatively minor. Some they drop some particular form element, or something like that. Again, I don't entirely understand. In some cases, the deprecated feature truly is awful, and may be causing a security problem all at other stuff. But the bottom line is tread carefully, and deprecating things.
And if you do deprecate something, make sure your scanner suggests an alternative, or a fix or something like that because again, some of the deprecated features seemed almost trivial in nature. But it's caused some heartburn. So again, their scanners is usually pretty good to highlight those. But like I said, we still have ColdFusion 1 code running. Thank goodness that they haven't changed the syntax of a lot of ColdFusion up to 2016. So, those things can sell work, but that's where some of those deprecated features that stop working do it or you know. And again, if you're new to ColdFusion, you probably won't use those deprecated features. But if you're old to ColdFusion, so it's not mainly impacting customers who are long standing customers. So, Adobe, listen to us.
Michael: Well, I'm sure they will be listening. So, let's change gears a bit, Thomas. And this is something I've been asking all the people on the show which is, why are you proud to use ColdFusion?
Thomas: Hey listen, I'm proud to use ColdFusion. I've built a successful company on ColdFusion, okay. So, maybe I'm proud of the successful company part of that more than ColdFusion. But the bottom line is that ColdFusion enabled me to build an application that sells, and sells well, okay. So, that alone. I built other companies on other languages, and those companies no longer exist. So again, if you sort of judge success by who brought you there, ColdFusion brought me here, okay.
And having a company that sells a software product for 20 years, and is striving is a testament to the underlying technology. And I can tell you that while we use other languages; and I mentioned some of those H.T.M.L., JavaScript, Java blah, blah, blah. The bulk of our products are written in ColdFusion, and that makes me proud to use it. And like I said, I'm actually proud that we were literally a ColdFusion 1 user. So, we used it for a long time back before Adobe owned it. It's been through several generations of companies. And an important aspect of our business. And I'm proud that it's enabled us to build a company; a successful company so.
Michael: Well, congratulations on that. Now, sometimes over the last ten years, I've read people saying ColdFusion is dying, and it seems to misquote Shakespeare; the lady doth protest too much because they keep saying it's dying. But it seems to be coming on and actually getting better.
Thomas: right
Michael: So but the question I have for you here is, what would it take to make ColdFusion more alive this year?
Thomas: You know I think that dying part is always levied, and some technical criticism, or something better. I mean the bottom line is I think that part of it is as being a little bit more evangelical about it. I mean you kind of get insulated, and you're using ColdFusion. And I know I haven't been a big participant in the conferences. I mean it's not just ColdFusion conferences. We just don't participate in conferences of any kind. You kind of get web marketing and things like that. So, I think that Adobe can do a great job promoting ColdFusion. But I think that all of us who are in the ColdFusion community can make it that much better. And I think the other thing is you need to go out, and not reach developers per se.
I mean developers treat language like their religion, or their framework, or like a religion. So, you're not going to necessarily convert somebody who is hard core, or dot net, or Java or whatever reason, whatever language they pick for whatever reason. That's a religion. But you can make the case to business customers about why using ColdFusion is a great choice. Why it's important to them. And I think that that is something that as ColdFusion businesspeople, we need to make that case stronger. Is what's the… why is it a great platform for application development? Adobe needs to make that case better. Everybody uses ColdFusion in the context of business these to make that better, and kind of promote the business angle. Because I think that case is very strong compared to other environments.
And again, everybody can make that discussion, but it shouldn’t be that ColdFusion is dying for these horrific reasons now. I mean the biggest one I see is people say, “Well, I can't get developers”. I just told you I could get a ColdFusion person up and running in ColdFusion in a week. So that argument about developers is dead, right. That should be like an F.A.Q. about why ColdFusion is a vibrant environment; should be there. And so, maybe the answer is you hand people P.H.P., and ColdFusion, and they have some sort of a contest with a problem. Solve this problem in the language, and who does a better job of it at the end I know they have those kinds of contests.
Michael: they do
Thomas: Put the ColdFusion team against the P.H.P. versus Perl. By the way, you can't bring your libraries, or something like that because again, it's got to be the language not the [inaudible] actually.
Michael: Not the library that you pull up.
Thomas: yeah, yeah
Michael: A hacker phone, I think that’s the word I was looking for.
Thomas: Right so again, maybe that's a little silly. But you people… The other thing is I mean people do promote languages. Back in many days ago, I used to be an evangelical about the language Ada which was a language being developed, and standardized for use in embedded systems. Which has to some extent gone away. It’s still being used. But and people, they kind of didn't market it. They didn't sell it. They kind of wrote applications in it. But you got to go to young people, and that grizzled veterans like me kind of have scars to prove they've developed in 50 languages. But go to young people and say, “hey here's an alternative”. Bring your internes in, and say here's a great language that you could use and promote it that way.
I mean again it's you get old ColdFusion developers by providing it to young ColdFusion developers, and promoting them to do that. And again, while I made the decision, that was the C.T.O. who made the decision to use ColdFusion 20 years ago when I founded Avila. It was before Avila [inaudible] [1:03:57] couple years before hand. So, but here I am 20 years later still using it, and I've use literally 50 computer languages. I use lots of bizarro languages that no longer exist. And I have to say that, and even though I'm a majority owner of the company, I still do development every day, and I love it.
So, I've used a lot of other languages including all the ones that other people; Perl, P.H.P., Ruby; I've used all those, and I just prefer ColdFusion. It's better, easier, faster, and from a business perspective, I can make more money using it. So, that alone is justification for me. But I think we have to as a community, kind of invest in younger people to expose them to ColdFusion. And they're going to you talk to programmers and coming out of school and they're going to use whatever language is plopped down in front of them. So, let's plop ColdFusion down in front of them, make them happy to do it, and show them that there's a path forward. And above all, probably, one of the concerns I hear when they say, ‘oh!’ It's because of course they're going to find if you do a search online, you're going to find what you just said, ColdFusion has been dying for the last ten years.
They get those one of the top ten languages, one of the languages that are dying. They can do those searches and find that. And they get concerned about if I'm a pegged in ColdFusion and I'm going to change jobs that somebody is going to say, “Well, you're not a Java developer.” And I say to them, “Look, there are all these other languages that you're going to be learning: sequel, HCML5, JavaScript, C.S.S. You're going to use Java in ColdFusion, you can use dot net. You can use tons of different things in ColdFusion; web services, all of that stuff you use in ColdFusion. And if you're concerned, I'm not saying don't learn to use P.H.P., or do some comparison, and contrasting between P.H.P. and ColdFusion.
But the bottom line is that if you go to a company and they say, “Oh you learn to use ColdFusion, and I can't use you on the P.H.P.” That's you probably don't want to work for that company because they're too narrowly framed. They're not looking at the big picture themselves. Because if I get a great ColdFusion developer, if indeed I was a P.H.P. thing I would say, “Okay, I'll give you a week to get up to speed on P.H.P., and come back to the office after taking these training courses, and be a P.H.P. developer.” That's what I say about ColdFusion. I don't say take a year. I say take a week, right. If you're a software developer you shouldn't have a problem transitioning to ColdFusion in less than a week; bottom line. Because all these other technologies are there, that's not ColdFusion. You shouldn’t have a problem learning a loop is a loop, right?
Michael: yeah
Thomas: You know loop and on top of that, you've got a tool that helps you write all that stuff. So, you shouldn’t even have a problem with the syntax. I mean and if you do, you've got this great debugger that tells you what you did wrong. So that's the bottom line is there's no excuse not to use ColdFusion so.
Michael: Great! Well, thanks for being on the show Thomas. If people wanted to find you online, what's the best way to do that?
Thomas: So, I'm on LinkedIn. So, you can find me on LinkedIn. And just use my last name. I'm probably out there, maybe some other Grobicki is on LinkedIn. I'm definitely one of the three, or four. And then, our website we have contact pages there, and you can reach me through those contact pages and if you want to talk to me that way. So certainly, that's a good way to reach me.
Michael: So, that’s avila.com. And we'll put those links in the show notes for the episode. So, along with all the other resources, and conferences, and things we mentioned, and the notes I took on what the ROI actually is. So, lots of details if you go to the [inaudible] [1:08:47] tech website, and look at the show notes. Anyway, thanks so much for joining us today.
Thomas: Thank you very much for the opportunity, and use ColdFusion.
Michael: I indeed
Thomas: Okay, talk to you later.