A Conversation With Jeremy Allaire
May 07, 2003 » by Brian Alvey
Jeremy Allaire is currently a Technologist-in-Residence at General Catalyst Partners, a venture investment firm based in Cambridge, but he is most widely known as the co-creator of ColdFusion. ColdFusion is a server-side Web development platform which was acquired by Macromedia where Allaire maintains the title Founder Emeritus.
In this conversation, Allaire discusses the origins of ColdFusion and compares it to competing languages like Active Server Pages, PHP and Perl. We also discuss Allaire’s career, his fascination with wireless technology, the value of blogs and Allaire’s role in the history and the future of the Web.
Why was ColdFusion created? What technology need did it solve?
ColdFusion was created for a basic need — to enable dynamic, data-driven Web sites that were easy to build and maintain. Back in 1994 my brother and I worked on a project for a Minneapolis-based media company, building an online community system for their Web site. It was a Web-based threaded discussion system, which was pretty novel at that time. It proved the Web architecture for us, and that it could be used to deploy real interactive software applications.
My brother JJ built the back-end using VB and Win-CGI on the EMWACS Windows NT Web server. I built the front-end and user interface. We learned a ton about Web applications and their architecture.
I then went on to a new project, a much more ambitious online service that would encompass lots of applications, personalization, community features, and was about to embark on learning Perl and CGI, when my brother decided to try and prototype a simpler approach. A few of us got together and talked about what kind of features and functions we’d need, and a couple of weeks later JJ had built the basics of the ColdFusion templating engine. I was able to build a threaded discussion system on it within a week or so.
What portion of the creation was yours and what was your brother’s?
JJ wrote all the code, and I provided mostly design and feature input. It was sort of like I was a hybrid customer manager and product manager and he led the architecture and engineering. Of course, there were many other people involved, including several people who ultimately joined Allaire, and who were, like me, driving the features and requirements for ColdFusion and providing the first wave of customer input to JJ.
What were the capabilities of the first version of ColdFusion?
ColdFusion 1.0 was written in C++ and only ran on Windows, initially supporting EMWACS and WebSite, which both supported WinCGI. It provided a few tags for querying, inserting or updating from any ODBC database, formatting the output into an HTML page and that’s about it.
What kind of competition did you have when you released Cold Fusion?
At the time, there were a few products either out or coming out that were trying similar things. There was something called DBWeb, which I’ll return to later, and something called WebDBC, which was really the closest competitor in terms of approach and functionality. Soon after that another company called Spider released a product, which was for UNIX systems.
Most of the early attempts to do database Web applications used a terrible approach, such as a GUI that would code-generate CGI apps. We used to do searches on the Internet for the CGI executable paths that were used for competitors, and we found that we were about 10-to-1 the installed base of our nearest competitor, DBWeb.
I read that another company came up with a Microsoft Visual Basic-based ColdFusion competitor which was acquired by Microsoft and was released later as the first Active Server Pages. The story made the point that ASP was created as a response to ColdFusion so this makes you responsible for creating “active” server scripting as we know it. Tell me about your role in the creation of the server-side scripting industry.
Yes, that’s correct. One of our early competitors was a company called Aspect Software, a Hawaiian company. Their product, DBWeb, was a VB application that would code-generate basic Web forms and database drill-downs. It really wasn’t very flexible and so I think didn’t do that great. As I mentioned, our own research showed we were out-selling them about 10-to-1 in adoption.
They reacted to ColdFusion with a new product that they were calling iPage, code-named HotLava. It was essentially the same programming model as ColdFusion, but instead of a tag-based language, it used Visual Basic scripting using a licensed VBA engine. That company and beta-product were acquired by Microsoft in the spring of 1996, and later that year that team launched Active Server Pages.
The other early competitor, Spider Technologies, was focused on the “high-end” with a $5000 product that did basically the same thing as DBWeb. They later re-focused away from C++/UNIX code generation to custom server-side Java and renamed themselves NetDynamics. They were later acquired by Sun Microsystems and withered on the vine.
The really interesting part of this story, of course, is the Microsoft piece. Back in the late fall of 1995, Microsoft contacted us at the direction of Adam Bosworth, who was working on their server-side strategy. He was looking for an acquisition. We declined to really even talk with them about the option, because we were having too much fun and it just didn’t seem like the right thing to do. A few months later we saw the Aspect Software acquisition, and that certainly got us scared.
I’ve gotten to know Adam Bosworth over the years, and he later told me that we were his top choice both because of our early perceived leadership and our tag-based architecture. He also told me that he was advocating back then for a tag-based architecture rather than a VB-centric language architecture, but politics won the day at Microsoft and ASP stayed with a VB-centric model. Had that not happened the life of ColdFusion and Allaire would have been much shorter, without a doubt.